Off-campus UMass Amherst users: To download dissertations, please use the following link to log into our proxy server with your UMass Amherst user name and password.

Non-UMass Amherst users, please click the view more button below to purchase a copy of this dissertation from Proquest.

(Some titles may also be available free of charge in our Open Access Dissertation Collection, so please check there first.)

Program representation and execution in real-time multiprocessor systems

Douglas Niehaus, University of Massachusetts Amherst

Abstract

In real-time systems the correctness of the computation depends not only on the logical correctness of the answer, but also on when it is produced. Run-time management in a real-time system must therefore exercise detailed control of how and when computations execute. As a result, most approaches to real-time scheduling require substantially more information about a computation's run-time behavior than those used by conventional (non-real-time) systems. The computation behaviors of concern vary with each system, but include: deadline, worst case execution time (WCET), resource use, communication behavior, and precedence relations. One of the ways in which real-time systems are significantly different from conventional systems is that much of of this information must be predictions about worst case computation behavior, since it is required before the computation executes. Conventional systems are, however, design to exhibit good average case behavior, not to make worst case behavior predictable. Adopting predictable worst case behavior as a primary design criterion challenges a wide range of conventional system designs and design principles. This dissertation addresses many of the problems associated with building a predictable real-time system. It presents contributions, of both theoretical and practical interest, at every level of system design and implementation, including: the Spring-C programming language, program translation and behavioral prediction methods, a predictable operating system implementation, and real-time hardware design principles and suggestions. The Spring-C programming language provides a process based programming interface and syntactic features supporting the creation of predictable programs. The compiler analyzes the program by creating a time graph representing its behavior, and then simplifying it using a technique called subgraph reduction. The simplified time graph is used to build a representation of the program's behavior as a group of tasks with known WCET and resource use, whose execution order is constrained by precedence relations. This representation is used by the system to manage the computation's execution. Predictable execution is also affected by hardware support. Our experience in implementing the Spring system generated a number of principles and examples addressing the design of hardware for real-time system support.

Subject Area

Computer science

Recommended Citation

Niehaus, Douglas, "Program representation and execution in real-time multiprocessor systems" (1994). Doctoral Dissertations Available from Proquest. AAI9420669.
https://scholarworks.umass.edu/dissertations/AAI9420669

Share

COinS