Real-Time Scheduling Models: an Experimental Approach



Similar documents
IDENTIFICATION OF THE DYNAMICS OF THE GOOGLE S RANKING ALGORITHM. A. Khaki Sedigh, Mehdi Roudaki

Green Master based on MapReduce Cluster

APPENDIX III THE ENVELOPE PROPERTY

Abraham Zaks. Technion I.I.T. Haifa ISRAEL. and. University of Haifa, Haifa ISRAEL. Abstract

Maintenance Scheduling of Distribution System with Optimal Economy and Reliability

Numerical Methods with MS Excel

Chapter 3. AMORTIZATION OF LOAN. SINKING FUNDS R =

CHAPTER 2. Time Value of Money 6-1

The analysis of annuities relies on the formula for geometric sums: r k = rn+1 1 r 1. (2.1) k=0

A Study of Unrelated Parallel-Machine Scheduling with Deteriorating Maintenance Activities to Minimize the Total Completion Time

Discrete-Event Simulation of Network Systems Using Distributed Object Computing

Integrating Production Scheduling and Maintenance: Practical Implications

6.7 Network analysis Introduction. References - Network analysis. Topological analysis

The impact of service-oriented architecture on the scheduling algorithm in cloud computing

T = 1/freq, T = 2/freq, T = i/freq, T = n (number of cash flows = freq n) are :

SHAPIRO-WILK TEST FOR NORMALITY WITH KNOWN MEAN

ECONOMIC CHOICE OF OPTIMUM FEEDER CABLE CONSIDERING RISK ANALYSIS. University of Brasilia (UnB) and The Brazilian Regulatory Agency (ANEEL), Brazil

Banking (Early Repayment of Housing Loans) Order,

Optimal multi-degree reduction of Bézier curves with constraints of endpoints continuity

A New Bayesian Network Method for Computing Bottom Event's Structural Importance Degree using Jointree

Performance Attribution. Methodology Overview

ANOVA Notes Page 1. Analysis of Variance for a One-Way Classification of Data

An Approach to Evaluating the Computer Network Security with Hesitant Fuzzy Information

1. The Time Value of Money

Optimal replacement and overhaul decisions with imperfect maintenance and warranty contracts

Load Balancing Control for Parallel Systems

A Parallel Transmission Remote Backup System

Dynamic Provisioning Modeling for Virtualized Multi-tier Applications in Cloud Data Center

On Error Detection with Block Codes

Settlement Prediction by Spatial-temporal Random Process

Credibility Premium Calculation in Motor Third-Party Liability Insurance

Fault Tree Analysis of Software Reliability Allocation

of the relationship between time and the value of money.

Security Analysis of RAPP: An RFID Authentication Protocol based on Permutation

Impact of Interference on the GPRS Multislot Link Level Performance

Chapter = 3000 ( ( 1 ) Present Value of an Annuity. Section 4 Present Value of an Annuity; Amortization

The Gompertz-Makeham distribution. Fredrik Norström. Supervisor: Yuri Belyaev

Fractal-Structured Karatsuba`s Algorithm for Binary Field Multiplication: FK

10.5 Future Value and Present Value of a General Annuity Due

Report 52 Fixed Maturity EUR Industrial Bond Funds

ADAPTATION OF SHAPIRO-WILK TEST TO THE CASE OF KNOWN MEAN

Proceedings of the 2010 Winter Simulation Conference B. Johansson, S. Jain, J. Montoya-Torres, J. Hugan, and E. Yücesan, eds.

The Digital Signature Scheme MQQ-SIG

Projection model for Computer Network Security Evaluation with interval-valued intuitionistic fuzzy information. Qingxiang Li

On formula to compute primes and the n th prime

Capacitated Production Planning and Inventory Control when Demand is Unpredictable for Most Items: The No B/C Strategy

Reinsurance and the distribution of term insurance claims

Preprocess a planar map S. Given a query point p, report the face of S containing p. Goal: O(n)-size data structure that enables O(log n) query time.

Contention-Free Periodic Message Scheduler Medium Access Control in Wireless Sensor / Actuator Networks

Automated Event Registration System in Corporation

RUSSIAN ROULETTE AND PARTICLE SPLITTING

Efficient Traceback of DoS Attacks using Small Worlds in MANET

Optimal Packetization Interval for VoIP Applications Over IEEE Networks

Average Price Ratios

Dynamic Two-phase Truncated Rayleigh Model for Release Date Prediction of Software

Applications of Support Vector Machine Based on Boolean Kernel to Spam Filtering

The Time Value of Money

Classic Problems at a Glance using the TVM Solver

Load Balancing Algorithm based Virtual Machine Dynamic Migration Scheme for Datacenter Application with Optical Networks

Low-Cost Side Channel Remote Traffic Analysis Attack in Packet Networks

A PRACTICAL SOFTWARE TOOL FOR GENERATOR MAINTENANCE SCHEDULING AND DISPATCHING

A particle Swarm Optimization-based Framework for Agile Software Effort Estimation

Chapter Eight. f : R R

ANALYTICAL MODEL FOR TCP FILE TRANSFERS OVER UMTS. Janne Peisa Ericsson Research Jorvas, Finland. Michael Meyer Ericsson Research, Germany

How To Balance Load On A Weght-Based Metadata Server Cluster

Using Phase Swapping to Solve Load Phase Balancing by ADSCHNN in LV Distribution Network

Forecasting Trend and Stock Price with Adaptive Extended Kalman Filter Data Fusion

Three Dimensional Interpolation of Video Signals

Numerical Comparisons of Quality Control Charts for Variables

Proactive Detection of DDoS Attacks Utilizing k-nn Classifier in an Anti-DDos Framework

How To Make A Supply Chain System Work

ERP System Flexibility Measurement Based on Fuzzy Analytic Network Process

Load and Resistance Factor Design (LRFD)

Speeding up k-means Clustering by Bootstrap Averaging

Compressive Sensing over Strongly Connected Digraph and Its Application in Traffic Monitoring

STATISTICAL PROPERTIES OF LEAST SQUARES ESTIMATORS. x, where. = y - ˆ " 1

One way to organize workers that lies between traditional assembly lines, where workers are specialists,

Cyber Journals: Multidisciplinary Journals in Science and Technology, Journal of Selected Areas in Telecommunications (JSAT), January Edition, 2011

A particle swarm optimization to vehicle routing problem with fuzzy demands

An IG-RS-SVM classifier for analyzing reviews of E-commerce product

IP Network Topology Link Prediction Based on Improved Local Information Similarity Algorithm

Transcription:

Real-Tme Schedulg Models: a Expermetal Approach (Techcal Report - Nov. 2000) Atóo J. Pessoa de Magalhães a.p.magalhaes@fe.up.pt Fax: 22 207 4247 SAI DEMEGI Faculdade de Egehara da Uversdade do Porto - Portugal arlos J. A. osta ccosta@babbage.pg.pt Fax: 27 222 690 DI - ESTG Isttuto Poltécco da Guarda Portugal Abstract lasscal real-tme schedulg models, as those commoly referred lterature, ted to gore the mpact of system tasks upo the tmeless of applcato tasks. However, as ths paper testfes, ths overhead s ot eglgble eve for very smple systems. Accurate schedulg models from where cotrol egeers ca cofdetly desg ther real-tme applcatos are thus requred. I ths paper such models are expermetally deduced ad proved to be vald for the most relevat sgle processor schedulg schemes. Key Words: omputer otrol, Real-Tme Systems, Schedulg Models, Archtectures, Overhead Estmato Itroducto Real-tme systems must perform correctly both the value ad the tme doma []. omputer cotrollers are probably the most kow real-tme systems. Ths s because a cotroller must coform to some tme costrats sesg the evromet ad performg cotrol actos accordgly [2]. Such tme costras are usually provded the form of deadles [3]. Real-tme schedulg ams to devse codtos for guaratyg processes deadles cocurret computer cotrol applcatos. urret lterature s rch techques ad algorthms for real-tme schedulg [4], [5], [6], [7]. Yet, most of the authors depart from load models that oly cover applcato processes characterstcs e.g. maxmum executo tme, mmum tme terval betwee executo requests, ad deadles. The computatoal overhead troduced by the operatg system for terrupt hadlg, task schedulg maagemet ad cotext swtchg are usually ot take to accout. As a cosequece, a real-tme schedule declared feasble accordg to a classcal model may fal practce to guaratee processes deadles. Ths s partcularly true whe hgh processor utlsato s acheved ad deadles ted to be met by a small marg, f ay. The motvato for ths paper s thus the oto that the mathematcal frameworks provded by classcal schedulg algorthms do ot perfectly hadle the complexty of real-tme applcatos. Therefore, ts frst am s to preset augmet schedulg models from where cotrol egeers ca cofdetly aalyse a schedule ad deduce f t s feasble or ot. But sce t s mpossble to cope here all the real-tme schedulg algorthms, the paper s restrcted to statc ad fxed prorty schedulg schemes mplemeted o sgle processor systems. These are the smplest ad most commo schedulg schemes. The measuremet of the mpact of the system software executo upo the overall system performace requres the quatfcato of a few tmg parameters. Some operatg system supplers provde the tmg values requred for such quatfcato. However, the codtos uder whch such parameters were obtaed are ot always metoed or are dfferet from those of terest. Sets of expermetal procedures that ca brdge ths gap are revealed ths paper. They result from a eclectc vew o several fe-graed [8], [9], [0], [], [2] ad applcato oreted [3], [4], [5], [6] realtme bechmarks that ca be easly talored to ay realtme sgle processor system. The devsg of these procedures s thus aother major cotrbuto of ths paper. The remader of the paper s orgased as follows. Secto 2 augmets classcal real-tme schedulg models through the cluso of the overhead troduced by the supportg software system. Preemptve ad opreemptve, as well as cyclcal ad fxed-prorty schedulg strateges are covered. Secto 3 provdes a set of expermetal procedures that eable the quatfcato of the overheads dscussed the prevous secto. Secto 4 vestgates how the devsed schedulg models dffer from classcal models a quattatve form. The results show that the computatoal overhead gored classcal models ca easly make real-tme systems to mss ther deadles whe hgh processor utlsato ad fast respose s a major cocer, as t s usually the case. Secto 5 eds the paper summarsg the most mportat coclusos. Magalhães, A. ad osta,. ad Magalhães, A. Page

2 Qualtatve Models Ths secto presets several qualtatve schedulg models that express the mpact of kerel tasks upo the tmeless of applcato tasks. Two kerel costs are cosdered: overhead ad blockg. Overhead s the tme take by the kerel performg a servce o behalf of a specfc task such as vokg, resumg or termatg t. Blockg s the amout of tme that a task s preveted from rug due to the executo of a kerel operato that caot be avoded e.g. hadlg a terrupt that does ot cause ay task swtchg. Two schedulg approaches fouded most realtme kerels are cosdered here: evet-drve ad tmedrve. I evet-drve schedulg, terrupts deote task arrvals, ad the scheduler depeds o exteral hardware devces for terrupt geerato. I tmedrve mplemetatos a cyclc tmer terrupt actvates the scheduler to perform ts duty. Actve Task Ru Queue Head Tal Start Queue Head Tal TB TB 4 TB 6 TB 2 TB 3 TB 5 Fgure Schedulg Queues As usual, t s assumed that the system kerel cludes three data structures that store the formato requred for schedulg support Fg.. The ru queue stores task cotrol blocks (TB) of tasks ready to ru. The start queue cludes TBs of (perodc) tasks that have already executed for completo the preset perod ad are watg for ther ext perod to start aga. The actve queue stores the TB of the task that s curretly rug o the sgle avalable processor. It s assumed that the start queue s ordered by task s release tme ad the ru queue s ordered by task s prortes. It s also assumed that: I tme drve schedulg, every tme a terrupt occurs, the terrupt hadler saves same regsters, performs some operatos ad the calls the scheduler. Later, f the scheduler decdes ot to preempt the actve task, the saved regsters are restored ad the actve task s resumed. If a task swtch s performed, the TB of the actve task s stored the ru queue accordg to ts prorty. The TB to the head of the ru queue s passed to the actve queue, ad the ew actve task executes. Whe a task eds executo, t traps the scheduler. The trap hadlg route selects the ew actve task from the head of the ru queue. The TB of a perodc task s stored to the start queue o a tme drve bass. Ths s performed by a mechasm teral or exteral to the kerel. TBs are passed from the start to the ru queue also o a tme drve bass by the kerel or by the terrupt hadlg route. From these assumptos the followg geeral parameters defe the overheads ad the blockg tmes that a predctable schedulg model must clude. These apply to o-preemptve ad preemptve schedulg: t the tme to hadle a terrupt request. sched the tme to execute the schedulg code to determe the ext task to ru. It cludes comparg the head of the ru queue wth the actve task ad movg TBs from the start to the ru queue. resume the tme to resume the actve task whe task swtch does ot occur. It cludes the tme to restore the regsters saved by the terrupt hadler. store the tme to save the state of the actve task to a TB, ad sort t to the ru queue. load the tme to load the ew actve task state from the ru queue. trap the tme to hadle the trap geerated by the ormal completo of a task. Ths cludes storg the TB of the completg (perodc) task to the start queue ad selectg the head of the ru queue to be the ext actve task. 2. yclcal Schedulg We beg by the smplest case: statc schedulg. The model cludes depedet tasks. Each task, τ, s charactersed by ts perod, T, ad ts worst-case executo tme (f ever terrupted),. The dspatcher s based o a terrupt drve real-tme clock ad must follow a task executo order establshed off-le. I the worst case scearo, o dle tme exsts betwee the executo of two cosecutve tasks Fg. 2. kerel Task τ Task τ 2 Task τ 3 It. It. It. It. It. - tmer - ext - Task Fgure 2 Statc Schedulg I ths case ext (the overhead troduced by the completo of a task) s gve by: = + () ext trap load A blockg tme also exsts due to perodc tmer terrupts. I the worst case such blockg takes the value: + + tmer = (2) t sched resume osta,. ad Magalhães, A. Page 2 Submtted to otrolo 2000 5-03-2000

The total blockg tme for a task τ depeds o the umber of terrupts occurred durg ts executo. Deotg the tme betwee two cosecutve terrupts by T tc, oe fds that the total blockg tme for a task τ takes the form: T tc tmer (3) Whe overhead ad blockg terms are gored, the cyclc executo of the tasks requres a tme terval gve by: total = = (4) However, whe overhead ad the blockg terms are cosdered the same parameter reverts to: ' total = + tmer + (5) ext = Ttc Aother very old ad smple schedulg strategy used tradtoal multtaskg systems s roud rob [7]. Kerel Task τ Task τ 2 Task τ 3 tme-slce - swtch - ext - Task Fgure 3 Roud Rob Schedulg I roud rob schedulg two scearos are possble: the tme-slce s equal to the tme terval betwee two cosecutve tcks (.e., t matches the tmer resoluto) or the tme-slce s a multple k > of the tmer perod. If the tme-slce s equal to the resoluto of the tmer, two overheads are troduced Fg. 3. The frst s related to task swtchg whe a tme-slce s exhausted.e., at all tmer tcks. The secod s a cosequece of the traps caused by the completo of a task as defed the cotext of statc schedulg. If the tme-slce s greater tha the resoluto of the tmer, a addtoal blockg must be cosdered. Ths s due to terrupts that do ot cause a task swtch. It s possble to defe a roud rob schedulg model at the lght of the cocepts preseted for statc schedulg. Ths s doe ad proved to be vald [7]. It states that f the tme-slce matches the tmer resoluto, the the cyclc executo of the tasks requres a tme terval gve by: ' total = + swtcht + (6), ext = Ttc where T tc deotes the tmer perod. I ths case, = + s the tme requred to swtcht swtch tmer hadle a terrupt ad perform a cotext swtchg. Therefore, = +. swtch store I [7] s also show that f the tme-slce s greater tha the perod of the tmer, the expresso (6) gets the form: ' total = = + + T ext slce load swtch + Ttc 2.2 Fxed Prorty Schedulg (7) tmer + Preemptve fxed-prorty schedulg has gaed a every creasg practcal mportace sce the publcato of Lu ad Laylad s work [8]. Yet, oly 989 Lehoczky et al foud a aalytcal codto from where the feasblty of a fxed-prorty schedule ca be assessed [9]. Whst the work developed by Lehoczky et al. s very mportat, t s ot complete the sese that t gores the mpact of the tme requred to perform system tasks. Ad there are reasos to beleve that such overhead ot eglgble, sce terrupt hadlg, task swtchg ad preempto are vtal to fxed prorty schedulg ad may occur frequetly. Two mplemetatos are possble for a fxed prorty scheduler [20]: evet-drve ad tme-drve. I evet-drve schedulg, all tasks are tated by teral or exteral evets Fg. 4. Tme-drve schedulg reles o a tmer that perodcally terrupts the actve applcato task ad vokes the scheduler Fg 5. kerel task τ task τ 2 task τ 3 T T T T 2 T 2 - preempt - opreempt - ext - task - task 2 - task 3 kerel Task τ Task τ 2 Task τ 3 Fgure 4 Fxed-Prorty Evet-Drve Schedulg T T T T 2 T 2 - preempt - tmer - ext - Task - Task 2 - Task 3 Fgure 5 Fxed-Prorty Tme-Drve schedulg osta,. ad Magalhães, A. Page 3 Submtted to otrolo 2000 5-03-2000

Both scearos are deeply aalysed [7], whch cocludes that the followg model apples to evetdrve schedulg: t W ( t) = ( j + preempt ) + j = (8) t t opreempt + ext j = + j = Tj Whe a fxed-prorty schedulg s drve by the passage of the tme, [7] proves that the followg expresso holds: t W ( t) = ( j + preempt) + j = (9) t t tmer + Ttc + ext T tc j= Tj As t ca be easly otced, f both overhead ad blockg codtos are gored, both expresso (8) ad (9) revert to the classcal workload model stated [9]: t W ( t) = j (0) j= 3 Quattatve Aalyss The quatfcato of the parameters troduced the last secto s vtal to the exact charactersato of a schedulg model. Some operatg systems supplers provde the tmg values requred for such quatfcato. Yet, the codtos uder whch the provded system parameters were defed are ot always revealed or are dfferet from those of terest. Therefore, t s very coveet to defe a set of procedures from where overhead ad blockg tmes ca be drve. These procedures based o a set of fe-graed ad applcato oreted real-tme bechmarks are brefly justfed ths secto. The llustratg values are for a very smple hardware (a 80386 @25MHz based system) rug a freeware kerel: task [2]. More detals o these procedures ca be foud [7], where the pseudo-code relatg such procedures s also provded. 3. No-perodc Parameters The quatfcato of ext s somehow trval. It suffces to cosder o-preemptve empty tasks (.e., tasks that do othg just ed) ad measure the tme terval betwee the momet the frst task starts executo ad the momet the last task eds executo. Such tme, dvded by the umber of tasks mus oe, provdes ext. I our expereces we foud ext 85 µs. The secod parameter to determe s tmer. Here, we must cosder a task whose omal executo tme (.e., ts executg tme from the begg to ed wthout terruptos) s well kow ad greater tha the tme terval betwee two cosecutve tmer terrupts Fg. 6. Whe the task executes uder the kerel cotrol, t s perodcally terrupted. Every tme a terrupt occurs, the scheduler code s executed; later the task s resumed. Thus, the dfferece betwee the executo tme of the task uder the kerel cotrol ad ts omal executo tme gves the overload troduced by the kerel. Ths tme dfferece dvded by the umber of terrupts occurred durg task executo provdes tmer. The umber of terrupts occurred durg task executo s gve by: Nomal Executo Tme Number of Iterrupts = () T tc I our expereces we foud tmer 36 µs. kerel Task Start_clcck() It. It. It. It. It. - tmer - Task Fgure 6 Measurg tmer Stop_clcck() The ext parameter to quatfy s swtch. Ths s obtaed by forcg two tasks to swtch ther executo a predefed umber of tmes. Yet, t s mportat to ote that the scheduler executes every tme a task swtch occurs. Thus, the tme measured cludes task swtch ad scheduler executo tmes. To take care of ths stuato, we cosdered two detcal tasks formed by a loop that motvates a gve umber of task swtches. We beg by measurg the tme to execute the two loops, wthout the kerel cotrol. The, a smlar measure s take whe the two tasks execute uder the kerel cotrol. The dfferece betwee both measures, dvded by twce the umber of loop provdes swtch. I our expereces we foud swtch 280 µs. 3.2 Perodc Parameters To obta preempt t suffces to cosder two tasks wth dfferet prortes. Both execute for a suffcetly log tme a loop. The low prorty task also cludes a er loop whose executo tme s early oe tmer tck, ad where t wats preempto. The hgh prorty task suspeds by a tck, allowg the kerel to execute the low prorty task. Whe the suspeso perod eds, the hgh prorty task preempts the secod task. Oce aga, tasks are frstly executed wthout kerel cotrol. The, they ru uder the cotrol of the kerel. preempt s obtaed by the dfferece betwee the two executo tmes dvded by the umber of loops performed Fg. 7. I our expereces we foud preempt 280 µs. The last parameter to defe the scope of the fxed prorty schedulg s ext. Ths parameter s greater tha or equal to the ext cosdered for cyclc schedulg. Ths s because, fxed-prorty schedulg, there s a extra tme due to the ordered osta,. ad Magalhães, A. Page 4 Submtted to otrolo 2000 5-03-2000

serto of the TB of the perodc tasks to the start queue. I ths case, we cosdered two tasks whose prortes were defed accordg to the rate mootoc schedulg algorthm. The hgher prorty task executes for completo ad reads the elapsg tme before completg. The, the low prorty task executes ad reads the elapsed tme at the begg. I ths scearo, ext s gve by the dfferece betwee these tme measures. I our expereces t was foud ext 300 µs. Hgh_prorty_task() { FOR = 0 TO Number_Iteratos DO { Susped by a tck Low_prorty_task() { FOR = 0 TO Number_Iteratos DO { FOR = 0 TO Number_Iteratos_early_tck_tme DO { Measure_preempt() { Start_clock(); FOR = 0 TO Number_Iteratos DO { FOR = 0 TO Number_Iteratos DO { FOR = 0 TO Number_Iteratos_early_tck_tme DO { Stop_clock(); Read elapsed tme ad save Tme_ reate(hgh_prorty_task); reate(low_prorty_task); Beg(Hgh_prorty_task); Beg(Low_prorty_task); Start_clock(); Wat utl all tasks ed Stop_clock(); Read elapsed tme ad save Tme_2 preempt = (Tme_2-Tme_)/Number_Iteratos; Fgure 7 Measurg preempt It s worth statg that a cosderable set of expereces for both cyclcal ad fxed prorty models was performed order to valdate the proposed models. Such expereces departed from applcato workloads smlar to those cosdered for some case studes preseted real-tme lterature. The resultg schedules were frst evaluated accordg to the schedulg models proposed above. Later, the task sets were executed o the expermetal system, ad the most relevat parameters were measured. I both cases cyclcal ad fxed prorty schedulg expected ad measured values were foud to closely match. 4 Overhead Aalyss Eve though the last secto overhead ad blockg terms were foud to be very small, they ca have a cosderable mpact upo the applcato tasks. Ths s because, may applcatos, system servces are performed very ofte, or ca take a cosderable tme comparably to task executo tmes. Moreover, sce each overhead ad blockg term welds a partcular fluece upo the executo of applcato tasks, some workloads ad schedulg schemes are expected to be more susceptble to a gve parameter tha to aother. The preset secto dscusses ths subject ad testfes ts practcal mportace. Let s frst cosder statc schedulg. I ths case, ad accordg to expresso (5), applcato tasks ca have ther executo delayed due to both ext ad tmer. To uderstad the mpact of these parameters upo the applcato tasks, oe must cosder a system that executes a task set gve by a workload defed by expresso (4).e., a workload that s cosumed a tme terval gve by expresso (4) whe system overhead s gored. Therefore, the mpact of system tasks upo the applcato tasks s gve by the dfferece betwee expresso (5) ad (4). Sce ext s troduced every tme a task completes executo, ts overall mpact creases as applcato tasks decrease ther executo tme. Such mpact s depcted Fg. 8. Each workload deotes a partcular task set, each of whch cosstg of 8 tasks. Tmer terrupts occurred at the same frequecy all the expermets (/55ms). From Fgure 8 t ca be easly cocluded that, statc schedulg, system overhead s partcularly otorous for short tasks. O the other had, system overhead ca be dsregarded whe applcato tasks have a log executo tme ad meet ther deadles by a comfortable marg. The same coclusos apply somehow to roud rob schedulg Fg. 9. Yet, roud rob schedulg the overload s evtably greater tha statc schedulg. Ths s due to the swtch term, whch s abset statc schedulg. overhead relatve overhead 8,00% 7,00% 6,00% 5,00% 4,00% 3,00% 2,00%,00% 0,00% 2.50% 2.00%.50%.00% 0.50% 0.00%,555 0,7 203,2 769,9.497,5.554,9 3.325,0 6.030,0.723,7 45.728,4 9.204,7 57.379,4 system workload ms Fgure 8 Overhead vs. Workload 3,325 6,030,724 45,728 statc schedulg 9,205 57,379 system workload ( ms ) 80,049 82,6 roud rob schedulg Fgure 9 Overhead vs. Schedulg Scheme 364,5 The mpact of tmer upo the executo of applcato tasks ca also be easly testfed. It suffces to trace the executo tme of a gve ad well-kow workload for dfferet tmer terrupt frequeces. The osta,. ad Magalhães, A. Page 5 Submtted to otrolo 2000 5-03-2000

result of such experece coducted the cotext of roud rob schedulg s provded Fg. 0. As suspected, the overhead creases a the tmer perod decreases, sce terrupts become more frequet. Ths meas that whe tme resoluto s a major cocer, a cosderable overhead s evtable. Ths s true for ay tme drve schedulg scheme. Icludg fxed prorty schedulg. relatve overhead 4.00% 2.00% 0.00% 8.00% 6.00% 4.00% 2.00% 0.00% 54.9 27.5 3.7 6.9 3.4 tme slce (ms) Fgure 0 Overhead vs. Tme-Slce The oto that system overload ca take a cosderable magtude tme-drve fxed prorty schedulg s a mportat cocluso. Aother mportat cocluso s that ext has a cosderable mpact upo fxed prorty applcato tasks that execute for a short tme, sce ext s greater fxed prorty schedulg tha statc schedulg. Therefore, t s ot surprsg to fd a overhead greater tha 5% a fxed prorty schedule. It s worth otg tha fxed prorty schedulg ad accordg to the rate mootoc algorthm hgh prorty tasks ted to have a short executo tme ad are thus very proe to system overhead. Yet, hgh prorty applcato tasks ted to meet ther deadles by a comfortable marg. As a cosequece, system overhead does ot usually make a hgh prorty applcato task to mss ts deadle. However, the system overhead that mpacts the executo of hgh prorty applcato tasks also makes low prorty applcato tasks to delay ther executos. Therefore low prorty tasks are also very proe to system overhead. Moreover, sce low prorty tasks ted to meet ther deadles by a short marg, f ay, oe fds that these tasks are much more proe to system overhead tha hgh prorty tasks. A set of expermets that llustrate ths mportat cocluso ca be foud [7]. 5 oclusos The paper has show that the overhead troduced by system tasks upo the tmeless of applcato tasks s ot eglgble eve for very smple real-tme systems. Therefore, augmet schedulg models from where cotrol egeers ca cofdetly aalyse a real-tme schedule are requred. These models were developed ths paper for the most mportat sgle processor schedulg schemes used practce. Techques for quatfyg the overhead of system tasks upo the applcato tasks were also preseted. osequetly, the authors of the paper feel that t has cotrbuted to mprove the practce of real-tme systems cotrol applcatos. Also felt s that a smlar research must be carred out the cotext of dstrbuted systems. Ths s because dstrbuted systems are wdely used cotrol applcatos ad a larger set of system parameters cludg those related to real-tme commucatos troduce overheads ad blockg codtos upo the applcato tasks. Refereces [] Stakovc, J. ad Ramamrtham, K. Advaces Real- Tme Systems. IEEE omputer Socety Press, 993. [2] Mddleto, R. ad Goodw, G. Dgtal otrol ad Estmato. Pretce-Hall Iteratoal Edtos. 990. [3] Magalhães, A. P. A Survey o Estmatg the Tmg ostrats of Hard Real-tme Systems. Desg Automato for Embedded Syst., Vol. No 3. Pp. 23-23, July 996. [4] Stakovc, J., et al Implcatos of lasscal Schedulg Results for Real-Tme Systems, IEEE omputer, 995. [5] Ghosh, K., Mukherjee, B. ad Schwa, K. A Survey of Real- Tme Operatg Systems Draft, Tech. report, GIT--93/8, Georga Isttute of Techology, February, 994. [6] Ramamrtham, K. ad Stakovc, J. Schedulg Algorthms ad Operatg Systems support for Real-Tme Systems, Proc. of the IEEE, vol. 82, No., Jauary 994. [7] Burs, A. "Schedulg hard real-tme systems: a revew", Software Egeerg Joural, pp. 6-28, May 99. [8] Kar, P. ad Porter, K. RHEALSTONE A Real-Tme Bechmarkg Proposal, Dr. Dobb s, pp.4-24, Feb. 989. [9] Kar, P. Implemetg the Rhealstoe Real-Tme Bechmark, Dr. Dobb s, pp.46-55, Aprl 990. [0] McRae, E. Bechmarkg Real-Tme Operatg Systems, Dr. Dobb s, pp.48-58, May 996. [] Martíez, A., ode, J. F. ad Vña, A. "A omprehesve Approach Performace Evaluato for Moder Real-Tme Operatg Systems", Proc. EUROMIRO-22, pp. 6-68, 996. [2] Sacha, K. "Measurg the Real-Tme Operatg System Performace", Proc of the 2 th EUROMIRO Workshop o Real-Tme Systems, 995. [3] urow, H. J. ad Wtchma, B. A. A Sythetc Bechmark, The omputer Joural 9(), pp. 43-49, February, 976. [4] Wecker, R. DHRYSTONE: A Sythetc Systems Programmg Bechmark, omm. of the AM, Vol. 27, No. 0, October 984. [5] Doohoe, P. A Survey of Real-Tme Performace Bechmarks for the Ada Programmg Laguage, Tech Report, MU/SEI- 87-TR-28, SEI, arege Mello Uversty, December 987. [6] Kameoff, N. ad Wederma, N. Hartstoe Dstrbuted Bechmark: Requremets ad Deftos. Proc. of the Real- Tme Systems Symposum, Pp 99-208, IEEE, December 99. [7] osta,. J. Aálse e ocepção de Sstemas de Tempo-Real, Msc Dssertato, FEUP, October 998 (I Portuguese). [8] Lu,. L. ad Laylad, J. W. Schedulg Algorthms for Multprogrammg Hard-Real-Tme Evromets, J. of the AM, Vol. 20, No., pp. 46-6, Jauary 973. [9] Lehoczky, J, Sha, L ad Dg, Y. The Rate Mootoc Schedulg Algorthm: Exact haracterzato Ad Average ase Behavor, Proc. IEEE Real-Tme Symp., pp. 66-7, 989. osta,. ad Magalhães, A. Page 6 Submtted to otrolo 2000 5-03-2000

[20] Katcher, D.., Arakawa, H. ad Strosder, J. Egeerg ad Aalyss of Fxed Prorty Schedulers, IEEE Tras. o Software Egeerg, Vol. 9, No. 9, pp. 920-934, 993. [2] http://www.ececs.uc.edu/~adobol/moree.html. osta,. ad Magalhães, A. Page 7 Submtted to otrolo 2000 5-03-2000