AlgoPARC Projects


We are working on developing efficient algorithms for modern parallel systems, such as multicores, GPUs, clusters, and cloud computing.

We are looking for bright and self-motivated undergraduate and graduate students to work on the projects below. If you are interested in joining our research group, please contact Prof. Nodari Sitchinava.

Cache-efficient Parallel Algorithms


PEM Model

Modern multicore systems come with up to a TB of RAM these days. However, such large memory comes at the cost of slow access, compared to the speed of individual cores. To hide the latency of access to slow RAM, modern multicore processors come with faster, but much smaller caches. Thus, for optimal performance, it is very important to intelligently utilize these limited faster caches.

In this project we develop and implement new parallel algorithms which efficiently utilize available caches. We also study the limits of parallel computation in the presence of caches. Knowledge of parallel programming is a plus, but is NOT a prerequisite to start working on this project.

Relevant courses: ICS 311, ICS 432, ICS 443, ICS 621, ICS 643, ICS 691C.

GPU Algorithms


GPU model

Graphics processing units provide a lot of parallelism and computational power. A lot of GPU research is via trial and error. We are looking at modeling GPUs to be able to predict which algorithms and techniques will lead to efficient implementations.

GPUs also utilize faster caches. Thus, the techniques developed as part of the “Cache-efficient Parallel Algorithms” project above are also applicable here.

The research in this project involves developing new parallel algorithms and implementing them on NVIDIA GPUs using CUDA programming language. Knowledge of CUDA is a plus, but is NOT a prerequisite to start working on this project.

Relevant courses: ICS 311, ICS 432, ICS 443, ICS 621, ICS 643, ICS 691C.

MapReduce Algorithms


Hadoop MapReduce

Google’s MapReduce and its open-source implementation, Apache Hadoop, have emerged as a simple programming frameworks for implementing distributed algorithms. In this project we develop distributed algorithms and study the limits of computation in the MapReduce framework.

Relevant courses: ICS 311, ICS 443, ICS 621, ICS 643, ICS 632, ICS 691C.

Asteroid Detection


Stars in the sky

In partnership with the ATLAS and Pan-STARRS projects at the Institute for Astronomy we are working on improving the speed and accuracy of asteroid detection algorithms.

This projects involves using geometric data structures to organize the data in the images of the sky for efficient processing and detection of moving object.

Relevant courses: ICS 311, ICS 621, ICS 691C.