Towards a Portable Execution Model for Extreme Scale Multicore Systems

Vivek Sarkar Rice University Department of Computer Science P.O. Box 1892 Houston, TX 77251 United State
Wednesday, 21 Jul 2010 (all day)
Lecture Theatre (AG-66)
The computer industry is at a major inflection point in its hardware roadmap due to the end of a decades-long trend of exponentially increasing clock frequencies. Computer systems anticipated in the 2015 -- 2020 timeframe are referred to as Extreme Scale because they will be built using homogeneous and heterogeneous many-core processors with 100's of cores per chip. These systems pose new critical challenges for software in the areas of concurrency, energy efficiency and resiliency. Unlike previous generations of hardware evolution, this shift towards many-core computing will have a profound impact on software. These software challenges are further compounded by the need to enable parallelism in workloads and application domains that have traditionally not had to worry about multiprocessor parallelism in the past.

An execution model serves a valuable role in providing a shared conceptual view for all stakeholders in a computing platform ecosystem. Successful execution models from the past (e.g., Von Neumann, vector parallelism, SMP parallelism, Bulk-Synchronous parallelism) were built on primitives that were well matched with past device, architecture, and software technology trends, but are mismatched to future multicore systems where performance has to be driven by parallelism and constrained by energy. In this talk, we identify key primitives that we believe will be necessary for a successful execution model for future extreme scale systems. We will discuss the portability of these execution model primitives based on their ability to support multiple programming models and their amenability to be mapped to a wide range of extreme scale hardware.

We present early experiences with these execution model primitives in the Habanero Multicore Software Research project at Rice University which targets mainstream homogeneous and heterogeneous multicore systems, and discuss future directions in the context of the NSF Expeditions project on the Center for Domain-Specific Computing ( which targets embedded systems with an initial focus on the medical imaging domain. Both projects takes a two-level approach to programming models, with a higher-level macro-dataflow model based on Intel Concurrent Collections (CnC) for parallelism-oblivious domain experts , and a lower-level task-parallel model based on the high productivity X10 language for parallelism-aware developers. We discuss language, compiler and runtime implementation challenges that must be overcome to efficiently support these primitives on future mainstream and embedded multicore systems.

Bio: Vivek Sarkar conducts research in multiple aspects of parallel software including programming languages, program analysis, compiler optimizations and runtimes for parallel and high performance computer systems. He currently leads the Habanero Multicore Software Research project at Rice University, serves as Associate Director of the NSF Expeditions project on the Center for Domain-Specific Computing, and as co-PI on the DARPA-funded project on Platform-Aware Compilation Environment (PACE). Prior to joining Rice in July 2007, Vivek was Senior Manager of Programming Technologies at IBM Research. His responsibilities at IBM included leading IBM's research efforts in programming model, tools, and productivity in the PERCS project during 2002- 2007 as part of the DARPA High Productivity Computing System program. His past projects include the X10 programming language, the Jikes Research Virtual Machine for the Java language, the ASTI optimizer used in IBM's XL Fortran product compilers, the PTRAN automatic parallelization system, and profile-directed partitioning and scheduling of Sisal programs. Vivek became a member of the IBM Academy of Technology in 1995, the E.D. Butcher Professor in Engineering at Rice University in 2007, and was inducted as an ACM Fellow in 2008. He holds a B.Tech. degree from the Indian Institute of Technology, Kanpur, an M.S. degree from University of Wisconsin-Madison, and a Ph.D. from Stanford University. In 1997, he was on sabbatical as a visiting associate professor at MIT, where he was a founding member of the MIT RAW multicore project.


[1] Habanero Multicore Software Research project (
[2] Habanero Concurrent Collections download (
[3] Habanero Java download (
[4] Overview article on Software Challenges at Extreme Scale ,