The Constellation Project
unifying software and hardware for performant and frictionless heterogeneous parallelism
About#
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.
Team#
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 (Oregon State University / IIT)
Ph.D. Students and Postdocs#
- Enrico Deiana (Northwestern)
- Griffin Dube (Northwestern)
- Karl Hallsby (Northwestern)
- Brian Homerding (Northwestern)
- Peizhi Liu (Northwestern) [NSF Graduate Fellow]
- David Krasowska (Northwestern) [DOE Computation Science Graduate Fellow]
- Tommy McMichen (Northwestern)
- Kirill Nagaitsev (Northwestern) [DOE Computation Science Graduate Fellow]
- Connor Selna (Northwestern)
- Yian Su (Northwestern)
- Brian Tauro (Illinois Institute of Technology)
- Nick Wanninger (Northwestern)
- Sam Westrick (Carnegie Mellon)
- Michael Wilkins (Northwestern)
M.S. Students#
- Yankai Jiang (Northwestern)
- Jiaxiang Li (Northwestern)
- Qinze Jiang (Northwestern)
- Liam Strand (Northwestern)
Undergrad Students and REU Students#
- Luke Arnold (Northwestern)
- Peizhi Liu (Northwestern)
- Nadharm Dhiantravan (Northwestern) [CRA Outstanding Undergraduate Researcher Honorable Mention]
- Thomas Filipiuk (Northwestern)
- Karl Hallsby (Illinois Institute of Techology)
- Kevin Hayes (Northwestern University) [CRA Outstanding Undergraduate Researcher Honorable Mention]
- Kevin McAfee (Northwestern)
- Sean Rhee (Northwestern) [CRA Outstanding Undergraduate Researcher Honorable Mention]
- Carson Surmeier (Northwestern)
- Garrett Weil (Northwestern) [CRA Outstanding Undergraduate Researcher Honorable Mention]
- Ruiqi (Jerry) Xu (Northwestern)
Publications#
- P. Liu, S. Rhee, M. Wilkins, P. Dinda, Parameterized Algorithms and Parameter Selection for Fast GPU-GPU Collective Communication, Proceedings of the 33rd IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS 2025), October, 2025.
- Q. Jiang (and K. Hallsby), VIR-V: A RISC-V RoCC Accelerator for VCODE Computing, Masters Thesis, Department of Computer Science, Northwestern Univeristy, May, 2025. Available as Technical Report NU-CS-2025-12.
- J. Giordani, Z. Xu, E. Colby, A. Ning, B. Godala, I. Chaturvedi, S. Zhu, Y. Chon, G. Chan, Z. Tan, G. Collier, J. Halverson, E. Deiana, J. Liang, F. Sossai, Y. Su, A .Patel, B. Pham, N. Greiner, S. Campanoni, D. August, Revisiting Computation for Research: Practices and Trends, Proceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis (Supercomputing) (SC 2024), November, 2024.
- Z. Xu, Y. Chon, Y. Su, Z. Tan, S. Apostolakis, S. Campanoni, D. August, PROMPT: A Fast, Precise, and Versatile Memory Profiler with Tailoring, Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2024), October, 2024.
- N. Wanninger, T. McMichen, S. Campanoni, P. Dinda, Getting a Handle on Unmanaged Memory, Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2024), April-May, 2024.
- Y. Su, M. Rainey, N. Wanninger, N. Dhiantravan, J. Liang, U. Acar, P. Dinda, S. Campanoni, Compiling Loop Nested Parallelism for Heartbeat Scheduling, Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2024), April-May, 2024.
- B. Tauro, B. Suchy, S. Campanoni, P. Dinda, K. Hale, TrackFM: Far-out Compiler Support for a Far Memory World, Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2024), April-May, 2024.
- M. Manohar, Z. Shen, G. Blelloch, L. Dhulipala, Y. Gu, H. Simhadri, Y. Sun, ParlayANN: Scalable and Deterministic Parallel Graph-Based Approximate Nearest Neighbor Search Algorithms, Proceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP 2024), March, 2024.
- M. Wilkins, On Transparent Optimizations for Communication in Highly Parallel Systems, Doctoral Dissertation, Department of Computer Science, Northwestern University, March, 2024. Available as Technical Report NU-CS-2024-01.
- T. McMichen, N. Greiner, P. Zhong, F. Sossai, A. Patel, S. Campanoni, Representing Data Collections in an SSA Form, Proceedings of the IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2024), March, 2024.
- S. Westrick, M. Fluet, U. Acar, M. Rainey, Automatic Parallelism Management, Proceedings of the 51st ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2024), January, 2024.
- J. Arora, S. Muller, U. Acar, Disentanglement with Futures, State, and Interaction, Proceedings of the 51st ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2024), January, 2024.
- V. Kandiah, Uncovering Latent Hardware/Software Parallelism, Doctoral Dissertation, Department of Computer Science, Northwestern University, November, 2023. Available as Technical Report NU-CS-2023-14.
- E. Deiana, Generating Thread-Level Parallelism in Nondeterministic Programs, Doctoral Dissertation, Department of Computer Science, Northwestern University, November, 2023.
- M. Wilkins, H. Wang, P. Liu, B. Pham, Y. Guo, R. Thakur, N. Hardavellas, P. Dinda, Generalized Collective Algorithms for the Exascale Era, Proceedings of the 25th IEEE Conference on Cluster Computing (Cluster 2023), October-November, 2023.
- S. Muller, K. Singer, D. Keeney, A. Neth, K. Agrawal, I-T. Lee, U. Acar, Responsive Parallelism With Synchronization, Proceedings of the 44th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2023), June, 2023.
- 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.
- B. Suchy, Revisiting Software-based Memory Management, Doctoral Dissertation, Department of Computer Science, Northwestern University, September, 2022. Available as Technical Report NU-CS-2022-10.
- 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.
Software#
- MaPLe Compiler
- Nautilus Kernel
- NOELLE Framework
- Village VCODE Framework
- Constellation FPGA/RISC-V Framework
Teaching#
- 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
Sponsors#
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. Peizhi Liu is a National Science Foundation (NSF) Graduate Research Fellow.