Research Project Title:
Unlocking the Potential of Multicore Systems
abstract:Parallel computing is used to speed up programs by 100-1000x, but current multicore processors are often unable to harness the full potential of parallelization with current hardware. Multithreaded programming is too difficult/error-prone. The Swarm architecture implements hardware task management to apply speculative parallelism and exploit ordered irregular parallelism. Current results show significant speedups, however, Swarm requires manual tuning of task boundaries and thus doesn't generalize well. In this project, I will improve and generalize the Swarm compiler by determining optimal task boundaries. We expect to model some of these decisions and thus incorporate changes in the compiler, as well as formulate a guide for making higher-level choices about algorithms/data structures.
"I am participating in SuperUROP because I want to gain higher level research experience in computer architecture. Through this project, I hope to apply my knowledge from computation structures and other programming/algorithms courses to expand our understanding of the limits of speculative parallelization. I am excited to delve deeper into the low level operations and systems that contribute to the speed and capabilities of computers."