Hartstone Uniprocessor Benchmark: Definitions and experiments for real-time systems

The purpose of this paper is to define a series of requirements and associated experiments called the Hartstone Uniprocessor Benchmark (HUB), to be used in testing the ability of a uniprocessor system to handle certain types of hard real-time applications. The benchmark model considers the real-time system as a set of periodic, aperiodic (sporadic), and synchronization (server) tasks. The tasks are characterized by their execution times (workloads), and deadlines. There are five series of experiments defined. They are, in order of increasing complexity, PH (Periodic Tasks, Harmonic Frequencies), PN (Periodic Tasks, Nonharmonic Frequencies), AH (Periodic Tasks with Aperiodic Processing), SH (Periodic Tasks with Synchronization), and SA (Periodic Tasks with Aperiodic Processing and Synchronization). The general stopping criteria of the experiments is defined as follows: Change one of the following four task set parameters: number of tasks, execution time(s), blocking time(s), or deadline(s) until a given task set is no longer schedulable, i.e., a deadline is missed. The derivation of the Hartstone experiments from one static scheduling algorithm (Rate Monotonic) and one dynamic scheduling algorithm (Earliest Deadline First) is presented. Because of its high-level application view of the underlying hardware and real-time system software the Hartstone experiments can be used for fast prototyping of real-time applications. Implementation of such benchmarks is useful in evaluating scheduling algorithms, scheduling protocols, and design paradigms, as well as evaluating real-time languages, the tasking system of compilers, real-time operating systems, and hardware configurations.

[1]  Lui Sha,et al.  Implementing Sporadic Servers in Ada , 1990 .

[2]  N. Altman,et al.  Timing variation in dual loop benchmark , 1988, ALET.

[3]  Reinhold Weicker,et al.  Dhrystone benchmark: rationale for version 2 and measurement rules , 1988, SIGP.

[4]  Juris Hartmanis,et al.  The Programming Language Ada Reference Manual American National Standards Institute, Inc. ANSI/MIL-STD-1815A-1983 , 1983, Lecture Notes in Computer Science.

[5]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[6]  G. Myers Proposed Standard for a Generic Package of Elementary Functions for ADA. Draft 1.2 ISO-IEC/JTC1/SC22/WG9 (Ada) Numerics Rapporteur Group. , 1990 .

[7]  Henry Ledgard,et al.  Reference Manual for the ADA® Programming Language , 1983, Springer New York.

[8]  Satish K. Tripathi,et al.  The MARUTI hard real-time operating system , 1989, [1989] Proceedings. The Fourth Israel Conference on Computer Systems and Software Engineering.

[9]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

[10]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[11]  Vered Gafni A tasking model for reactive systems , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[12]  Nelson H. Weiderman,et al.  Hartstone distributed benchmark: requirements and definitions , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[13]  Lui Sha,et al.  Scheduling sporadic and aperiodic events in a hard real-time system. Final report , 1989 .

[14]  Sheng Cheng,et al.  Scheduling algorithms for hard real-time systems: a brief survey , 1989 .

[15]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time operating systems , 1989, OPSR.

[16]  Richard A. Volz,et al.  Toward real-time performance benchmarks for Ada , 1986, CACM.

[17]  C. D. Locke,et al.  Best-effort decision-making for real-time scheduling , 1986 .

[18]  Rabindra P. Kar Implementing the Rhealstone real-time benchmark , 1990 .

[19]  Reinhold Weicker,et al.  Dhrystone: a synthetic systems programming benchmark , 1984, CACM.

[20]  Nelson Weiderman Hartstone: synthetic benchmark requirements for hard real-time applications , 1990 .

[21]  Mark Klein,et al.  Real-Time Software Engineering in Ada: Observations and Guidelines , 1989 .

[22]  Nelson Weiderman Hartstone: synthetic benchmark requirements for hard real-time applications , 1990 .

[23]  Lui Sha,et al.  Real-time scheduling theory and Ada , 1990, Computer.

[24]  Ted Baker Fixing some time-related problems in Ada , 1989, IRTAW '89.

[25]  Nelson Weiderman,et al.  Hartstone Benchmark Results and Analysis , 1990 .

[26]  Theodore P. Baker,et al.  The cyclic executive model and Ada , 2006, Real-Time Systems.

[27]  David J. Campbell,et al.  Clock resolution and the PIWG benchmark suite , 1990 .

[28]  John A. Stankovic,et al.  Real-time computing systems: the next generation , 1988 .

[29]  Brian A. Wichmann,et al.  A Synthetic Benchmark , 1976, Comput. J..

[30]  L. Sha,et al.  The priority ceiling protocol: A method for minimizing the blocking of high priority Ada tasks , 1988, IRTAW '88.

[31]  Daniel Roy,et al.  PIWG analysis methodology , 1990 .

[32]  Aloysius Ka-Lau Mok,et al.  Fundamental design problems of distributed systems for the hard-real-time environment , 1983 .

[33]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[34]  Donald Ervin Knuth,et al.  The Art of Computer Programming, Volume II: Seminumerical Algorithms , 1970 .

[35]  Kwei-Jay Lin,et al.  Dynamic priority ceilings: A concurrency control protocol for real-time systems , 1990, Real-Time Systems.

[36]  Sam Harbaugh,et al.  Timing studies using a synthetic Whetstone benchmark , 1984, ALET.