The Constellation Project
unifying software and hardware for performant and frictionless heterogeneous parallelism
Parallelism should be frictionless, allowing every developer to start with the assumption of parallelism instead of being forced to take it up once performance demands it. Considerable progress has been made in achieving this vision on the language and training front; it has been demonstrated that sophomores can learn basic data structures and algorithms in a “parallel first” model enabled by a high-level parallel language. However, achieving both high productivity and high performance on current and future heterogeneous systems requires innovation throughout the hardware/software stack. This project brings two distinct perspectives to this problem: the “theory down” approach, focusing on high-level parallel languages and the theory and practice of achieving provable performance bounds within them; and the “architecture up” approach, focusing on rethinking abstractions at the architectural, operating system, runtime, and compiler levels to optimize raw performance. Constellation has roots partially in the Interweaving Project.
Faculty and Research Scientists#
- Peter Dinda (Northwestern (project PI))
- Umut Acar (Carnegie Mellon (PI))
- Simone Campanoni (Northwestern)
- Nikos Hardavellas (Northwestern)
- Guy Blelloch (Carnegie Mellon)
- Mike Rainey (Carnegie Mellon)
- Kyle Hale (Illinois Institute of Technology)
Ph.D. Students and Postdocs#
- Enrico Deiana (Northwestern)
- Griffin Dube (Northwestern)
- Brian Homerding (Northwestern)
- David Krasowska (Northwestern)
- Tommy McMichen (Northwestern)
- Kirill Nagaitsev (Northwestern)
- Connor Selna (Northwestern)
- Yian Su (Northwestern)
- Brian Tauro (Illinois Institute of Technology)
- Nick Wanninger (Northwestern)
- Sam Westrick (Carnegie Mellon)
- Michael Wilkins (Northwestern)
- Yankai Jiang (Northwestern)
- Jiaxiang Li (Northwestern)
Undergrad Students and REU Students#
- Luke Arnold (Northwestern)
- Peizhi Liu (Northwestern)
- Nadharm Dhiantravan (Northwestern)
- Thomas Filipiuk (Northwestern)
- Karl Hallsby (Illinois Institute of Techology)
- Kevin McAfee (Northwestern)
- Sean Rhee (Northwestern)
- Carson Surmeier (Northwestern)
- Garrett Weil (Northwestern)
- Ruiqi (Jerry) Xu (Northwestern)
- M. Wilkins, G. Weil, L. Arnold, N. Hardavellas, P. Dinda, Evaluating Functional Memory-Managed Parallel Languages for HPC using the NAS Parallel Benchmarks, Proceedings of the 28th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2023), May, 2023.
- M. Wilkins, S. Westrick, V. Kandiah, A. Bernat, B. Suchy, E. Deiana, S. Campanoni, U. Acar, P. Dinda, N. Hardavellas, WARDen: Specializing Cache Coherence for High-Level Parallel Languages, Proceedings of the IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2023), February-March, 2023.
- E. Deiana, B. Suchy, M. Wilkins, B. Homerding, T. McMichen, K. Dunajewski, P. Dinda, N. Hardavellas, S. Campanoni, Program State Element Characterization, Proceedings of the IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2023), February-March, 2023.
- V. Kandiah, D. Lustig, O. Villa, D. Nellans, N. Hardavellas, Parsimony: Enabling SIMD/Vector Programming in Standard Compiler Flows, Proceedings of the IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2023), February-March, 2023.
- M. Wilkins, Y. Guo, R. Thakur, N. Hardavellas, P. Dinda, ACCLAiM: Advancing the Practicality of MPI Collective Communication Autotuning Using Machine Learning, Proceedings of the 24th IEEE Conference on Cluster Computing (Cluster 2022), September, 2022.
- A. Matni, E. Deiana, Y. Su, L. Gross, S. Ghosh, S. Apostolakis, Z. Xu, Z. Tan, I. Chaturvedi, B. Homerding, T. McMichen, D. August, S. Campanoni, NOELLE Offers Empowering LLVM Extensions, 2022 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), 2022. [paper]
- N. Wanninger, J. Bowden, K. Shetty, A. Garg, K. Hale, Isolating Functions at the Hardware Limit with Virtines, Proceedings of the 17th European Conference on Computer Systems (EuroSys 2022), April, 2022.
- B. Suchy, S. Ghosh, D. Kersnar, S. Chai, Z. Huang, A. Nelson, M. Cuevas, A. Bernat, G. Chaudhary, N. Hardavellas, S. Campanoni, P. Dinda, CARAT CAKE: Replacing Paging via Compiler/Kernel Cooperation, Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2022), February-March, 2022.
- J. Ma, W. Wang, A. Nelson, M. Cuevas, B. Homerding, C. Liu, Z. Huang, S. Campanonoi, K. Hale, P. Dinda, Paths to OpenMP in the Kernel, Proceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC ‘21), November, 2021.
- M. Wilkins, Y. Guo, R. Thakur, N. Hardavellas, P. Dinda, M. Si, A FACT-based Appraoch: Making ML Collective Autotuning Feasible on Exascale Systems, Proceedings of the 2021 Workshop on Exascale MPI (ExaMPI 2021), November, 2021.
- K. Hale, S. Campanoni, N. Hardavellas, P. Dinda, The Case for an Interwoven Parallel Hardware/Software Stack, Proceedings of the 11th International Workshop on Runtime and Operating Systems for Supercomputers (ROSS 2021), November, 2021.
- P. Nookala, P. Dinda, K. Hale, I. Raicu, K. Chard, Extremely Fine-grained Parallelism via Scalable Concurrent Queues on Modern Many-core Architectures, Proceedings of the 28th IEEE International Symposium on the Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS ‘21), November, 2021.
- X. Zhang, T. Jones, S. Campanoni, Quantifying the Semantic Gap Between Serial and Parallel Programming, 2021 IEEE International Symposium on Workload Characterization (IISWC), 2021. [paper]
- K. Hale, Coalescent Computing, Proceedings of the ACM Asia-Pacific Workshop on Systems (APSys), 2021. [paper]
- M. Rainey, R. Newton, K. Hale, N. Hardavellas, S. Campanoni, P. Dinda, U. Acar, Task parallel assembly language for uncompromising parallelism, Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI), 2021. [paper]
- S. Ghosh, M. Cuevas, S. Campanoni, P. Dinda, Compiler-based Timing for Extremely Fine-Grain Preemptive Parallelism, Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis (SC 2020), November 2020.
- B. Suchy, S. Campanoni, N. Hardavellas, P. Dinda, CARAT: A Case for Virtual Memory through Compiler- and Runtime-Based Address Translation, Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020), June, 2020.
- MaPLe Compiler
- Nautilus Kernel
- NOELLE Framework
- Village VCODE Framework
- Constellation FPGA/RISC-V Framework
- CS 213, Computer Systems, Northwestern
- CS 322, Compiler Construction, Northwestern
- CS 323, Code Analysis and Transformation, Northwestern
- CS 343, Operating Systems, Northwestern
- CS 397/497, Advanced Topics in Compilers, Northwestern
- CE 368/468, Programming Massively Parallel Processors with CUDA, Northwestern
- CS 446, Kernel and Other Low-level Software Development, Northwestern
- CE 456, Modern Topics in Computer Architecture, Northwestern
The Constellation Project is made possible by support from the National Science Foundation via awards CCF-2119069, CCF-2119352, CCF-2028851, CCF-2028921 and CCF-2028958, and via the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration, by the U.S. Department of Energy, Office of Science, under Contract DE-AC02- 06CH11357. David Krasowska and Kirill Nagaitsev are Department of Energy Computational Science Graduate Fellows.