Overview: The assumption of user mode execution permeates modern parallelism and informs the design of parallel software/hardware stacks. This has its advantages, such as a separation of design concerns and the ability to easily leverage commodity software and hardware environments. However, it also limits performance, efficiency, scalability, and, most importantly, the imagination of parallel system designers at the language, compiler, run-time, operating system, and hardware layers. The proposed project will investigate how these layers can and should change when the assumption of user mode execution is thrown out. Since every software layer will now have full, privileged access to the complete hardware featureset, there is also ample opportunity to integrate layers in new, complex ways, hence the term “interweaving”. Interweaving extends to the hardware as well, as we can imagine new, privileged features that are geared toward parallel systems in addition to operating systems. Preliminary work has already shown that interweaving parallel runtimes and operating system kernels is not only feasible and tractable. but also leads to clear performance benefits. The proposed project will extend this work through the other layers described above, and build a system that spans all of them as part of the investigation. Keywords: operating systems; parallel systems; compiler toolchains; architecture Intellectual Merit: Interweaving the layers of the parallel software/hardware stack without the assumption of user-mode execution has not been previously explored except by this team, and then only in the limited way described above. Expanding this promising investigation has the potential to reap further gains, particularly in matching increasingly sophisticated parallel languages and execution models to increasingly complex, heterogeneous, and malleable hardware. The team is well poised to carry out the proposed research as together their expertise and prior work spans the stack. They also will build on and leverage substantial codebases and other resources, including the multi-platform open-source kernel framework developed for their preliminary work, a set of parallel languages and runtimes ported to it, open-source compiler toolchains, and unique physical and simulated hardware that can be modified. Broader Impacts: The team anticipates that interweaving the layers of the parallel software/ hardware stack will lead to performance, efficiency, and scalability gains that will broadly applicable in parallel computing. The artifacts they will produce during the investigation will be open-source with an eye to facilitating adoption. Prior work by the team has lead to several Ph.D.s, multiple substantial publicly available codebases, the most relevant of which are included as part of the national exascale software stack effort. The project will enhance collaborations between Northwestern University and the Illinois Institute of Technology, both of which are located in Chicagoland. The project will support several graduate students, and the team anticipates having extensive involvement of undergraduates and minorities through REUs and other means, with a clear path into the project supplied by advanced courses at both institutions taught by the team members that use the team’s codebases.
|Effective start/end date||9/1/18 → 8/31/23|
- National Science Foundation (CNS-1763743)
Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.