Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.

Similar presentations


Presentation on theme: "1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University."— Presentation transcript:

1 1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University of Southern California presented at WPDRTS April 26, 2004

2 2 Outline Introduction Problem statement Mathematical model Linearization technique IIP formulation Experiments and results Concluding remarks

3 3 Introduction dynamic real-time systems sensorsactuators environment computing power system

4 4 Resource allocation issues in resource allocation –variations of parameters during run time –performance requirements satisfaction end-to-end latency throughput –task and machine heterogeneities –sharing of resources among tasks

5 5 Initial allocation initial allocation –initial allocation of system resources –utilizes “ off-line ” resources to determine an allocation –can afford high time complexity necessity for our initial allocation technique –run-time parameter variations are taken into account –system is more robust with respect to varying run- time parameters

6 6 Goal of initial allocation satisfy all performance requirements able to absorb variations of run-time parameters for the longest amount of time postpone the first dynamic re-allocation at run time

7 7 Problem statement (1) system model –a set of heterogeneous machines connected by a heterogeneous network –different machines have different compute power –different network links have different capacity Machines

8 8 Problem statement (2) application model sensors actuators 1 9 6 3 11 8 ASDF process network primary edge sensor communication and actuator Control primary route 2 4 5 7 10 A B X Y Z source Node sink Node non-primary edge

9 9 Problem statement (3) run-time parameters –load level of a task: amount of data received through the primary edge run-time parameter variations –load level can vary during run time –variations affect computation and communication latency of a task –assume linear function between latency and load level –consider task and machine heterogeneities latency load level ETCF matrix machines tasks

10 10 Problem statement (4) performance requirements –throughput requirement –end-to-end latency requirement performance metric –the amount of load level variations an allocation can absorb –let  control load level of all tasks –MAIL: maximum allowable increase in load level maximum value of  under condition that there is no performance violation this value is called  max

11 11 base latency –latency of a task when there is no resource sharing actual latency –latency of a task when resources are shared –assumption: resource is fairly shared among all tasks –is equal to base latency * the number of tasks running on the same machine Mathematical model (1) -- latency latency load level base latency current load level an entry in ETCF matrix

12 12 Mathematical model (2) -- normalized slackness normalized slackness - the percentage of “ unused ” latency –equal to must be greater than or equal to 0 to meet performance requirements latency requirement initial latency 0 z actual latency  0

13 13 Objective i p 0 i  0 -1  0 p  )( max  given an allocation –suppose p 0 is a task or route that violates its requirement first –p 0 determines  max –p 0 also has the lowest normalized slackness –the minimum normalized slackness is called c min comparing different allocations –an allocation has its own p 0 and c min –an allocation that has higher c min has higher  max objective function: maximize c min zizi REQ i REQ p 0

14 14 Solving the problem resources mathematical formulation IIP formulation initial allocation tasksrequirementsobjective function linearization techniques LP solver (LINDO)

15 15 Linearization by substitution non-linear terms in the mathematical formulation base latency * the number of tasks running on the same machine substitutes the product with an auxiliary variable and adding constraints introduces additional variables and constraints increases complexity

16 16 Given M, A,  p, ETCF, ETKF, L init, R, LREQ, THREQ Find X where x i,l  {0,1} To Minimize Subject to Iterative Integer Programming (IIP) approach 1.Set threshold = 0 2.Solve the following Integer Program

17 17 IIP approach (2) 3.If the Integer Program is infeasible, stop and use the solution of the previous iteration as solution 4.If the Integer Program has an optimal solution, calculate c min and save the solution 5.Set threshold = c min +  and go to step 2.  is a user-provided parameter between 0 and 1

18 18 IIP approach (3) IIP maximizes c min by solving Integer Program iteratively in each iteration, threshold value is the acceptable (minimum) c min value of that iteration –threshold value starts at 0: the IIP approach is not restricted in the first iteration threshold value increases in subsequent iterations, until the IP program is infeasible the last feasible allocation (with highest-known c min value) is used as the solution c min of the resulting allocation is within  of the optimal value

19 19 Experiments --problem generation task and machine heterogeneities –use Gamma distribution to generate ETCF and ETKF matrices –high task heterogeneity and high machine heterogeneity environment initial load level –use uniform distribution from 10 to 100 to generate L init vector performance requirements –use a parameter called f to adjust the tightness of requirements –higher f value means requirements are more lax

20 20 Experiments --other approaches for comparison SMIP –linearizes the formulation by substitution –encodes c min directly into the formulation –formulation is a mixed integer program –formulation is solved only once –is expected to produce an optimal allocation MIP(CBH) –linearizes the formulation by pre-selecting the value of variables –encodes c min directly into the formulation –formulation is a mixed integer program –formulation is solved only once –may not produce an optimal allocation

21 21 Experiment #1 goal: evaluate the performance of IIP approach problem sets –3-5 machines, 12 tasks, f = 1.5 for each problem instance –enumerate all possible initial allocation for each allocation, find its  max select the allocation with the highest  max (the optimal allocation) –formulate and solve the problem using IIP (with  = 0.01), SMIP and MIP(CBH) approaches –compare  max of the allocations with the optimal solution –compare the execution time of each approach

22 22 Results (1)

23 23 Results (2)

24 24 Experiment #2 goal: evaluate the effect of  on the performance of the IIP approach problem sets –3-5 machines, 12 tasks, f = 1.5 for each problem instance –enumerate all possible initial allocation for each allocation, find its  max select the allocation with the highest  max (the optimal allocation) –solve the problem using the IIP approach with  value equal 0.01, 0.05 and 0.1 –compare  max of the resulting allocations with the optimal solution –compare the execution time

25 25 Results (3)

26 26 Results (4)

27 27 Concluding remarks IIP approach guarantees that c min of the resulting allocation is within  of the optimal value trade-off between the quality of results and execution time can be achieved by adjusting the value  future work –explore alternate methods to adjust threshold value between iterations to make IIP faster –formulate the IIP such that the resulting allocation is optimal –additional run-time parameters –different variation patterns of the run-time parameters

28 28 Backup slides

29 29 Problem statement (5) performance metric –the amount of load level variations an allocation can absorb –let  controls load level of all tasks –MAIL: maximum allowable increase in load level maximum value of  under condition that there is no performance violation this value is called  max

30 30 Linearization the need for linearization: multiplication of two unknown variables in the same term recall: actual latency of a task is base latency * the number of tasks running on the same machine depend on where the task is allocated depend on where the task is allocated and on other tasks allocated to the same machine

31 31 Heuristic for Choosing N l Capability Based Heuristic (CBH) –let sl il be the aggregated slope of ETCF i,l and ETKF i,l –define  il –let π il be the relative speed of a i on m l –let CC l be the computation capability of m l –N l is calculated as

32 32 Heuristic for Choosing N l

33 33 Our approach --overview define system and application models define run-time parameters and their variations define a performance metric for initial allocation define mathematical model for latency and throughput of tasks formulate the initial resource allocation as a mixed integer programming (MIP) problem utilize available MIP packages to solve this problem

34 34 Assumptions applications are continuously running multiple applications can share the same machine and communication link –CPU cycles and communication link bandwidth are fairly shared among all applications

35 35 Load level LL(a i ): load level (amount of data received through the primary edge) of task a i –LL: a vector of load level of all tasks –LL init : a vector of initial load level of all tasks ETCF: an estimated-time-to-compute-function matrix ETKF: an estimated-time-to-communicate- function matrix

36 36


Download ppt "1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University."

Similar presentations


Ads by Google