LLFpi : Schedulability-Improved LLF Algorithm in Multiprocessor Real-Time Embedded Systems

Similar documents
Hybrid Real Time Systems Scheduling with Safe Interrupt Handling

Experiments with Protocols for Service Negotiation

A Review of Fixed Priority and EDF Scheduling for Hard Real-Time Uniprocessor Systems

Online Scheduling for Realtime. Rate Monotonic Analysis: Assumptions. Schedulability Test. EECS 262a Advanced Topics in Computer Systems Lecture 13

Application of Ant colony Algorithm in Cloud Resource Scheduling Based on Three Constraint Conditions

2013 IEEE 7th International Conference on Self-Adaptation and Self-Organizing Systems Workshops. {xy336699,

Availability based Scoring Model for Resource Grouping in Desktop Grid Computing

MULTIPLE FACILITY LOCATION ANALYSIS PROBLEM WITH WEIGHTED EUCLIDEAN DISTANCE. Dileep R. Sule and Anuj A. Davalbhakta Louisiana Tech University

FIN DESIGN FOR FIN-AND-TUBE HEAT EXCHANGER WITH MICROGROOVE SMALL DIAMETER TUBES FOR AIR CONDITIONER

On Advantages of Scheduling using Genetic Fuzzy Systems

Adaptation of On-line Scheduling Strategies for Sensor Network Platforms

A Scenario-Based Objective Function for an M/M/K Queuing Model with Priority (A Case Study in the Gear Box Production Factory)

MODELING OF RIVER ICE BREAKUP DATE AND THICKNESS IN THE LENA RIVER

Planning of work schedules for toll booth collectors

Evaluating The Performance Of Refrigerant Flow Distributors

Appendix 6.1 The least-cost theorem and pollution control

1991), a development of the BLAST program which integrates the building zone energy balance with the system and central plant simulation.

Mode Change Protocols for Predictable Contract-Based Resource Management in Embedded Multimedia Systems

Identifying Factors that Affect the Downtime of a Production Process

Experimental Validation of a Suspension Rig for Analyzing Road-induced Noise

Multi Objective Optimum Resource Scheduling for Cloud Computing Networks

Program Phase and Runtime Distribution-Aware Online DVFS for Combined Vdd/Vbb Scaling

A SIMULATION STUDY OF QUALITY INDEX IN MACHINE-COMPONF~T GROUPING

A Two-Echelon Inventory Model for Single-Vender and Multi-Buyer System Through Common Replenishment Epochs

Practical Application Of Pressure-Dependent EPANET Extension

Fuzzy adaptive agent for supply chain management

Annual Energy Production Maximization for Tidal Power Plants with Evolutionary Algorithms

Production Scheduling for Parallel Machines Using Genetic Algorithms

An Application of MILP-based Block Planning in the Chemical Industry

Genetic-based Resource Allocation and Scheduling Technique for Multi-Class Users in Cloud Computing Environment

CHAPTER 8 DYNAMIC RESOURCE ALLOCATION IN GRID COMPUTING USING FUZZY-GENETIC ALGORITHM

SIMULATION RESULTS ON BUFFER ALLOCATION IN A CONTINUOUS FLOW TRANSFER LINE WITH THREE UNRELIABLE MACHINES

Task Scheduling in Grid Computing: A Review

Extended Abstract for WISE 2005: Workshop on Information Systems and Economics

Simulation of the Cooling Circuit with an Electrically Operated Water Pump

Dynamic Task Assignment and Resource Management in Cloud Services Using Bargaining Solution

Simulation and Optimization of a Pull-Strategy in the. Order-Picking Area of a Distribution Warehouse. Hertzstr. 16, Karlsruhe, Germany

CYCLE TIME VARIANCE MINIMIZATION FOR WIP BALANCE APPROACHES IN WAFER FABS. Zhugen Zhou Oliver Rose

Evaluating Clustering Methods for Multi-Echelon (r,q) Policy Setting

A Review of Fixed Priority and EDF Scheduling for Hard Real-Time Uniprocessor Systems

A DNA computing approach to solve Task Assignment problem in Real Time Distributed computing System. Abstract

LIFE CYCLE ENVIRONMENTAL IMPACTS ASSESSMENT FOR RESIDENTIAL BUILDINGS IN CHINA

WISE 2004 Extended Abstract

A Revised Discrete Particle Swarm Optimization for Cloud Workflow Scheduling

A dynamic-balanced scheduler for Genetic Algorithms for Grid Computing

A TABU SEARCH FOR MULTIPLE MULTI-LEVEL REDUNDANCY ALLOCATION PROBLEM IN SERIES-PARALLEL SYSTEMS

Steady State Load Shedding to Prevent Blackout in the Power System using Artificial Bee Colony Algorithm

June 12, 2007 Supplier Operating Manual For Atlantic City Electric Company, Delmarva Power and Pepco

Scheduling High-Level Tasks Among Cooperative Agents

Best-Order Crossover in an Evolutionary Approach to Multi-Mode Resource-Constrained Project Scheduling

Pricing for Resource Allocation in Cloud Computing

Optimal Issuing Policies for Substitutable Fresh Agricultural Products under Equal Ordering Policy

CCDEA: Consumer and Cloud DEA Based Trust Assessment Model for the Adoption of Cloud Services

Floorplanning with IR-drop consideration

Evaluating the statistical power of goodness-of-fit tests for health and medicine survey data

Dynamic Computation Offloading Scheme for Drone-Based Surveillance Systems

Application Level Resource Scheduling with Optimal Schedule Interval Filling (RS-OSIF) for Distributed Cloud Computing Environments

Development and production of an Aggregated SPPI. Final Technical Implementation Report

A Batch Splitting Job Shop Scheduling Problem with bounded batch sizes under Multiple-resource Constraints using Genetic Algorithm

OPTIMAL CONTROL THEORY APPLIED TO HYBRID FUEL CELL POWERED VEHICLE. G. Paganelli 1, T.M. Guerra 2, S. Delprat 2 Y. Guezennec 1, G.

Emission Reduction Technique from Thermal Power Plant By Load Dispatch

A Multi-Product Reverse Logistics Model for Third Party Logistics

1. A conceptual approach of customer lifetime value and customer equity

Numerical Flow Analysis of an Axial Flow Pump

A Group Decision Making Method for Determining the Importance of Customer Needs Based on Customer- Oriented Approach

CHARACTERISTICS OF FAIRNESS METRICS AND THEIR EFFECT ON PERCEIVED SCHEDULER EFFECTIVENESS

A Real-time Planning and Scheduling Model in RFID-enabled Manufacturing

A Novel Approach for Optimization Auto-Scaling in Cloud Computing Environment

ON THE PERFORMANCE IMPACT OF FAIR SHARE SCHEDULING

Optimization of Technological Water Consumption for an Industrial Enterprise with Self-Supply System

Development of a Quality Control Programme for steel production: A case study

R. MAGESHVARAN*, T. JAYABARATHI, VAIBHAV SHAH, SHIVAM SOOD

Finite Element Analysis and Optimization for the Multi- Stage Deep Drawing of Molybdenum Sheet

Coordination mechanisms for decentralized parallel systems

RECEIVING WATER HYDRAULICS ASSIGNMENT 2

Two Market Models for Demand Response in Power Networks

Impacts of Generation-Cycling Costs on Future Electricity Generation Portfolio Investment

A Hybrid Meta-Heuristic Algorithm for Job Scheduling on Computational Grids

1 Basic concepts for quantitative policy analysis

An Exelon Company December 15, Supplier Operating Manual

An Exelon Company December 15, Supplier Operating Manual

Consumption capability analysis for Micro-blog users based on data mining

Research Article VSMURF: A Novel Sliding Window Cleaning Algorithm for RFID Networks

International Trade and California Employment: Some Statistical Tests

A New Artificial Fish Swarm Algorithm for Dynamic Optimization Problems

Do Competing Suppliers Maximize Profits as Theory Suggests? An Empirical Evaluation

OPTIMAL PHASE CHANGE TEMPERATURE FOR BCHP SYSTEM WITH PCM-TES BASED ON ENERGY STORAGE EFFECTIVENESS

Researches on the best-fitted talents recommendation algorithm

To manage leave, meeting institutional requirements and treating individual staff members fairly and consistently.

6.4 PASSIVE TRACER DISPERSION OVER A REGULAR ARRAY OF CUBES USING CFD SIMULATIONS

Energy Management System for Battery/Ultracapacitor Electric Vehicle with Particle Swarm Optimization

Assignment II Design of Wastewater Discharge from the City of Gothenburg. Design of a Wastewater Discharge from the City of Gothenburg

Multi-UAV Task Allocation using Team Theory

RULEBOOK on the manner of determining environmental flow of surface water

emissions in the Indonesian manufacturing sector Rislima F. Sitompul and Anthony D. Owen

Modeling and Analysis of Equivalences in Behavior Ontology

Learning Curve: Analysis of an Agent Pricing Strategy Under Varying Conditions

DESIGN AND IMPLEMENTATION OF HYBRID CASCADED ENERGY EFFICIENT KOGGE STONE ADDER

Numerical Analysis about Urban Climate Change by Urbanization in Shanghai

Transcription:

Internatonal Journal of Appled Engneerng Research ISSN 9-46 Volume, Number 6 (6) pp 89-898 LLFp : Schedulablty-Improved LLF Algorthm n Multprocessor Real-Tme Embedded Systems Sangchul Han, Jnsoo Km, Junghwan Km, Mnkyu Park * Department of Computer Engneerng, Konkuk Unversty, 68 Chungwondaero, Chungju, Chungbuk, 48, Korea. Abstract As the workload of real-tme applcatons becomes more complex, more dverse, and heaver, multprocessor archtecture and prorty-drven schedulng algorthms are adopted n recent embedded systems. One of prorty-drven algorthms s LLF (Least Laxty Frst). It assgns hgher prorty to actve jobs wth less laxty. It s known that LLF outperforms many schedulng algorthms on multprocessor platforms n term of the number of successfully scheduled task sets. Ths paper proposes LLFp (LLF wth prorty nverson) schedulng algorthm whch s a modfcaton of LLF. LLFp reduces processor dle tme by allowng temporary prorty nverson, so that t mproves the schedulablty of LLF. Ths paper proves that LLFp strctly domnates LLF, that s, LLFp can successfully schedule any task set whch s schedulable by LLF. It also presents the performance evaluaton results through extensve smulaton. Keywords: Multprocessor, Real-tme schedulng, Dynamc prorty, Least Laxty Frst (LLF), Prorty nverson INTRODUCTION Advance n hardware technology and rapd ncrease of realtme workload has led multprocessor (or multcore) archtecture nto embedded systems. For example, moble devces, such as smartphones and moble nternet devces, adopt multprocessors to provde a sgnfcant ncrease n processng performance as well as power scalablty []. Sgma Desgns provdes multprocessor SoC for smart TVs []. ARM and NVIDIA develop multprocessor-based automotve systems for self-drvng cars [,4]. The workload of real-tme applcatons on such systems gets more complex and heaver. In order to meet tmng constrants of complex real-tme applcatons and gve a chance to non-real-tme applcatons to execute, many researchers focus on prortydrven real-tme schedulng n multprocessor embedded systems [,6,,8,,,]. Prorty-drve algorthms assgn prortes to jobs and execute the hghest-prorty jobs on avalable processors. Prortydrven algorthms are classfed nto two categores: statc prorty and dynamc prorty. Statc prorty algorthms assgn a unque prorty to each task, and each job of a task has the same prorty assocated wth the task. Examples of such algorthms are RM (Rate Monotonc) and DM (Deadlne Monotonc) [,]. Dynamc prorty algorthms assgn a unque prorty to each job. EDF (Earlest Deadlne Frst) and LLF (Least Laxty Frst) are n ths category [9,8,9]. Both EDF and LLF are optmal on unprocessor systems []. However, EDF s not optmal on multprocessors. In fact, the schedulable utlzaton bound of EDF can be very low on multprocessors. EDF suffers from Dhall's effect []; EDF has dffculty n schedulng task sets n whch hgh utlzaton tasks and low utlzaton tasks are mxed. Ths s because EDF may gve low prorty to hgh utlzaton tasks f the tasks have long deadlnes. The schedulable utlzaton bound of EDF on m processors approaches. To overcome ths weakness, varous EDF-based schedulng algorthms have been proposed such as EDF-US[m/(m-)], fpedf, EDF (k), and EDZL [,8,,]. LLF s free from Dhall's effect because hgh utlzaton tasks are lkely to have hgh prorty n LLF schedulng. It s known that LLF can successfully schedule much more tasks sets than EDF on multprocessors []. Nevertheless, LLF s not optmal on multprocessors, ether. Whle there are many research results on mprovng EDF schedulablty, lttle research work on mprovng LLF schedulablty can be found. Ths paper presents LLFp (Least Laxty Frst wth prorty nverson) schedulng algorthm whch s a modfcaton of LLF that mproves the schedulablty on multprocessors. LLFp computes the amount of processor dle tme caused by completon of hgh prorty job n the near future. Then t allows temporary prorty nverson; a hgher prorty job may not be scheduled mmedately as long as ts deadlne can be met. Instead, a lower prorty job s executed so that the future processor dle tme may be reduced. Ths paper shows that LLFp domnates LLF, n other words, LLFp can successfully schedule any task set whch s schedulable by LLF. We conduct extensve smulaton studes to evaluate LLFp algorthm. The expermental results show that LLFp outperforms LLF n terms of the number of successfully scheduled task sets. Ths paper s organzed as follows. Secton brefly explans the background and related works. Secton descrbes the system model and notatons. Secton 4 presents LLFp algorthm and ts property. Secton shows the smulaton results. Then we conclude n Secton 6. BACKGROUND AND RELATED WORK Prorty-drve algorthms assgn prortes to jobs and execute the hghest-prorty jobs on avalable processors. Prorty- * Correspondng author 89

Internatonal Journal of Appled Engneerng Research ISSN 9-46 Volume, Number 6 (6) pp 89-898 drven algorthms are classfed nto two categores: statc prorty and dynamc prorty. Statc prorty algorthms assocate each task wth a unque prorty, and all jobs generated by a task are gven the same prorty assocated wth the task. Examples of such algorthms are RM and DM [,]. Dynamc prorty algorthms are classfed agan nto task-level dynamc prorty and job-level dynamc prorty. Task-level dynamc prorty algorthms assgn a unque prorty to each job and the prorty does not change untl the job completes. Jobs generated by a task may be gven dfferent prortes. EDF s a task-level dynamc prorty algorthm. In job-level dynamc prorty algorthms, a job s prorty may change dynamcally durng executon. LLF s n ths category. From the perspectve of task mgraton, there are two schedulng approaches n multprocessor prorty-drven algorthms: parttonng and global schedulng. In parttonng approach, tasks are parttoned nto dsjont subsets, and tasks n a subset are bound to a processor. Task mgraton s not allowed. Tasks n a subset are scheduled by one of unprocessor schedulng algorthms such as RM, DM, and EDF. The advantage of parttonng approach s that there are numerous research results on unprocessor schedulng. The dsadvantage s that the problem of parttonng tasks s NPhard n the strong sense [4]. In global schedulng approach, task mgraton s allowed. Tasks can be executed on any processor. Unprocessor prorty-drven algorthms can be adopted n ths approach, such as (global) RM and (global) EDF. Global schedulng can provde hgher processor utlzaton than parttonng approach, and s preferred f the workload s lkely to vary greatly, that s, tasks are lkely to jon and leave the system frequently. LLF s a well-known (job-level) dynamc prorty algorthm. It assgns the hghest prorty to a job wth the least laxty. Jobs wth the same laxty are executed n a statc order determned by te-breakng rules. LLF s optmal on unprocessor, and t outperforms many prorty-drven algorthms on multprocessors []. On the other hand, LLF may cause a number of context swtches when laxtes of two or more jobs te. To reduce the number of context swtches, [] proposed a modfed LLF algorthm that allows laxty nversons. There are some studes that focus on the practcal use of LLF. [6] developed a coprocessor dedcated for LLF schedulng. [] presented a CAN bus schedulng scheme that mplemented LLF algorthm. Recently, [] dentfed the laxty dynamcs n LLF schedulng and proposed an LLF schedulablty test on multprocessors. There are some works on the predctablty property of prorty-drven algorthms. [4] defned the predctablty of algorthms wth respect to varatons n job executon tme as follows. The executon of a job s fnsh tme predctable f the fnsh tme of the job n the actual schedule can be bounded by the fnsh tme n the maxmum/mnmum schedule (Maxmum/mnmum schedule s a schedule generated by a schedulng algorthm for a set of jobs whch requre the worst/best-case executon tme). A schedulng algorthm s fnsh tme predctable f the executon of every job n any set of jobs s fnsh tme predctable. [] studed on the predctablty of LLF. It proved that LLF s fnsh tme predctable, whch mples that the fnsh tme resultng from the actual executon requrement s no later than the fnsh tme resultng from the worst-case executon requrement for every job. Lemma (Theorem 4 n []). LLF s fnsh tme predctable f the actual executon tme s known. SYSTEM MODEL We consder preemptve and mgratable schedulng of hardreal tme tasks on m dentcal multprocessors. A task set = {,,, n} conssts of n ndependent perodc tasks. A perodc task = (E, P ) s characterzed by two parameters: a worst-case executon tme E and a perod P. We assume that all tasks start at the same tme and the relatve deadlne of each task s equal to ts perod. The utlzaton of task s denoted by U = E / P, and the total utlzaton of s denoted by U() = n U. Each task releases a job at tme (k )P (k =,, ), whch requres executon for E tme unts by an absolute deadlne kp. A job j s represented by (r, c, d ), where r s the release tme, c s the executon requrement, and d s the (absolute) deadlne. The laxty of job j at tme t s l (t) = d t a (t), where a (t) s the remanng executon tme of j at tme t. The laxty of a job represents the urgency of the job. A negatve laxty means that the job cannot meet ts deadlne. If the laxty s zero, the job must be executed mmedately to meet ts deadlne. A job s actve f t s released but not completed. The actve jobs at tme t are parttoned nto two sets, (t) and (t). (t) s the set of actve jobs that are selected to execute durng [t, t+). And (t) s the set of actve jobs that are not selected. We defne r (t) as the earlest release tme of any job after tme t. Durng tme nterval [t, r (t)), no job s released. LLF WITH PRIORITY INVERSION Motvatonal Example : Consder LLF schedule for = { (, 4), (, 4), (4, 8) } on two processors. Snce U() =, s successfully scheduled only f no processor dles. As shown n Fgure, however, a processor dles durng [,4). msses ts deadlne at tme 8. At tme, and have the least laxty and are selected to execute. Snce ther remanng executon tme s, both complete executons at tme. At tme, s the only actve job, thus one of the processors must dle durng [,4). If we know the presence of the processor dle tme n advance, we can select that has a larger remanng executon tme nstead of (or ) at tme. If we do so as shown n Fgure, there are two actve jobs at tme, (or ) and, resultng n no processor dle tme. 896

Internatonal Journal of Appled Engneerng Research ISSN 9-46 Volume, Number 6 (6) pp 89-898 by the number of jobs n (t), the number of jobs n (t) and the amount of processor dle tme. The amount of processor dle tme s gven by m(r (t) t) D total. () Choose and demote/promote jobs: We choose jobs to demote and jobs to promote from (t) and (t), respectvely. Frst, we choose jobs n (t) that satsfy the followng condton. ( l ( t) ) ( a ( t) r ( t) t ) () Fgure. LLF Schedule for = { (, 4), (, 4), (4, 8) } It s reasonable to choose jobs wth a laxty enough to delay ther executon. A job j (t) satsfyng the above condton can always meet ts deadlne (as we wll show n Secton 4.). Then, for each job chosen, we choose j j (t), and swap them, that s, demote j and promote j j. Algorthm. LLFp Schedulng Algorthm Fgure. LLFp Schedule for = { (, 4), (, 4), (4, 8) } LLFp Algorthm : LLFp allows temporary prorty nverson; a least-laxty job may not be scheduled mmedately as far as ts deadlne can be met. Instead, a larger-laxty job s executed so that future processor dle tme may be reduced. LLFp algorthm conssts of three steps: () Examne the presence of processor dle tme, () Determne the maxmum number of jobs to delay, () Choose and demote/promote jobs. The algorthm s formally descrbed n Algorthm. () Examne the presence of processor dle tme: Snce no job s released untl r (t), we can focus on actve jobs at tme t. Intally (t) s the set of at most m least-laxty jobs and (t) s the set of the rest actve jobs. The processor demand of a job n (t) wthn [t, r (t)) s mn{ a (t), r (t) t }. And the processor demand of a job n (t) wthn [t, r (t)) s mn{ a (t), r (t) t } snce t s not executed durng [t, t+). Hence the total processor demand s calculated as follows. D mn a (t),r (t) t mn a (t),r (t) t total jσ(t) jρ(t) () If the total demand of processor tme of actve jobs wthn [t, r (t)) s less than the computng capacty, there exsts processor dle tmes n [t, r (t)). Therefore the condton for the presence of processor dle tme s as follows. D m( r ( t) t) () total () Determne the maxmum number of jobs to delay: The maxmum number of jobs to delay durng [t, t+) s bounded : loop : partton actve jobs nto (t) and (t) : f (t) + (t) m then 4: goto 4 : end f 6: compute D total : f D total m(r (t) t) then 8: goto 4 9: end f : AmountIdle m(r (t) t) D total : MaxDelay mn{ (t), (t), AmountIdle } : NumDelay : for each j (t) do 4: f l (t) and a (t) r (t) t then : select j j (t) arbtrarly 6: move j from (t) to TMP : move j j from (t) to (t) 8: NumDelay NumDelay + 9: f NumDelay = MaxDelay then : goto 4 : end f : end f : end for 4: execute jobs n (t) : t t + 6: end loop Example. Consder LLFp schedulng for = { (, 4), (, 4), (4, 8) } on two processors. The LLFp schedule s dentcal wth the LLF schedule on nterval [,) (see Fgure ). At tme t =, ()={, } and ()={ }. Snce r ()=4 and D total = mn{,} + mn{,} + mn{4,} =, Equaton s satsfed. The amount of processor dle tme, AmountIdle, s. The maxmum number of jobs to delay, MaxDelay, s. Snce satsfes Equaton, s chosen to be demoted (or delayed). Swappng and, now we have ()={, }. and are executed durng [,). LLFp can successfully schedule as shown n Fgure. 89

Internatonal Journal of Appled Engneerng Research ISSN 9-46 Volume, Number 6 (6) pp 89-898 Property : A schedulng algorthm A s sad to domnate another schedulng algorthm B f any task set schedulable by B s also schedulable by A. A s sad to strctly domnate B f A domnates B and there s a task set that s schedulable by A but not by B. In ths secton we prove that LLFp strctly domnates LLF. Theorem. If a task set s schedulable by LLF, then s also schedulable by LLFp. Proof. Let J={j, j,... } be a set of jobs generated by that s schedulable by LLF. Suppose that Equaton holds at tme t and j ((t)) satsfes Equaton. On the nterval [, t), the LLF schedule and the LLFp schedule of J are dentcal. Thus, every job meets deadlne on the nterval [, t) n the LLFp schedule. Let j j ((t)) be a job selected to execute durng [t, t+) nstead of j. Snce j s not executed durng [t, t+), the laxty of j decreases durng [t, t+). Ths mples that the laxty of j at tme (t+) n the LLFp schedule s less,.e., ts prorty s hgher than n the LLF schedule (Note that no other job s release untl r (t)). j s not demoted any more f the amount of processor dle tme becomes zero or ts laxty becomes zero. Eventually t completes ts executon and meets ts deadlne snce t has a small remanng executon tme enough to complete before or at r (t) (see Equaton ). There are two cases. Case ) j completes ts executon wthout nterferng wth any other job. In ths case, j s completon tme s later than n the LLF schedule. It consumes processor tme that would be dle tme n the LLF schedule. Case ) j s late completon causes a low prorty job to be delayed. In ths case, the delayed job may cause another job to be delayed transtvely. In these jobs, a job s laxty s greater than or equal to ts pror job s laxty. Snce the frst job j s delayed at most l (t) tme unts, the last job, say j k, s delayed at most l (t) tme unts whch s less than l k(t). j k completes ts executon wth non-negatve laxty, and t consumes processor tme that would be dle tme n the LLF schedule. Hence, every job meets ts deadlne on the nterval [t, r (t)) n the LLFp schedule. Let J={ j, j,... } be a set of jobs such that the release tme and deadlne of j are the same as j and the executon requrement of j s equal to the remanng executon tme of j at tme r (t) n the LLF schedule,.e., j =(r, a (r (t)), d ). The LLF schedule of J from tme s dentcal to the LLF schedule of J from tme r (t). Snce J s schedulable by LLF, every job n J meets ts deadlne n the LLF schedule. Now consder a set of jobs J*={ j *, j *,... }. The release tme and deadlne of j * are the same as j and the executon requrement of j * s equal to the remanng executon tme of j at tme r (t) n the LLFp schedule,.e., j *=(r, c *, d ) where c *= for demoted jobs, c *< a (r (t)) for promoted jobs, and c *=a (r (t)) for the other jobs. Ths s equvalent to the case where the actual executon requrement c * s smaller than the worst-case executon requrement a (r (t)). By Lemma, the fnsh tme of j * n the LLFp schedule s no later than that of j n the LLF schedule. Hence, every job meets ts deadlne on the nterval [r (t), ) n the LLFp schedule. Every job of J meets ts deadlne over all ntervals n the LLFp schedule. Therefore, s schedulable by LLFp. Theorem. LLFp strctly domnates LLF. Proof. By Theorem, LLFp domnates LLF. And there s a task set that s schedulable by LLFp but not by LLF as shown n Example. Therefore, the theorem follows. EXPERIMENTS Ths secton evaluates LLFp algorthm through smulatons. We generate task sets for the smulatons as follows. Each task set can contan at most tasks. We generate and add a task to a task set untl the total utlzaton of the task set reaches a target utlzaton. We generate task sets varyng the target utlzaton from (m-.) to m wth a step of.. For each target utlzaton, we generate task sets. The perod of each task, P, s n the range of [, ] and s generated by the algorthm Goossens et al. proposed n []. Ths algorthm controls the hyper-perod of tasks sets so that the smulaton can be completed wthn a reasonable tme. The prme number matrx M used n ths smulaton s shown below. Each row contans a sequence of powers of one of prme numbers,,,, and. The perod of a task s generated by multplyng the elements randomly selected from each row. For example, f M,6, M,, M,, M 4,, M,4 and M 6, are selected, the perod s = 94. M 4 4 In Smulaton I, the utlzaton of each task s generated accordng to a unform dstrbuton on [., ). In Smulaton II, the tasks are generated so that the dfference between utlzatons s relatvely large. For a half of tasks of a task set the utlzaton s generated accordng to a unform dstrbuton on [.,.), and for the rest tasks of the task set the utlzaton s generated accordng to a unform dstrbuton on [.8,.). In both smulatons, the worst case executon tme of each task s calculated by E = u P. We compute an LLF schedule and an LLFp schedule for each task set, and examne f all jobs meet ther deadlne over a hyper-perod. If so, the task set s sad to be schedulable. If any job msses ts deadlne wthn a hyper-perod, the task set s sad to be unschedulable. We count the number of schedulable task sets for each target utlzaton. The least common multples of perods. 898

Internatonal Journal of Appled Engneerng Research ISSN 9-46 Volume, Number 6 (6) pp 89-898 Fgure, Fgure 4, and Fgure show the expermental results of Smulaton I wth, 4, and 8 processors, respectvely. LLFp successfully schedules all task set that s schedulable by LLF, as proven n Theorem. When the target utlzaton s very close to m (the theoretcal maxmum utlzaton of an deal system), the number of schedulable task sets shrnks fast. In such stuaton, LLFp outperforms LLF sgnfcantly. On processors, when the target utlzaton s greater than.8, LLFp successfully schedules more task sets than LLF. The dfference s maxmzed when the target utlzaton s.99. Among task sets, LLFp successfully schedules 9 task sets, whereas LLF successfully schedules only 9 task sets. On 4 processors, LLFp successfully schedules more task set than LLF when the target utlzaton s greater than.86, and the maxmum dfference s 4. On 8 processors, LLFp outperforms LLF when the target utlzaton s greater than.86, and the maxmum dfference of the number of schedulable task sets s 9. Fgure 4: (Smulaton I) Smulaton Results on 4 Processors Fgure 6, Fgure, and Fgure 8 show the expermental results of Smulaton II wth, 4, and 8 processors, respectvely. In Smulaton II where hgh utlzaton tasks and low utlzaton tasks are mxed, the results are smlar to Smulaton I. The maxmum dfference of the number of schedulable task sets s when m = and the target utlzaton s.. On the whole, however, the dfference of the number of schedulable task sets s smaller than Smulaton I. Fgure : (Smulaton I) Smulaton Results on 8 Processors Fgure : (Smulaton I) Smulaton Results on Processors Fgure 6: (Smulaton II) Smulaton Results on Processors 899

Internatonal Journal of Appled Engneerng Research ISSN 9-46 Volume, Number 6 (6) pp 89-898 CONCLUSION In ths paper, we proposes LLFp schedulng algorthm whch s an mprovement of LLF algorthm on multprocessor realtme embedded systems. LLFp allows temporary prorty nverson so that lower-prorty jobs may have a chance to execute, and reduces processor dle tme by delayng the completon of hgher-prorty jobs. We prove that LLFp strctly domnates LLF, that s, LLFp can schedule any task set that s schedulable by LLF and there s a task set that s schedulable by LLFp but not schedulable by LLF. Wet also present extensve smulaton results on the performance of LLFp n terms of the number of schedulable task sets. The results show that LLFp outperforms LLF when the total utlzaton of a task set s close to the maxmum utlzaton. The maxmum dfference of the number of schedulable task sets s among task sets when the target utlzaton s. and hgh utlzaton tasks and low utlzaton tasks are mxed on processors. Fgure : (Smulaton II) Smulaton Results on 4 Processors Fgure 8: (Smulaton II) Smulaton Results on 8 Processors REFERENCES [] B Carlson and S Jahnke, Leveragng the Benefts of Symmetrc Multprocessng (SMP) n Moble Devces, Texas Instruments whte paper, (9). [] Sgma Desgns Inc., HD Smart TV SoCs, http://www.sgmadesgns.com/hd-smart-tv-socs/ [] ARM Ltd., Advanced Drver Assstance Systems (ADAS), http://www.arm.com/markets/embedded/ advanced-drver-assstance-systems.php [4] NVIDIA Corporaton, NVIDIA DRI VE PX, http://www.nvda.com/object/drve-px.html [] K. Rchter, M. Jersak and R. Ernst, A Formal Approach to MPSoC Performance Verfcaton, IEEE Computer, vol. 6, no. 4, (), pp. 6-6. [6] K. Rchter, R. Racu and R. Ernst, Schedulng Analyss Integraton for Heterogeneous Multprocessor SoC, Proceedngs of the 4th Internatonal Real-Tme Systems Symposum, Cancun, Mexco, () December -. [] S. Baruah, Optmal Utlzaton Bounds for the Fxed- Prorty Schedulng of Perodc Task Systems on Identcal Multprocessors, IEEE Transactons on Computers, vol., no. 6, (4), pp. 8-84. [8] S. Cho, S. Lee, S. Ahn and K. Ln, Effcent Real-Tme Schedulng Algorthms for Multprocessor Systems, IEICE Transactons on Communcatons, vol. E8-B, no., (), pp. 89-86. [9] M. L. Dertouzos and A. K. Mok, Multprocessor On- Lne Schedulng of Hard Real-Tme Tasks, IEEE Transactons on Software Engneerng, vol., no., (989), pp. 49-6. [] S. K. Dhall and C. L. Lu, On a Real-Tme Schedulng Problem, Operatons Research, vol. 6, no., (98), pp. -4. [] J. Goossens, S. Funk and S. Baruah, Prorty-Drven Schedulng of Perodc Task Systems on Multprocessors, Real-Tme Systems, vol., no. -, (), pp. 8-. [] N. Audsley, A. Burns, M. Rchardson and A. Wellngs, Hard Real-Tme Schedulng: The Deadlne Monotonc Approach, Proceedngs of the 8th IEEE Workshop on Real-Tme Operatng Systems and Software, Atlanta, GA, (99) May -. [] J. Goossens and C. Macq, Lmtaton of the Hyperperod n Real-tme Perodc Task Set Generaton, Proceedngs of the 9th Internatonal Conference on Real-Tme Systems, Pars, France, () March 6. [4] R. Ha and J. Lu, Valdatng Tmng Constrants n Multprocessor and Dstrbuted Real-Tme Systems, Proceedngs of the 4th IEEE Internatonal Conference on Dstrbuted Computng systems, Los Alamtos, CA, (994) June -4. [] S. Han and M. Park, Predctablty of Least Laxty Frst Schedulng Algorthm on Multprocessor Real-Tme Systems, Emergng Drectons n Embedded and Ubqutous Computng, Sprnger Berln Hedelberg, (6), pp. -64. [6] J. Hldebrandt, F. Golatowsk and D. Tmmermann, Schedulng Coprocessor for Enhanced Least-Laxty- 898

Internatonal Journal of Appled Engneerng Research ISSN 9-46 Volume, Number 6 (6) pp 89-898 Frst Schedulng n Hard Real-Tme Systems, Proceedngs of the th Euromcro Conference on Real- Tme Systems (ECRTS99), York, England, (999) June 9-. [] J. Lee, A. Easwaran, and I. Shn, Laxty Dynamcs and LLF Schedulablty Analyss on Multprocessor Platforms, Real-Tme Systems, vol. 48, nol 6, (), pp. 6-49. [8] J. Leung, A New Algorthm for Schedulng Perodc Real-Tme Tasks, Algorthmca, vol. 4, no. -4, (989), pp. 9-9. [9] C. L. Lu and J. W. Layland, Schedulng Algorthms for Multprogrammng n a Hard-Real-Tme Envronment, Journal of the ACM, vol., no., (9), pp. 46-6. [] J. W. Lu, Real-Tme Systems, Prentce Hall, (). [] M. Lvan and J. Kaser, Evaluaton of a Hybrd Realtme Bus Schedulng Mechansm for CAN, Parallel and Dstrbuted Processng, Sprnger Berln Hedelberg, (999), pp. 4-49. [] S. Oh and S. Yang, A Modfed Least-Laxty-Frst Schedulng Algorthm for Real-Tme Tasks, Proceedngs of the fth Internatonal Conference on Real-Tme Computng Systems and Applcatons (RTCSA'98), Hroshma, Japan, (998) October -9. [] A. Srnvasan and S. Baruah, Deadlne-based Schedulng of Perodc Task Systems on Multprocessors, Informaton Processng Letters, vol. 84, no., (), pp. 9-98. [4] J. Carpenter, S. Funk, P. Holman, A. Srnvasan, J. Anderson and S. Baruah, Handbook of Schedulng: Algorthms, Models, and Performance Analyss, Chapman & Hall/CRC press, London, (4). 898