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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 1996
Accession Number
ADA309151

Entities

People

  • Robert W. Wisniewski

Organizations

  • University of Rochester

Tags

Communities of Interest

  • Autonomy
  • Human Systems
  • Materials and Manufacturing Processes
  • Space

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Artificial Intelligence Software
  • Autonomous Navigation
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Information Science
  • Information Systems
  • Lists (Data Structures)
  • Operating Systems
  • Parallel Computing
  • Parallel Processing
  • Robotics
  • Robots
  • Scheduling (Production)
  • Two Dimensional

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.
  • Systems Analysis and Design