 |
Bin Ren
|
Hi, I'm Bin, a third-year Ph.D. student in the Department
of Computer Science and Engineering. My advisor is
Professor Gagan Agrawal. My research interests include high
performance computing, parallel computing, compiler static analysis, run-time
analysis, data intensive and data mining algorithms.
Research Projects
- Currently, I'm working on:
i. Irregular I/O optimization using prefetching method with Professor
Agrawal;
ii. Irregular data structure optimization by data parallelism and operation
parallelism with
Dr.
Mytkowicz in Microsoft Research.
- Compiling Dynamic Data Structures in
Python to Adapt HPC Applications
Python is a well-known programming language for its high productivity and short
study curve. Its performance is the main obstacle for widely usage in HPC
community. In this work, my main objective is to combine Python with low level
HPC infrastructures to achieve both easy programming and high performance. Our
contribution includes:
i. Build a translation framework to translate the dynamic data
structures in Python to low level dense data structure that can be used by low
level multi-core/many-core HPC environments;
ii. Design a novel Inter-procedural Partial Redundancy Elimination
algorithm to reduce the overhead during the data structure transformation;
iii. Implement the framework and evaluate it by K-Means, PCA, DGEMM and Tensor
Multiplication applications in FREERIDE multi-core and CUDA environments.
Related Publication:
Bin Ren, Gagan Agrawal, Compiling Dynamic Data Structure in
Python to Enable the Use of Multi-core and Many-core Libraries, the 20th
International Conference on Parallel Architectures and Compilation Techniques
(PACT), October, 2011 (Accept Rate: 16%).
- Compiling Chapel down to FREERIDE
Middle-Ware
Chapel is a high-level programming
language developed by Cray Inc. and FREERIDE is a Map-Reduce like High
Performance Computing (HPC) middle-ware for data-mining and data-intensive
applications. To utilize the high productivity of Chapel and the high
performance of FREERIDE, a translation mechanism based on compilation technology
is established. In this project, our contribution includes:
i. Present a case study for the possible use of a new HPC language,
Chapel, for data-intensive computations;
ii. Develop a linearization-mapping algorithm to translate the high level
data structure in Chapel to the low level dense data structure that can be used
for FREERIDE;
iii. Build a compilation framework and evaluate it by two data mining
algorithms: K-Means and PCA.
Related Publication:
Bin Ren, Gagan Agrawal,
Brad Chamberlain, Steve
Deitz, Translating Chapel to Use FREERIDE: A Case Study in Using an HPC
language for Data-intensive Computing, the 16th International Workshop on
High-Level Parallel Programming Models and Supportive Environments (HIPS) held
in conjunction with IPDPS, May, 2011, (LCPC2010 Poster).[pdf]
Teaching
Activities
- Spring 2011, CSE756 Compiler Design and Implementation, grader;
- Winter 2011, CSE721 Introduction to Parallel Computing, grader;
- Autumn 2010, CSE621 High Performance Computing, grader;
- Summer 2010, CSE459.23 Programming
in Java, CSE459.22
Programming in C++, instructor;
- Spring 2010, CSE459.22
Programming in C++, instructor;
- Winter 2010,
CSE459.23 Programming in Java
, instructor;
- Autumn 2009, CSE621 High Performance Computing, grader;