Dong Chen


Room 2209, Wegmans Hall
Department of Computer Science
University of Rochester
Rochester, NY, 14627
Email: dchen39 AT cs DOT rochester DOT edu

Education

Research

Static locality analysis for parallel code (Ongoing)
This work is aiming to provide a locality model that can be used to predict the cache performance of parallel codes (OpenCL, CnC, etc) statically in compile time. A static model based on array index analysis and footprint locality theory is built with consideration of execution orders of parallel tasks. This model is implemented as a LLVM analysis pass. It can potentially help performance tuning for parallel programs and help to improve the task scheduling.
Write locality and its optimizations for persistent memory
Persistent memory is a disruptive technology that drastically reduces memory cost and static power but introduces the problems of slow writes and limited write endurance. An effective solution is caching. However, existing cache has been designed for fast reads. It does not minimize the number of writebacks from cache to memory. This work proposes a metric to quantify the write locality and a theory to analyze and optimize write locality. It includes a linear-time algorithm to predict the write-back frequency for all cache sizes. In shared cache, it predicts the number of writebacks for co-run programs based on sole-run profiling.
OpenCL Performance Portability
Targeting on different computing devices with different architectures (CPU, GPU, MIC), optimizations to improve performance of OpenCL programs are summarized. A performance concerned code transformation (from fine-grained program to coarse-grained program) is being studied.

Publications

Courses

Fall 2014: CSC 400 (Problem seminar), CSC 453 (Dynamic language and software development), CSC 456 (Operating system), CSC 486 (Computational complexity)
Spring 2015: CSC 446 (Machine learning), CSC 484 (Advanced algorithm), CSC 579 (Cache memory)
Fall 2015: CSC 444 (Logical foundations of AI), CSC 481 (Introduction to cryptography)
Spring 2016: CSC 458 (Parallel and distributed systems), CSC 455 (Software analysis and improvement)
Fall 2017: CSC 573 (Topics in Systems for Heterogeneous Architectures)

UR Library | UR HRMS | Gym Hours | Campus Calendar | UR Registrar | URCS People | URCS Home Page