Achieving High Performance in Parallel Applications via Kernel-Application Interaction
Abstract
Designing high performance parallel applications is a challenging task. The task becomes more difficult when these applications are on a multiprogrammed multiprocessor or function in the real world and need to meet real-time constraints. From the application's perspective these environments are unpredictable: under multiprogramming it is possible to be switched out at any time, and in the real world unexpected events can occur. Our thesis is that by sharing information across the traditional system-application interface we can achieve high performance in parallel applications both in the presence of multiprogramming and when meeting real-time constraints. The implemented techniques we describe not only perform better, but are simpler than those that would be required without such interaction. The contributions of this thesis, which are stated explicitly later, lie both in the mechanisms and techniques themselves and in the paradigm and implementation of the runtime environment that allows the mechanisms to exist. The mechanisms and techniques described throughout this thesis respond and adapt to unpredictable environments, whether caused by an unanticipated real-world event or an unexpected context switch. Synchronization is needed in almost all parallel programs, and, if oblivious to scheduler decisions, can have deleterious effects on application performance. We describe a set of scheduler-conscious and preemption-safe synchronization techniques that address the possibility of preemption on multiprogrammed multiprocessor machines. Mechanisms used in responding to the real world need to be flexible and adaptive. We describe a set of such mechanisms that allow real-time programs to adapt effectively to a changing and unpredictable world. We also describe a model for structuring the entire system (application, runtime, and kernel) in real-world environments.
Document Details
- Document Type
- Technical Report
- Publication Date
- Apr 01, 1996
- Accession Number
- ADA309151
Entities
People
- Robert W. Wisniewski
Organizations
- University of Rochester