CSR: Medium: Collaborative Research: Interweaving the Parallel Software/Hardware Stack

Project: Research project

Description

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.
StatusActive
Effective start/end date9/1/188/31/21

Funding

  • National Science Foundation (CNS-1763743 001)

Fingerprint

Hardware
Scalability
Parallel processing systems
Students