CAREER: System Support for Implicitly Parallel Programming
University Of Illinois At Urbana-Champaign, Urbana IL
Investigators
Abstract
CCF-0746910 CAREER: System Support for Implicitly Parallel Programming Matthew I. Frank While multi-core processor designs allow peak performance to track Moore's law, they introduce new challenges for software developers. Explicitly multi-threaded programs generally take longer to develop, test, debug, and verify than sequential programs with equivalent functionality. Implicit parallelization, on the other hand, allows software engineers to develop parallel algorithms and applications in environments that provide sequential semantics, like the C programming language. System tools convert the parallel algorithms into a set of threads partitioned appropriately for a particular parallel machine organization. The resulting parallel programs are easier and faster to develop, debug, and maintain, because the programmer can request a meaningful and well defined program state at any point of execution. Because error checking code, code reuse, and variable scoping interfere with naive parallelization, this work will investigate system tools that perform reactive and speculative transformations to reduce the tension between application robustness and parallelization.
View original record on NSF Award Search →