1 / 36

Sethavidh Gertphol and Viktor K. Prasanna University of Southern California presented at WPDRTS

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. Outline. Introduction Problem statement Mathematical model

flower
Download Presentation

Sethavidh Gertphol and Viktor K. Prasanna University of Southern California presented at WPDRTS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Outline • Introduction • Problem statement • Mathematical model • Linearization technique • IIP formulation • Experiments and results • Concluding remarks

  3. Introduction • dynamic real-time systems environment system computing power sensors actuators

  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. 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. 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. Machines 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

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

  9. machines tasks ETCF matrix latency load level 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

  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. latency base latency current load level load level an entry in ETCF matrix Mathematical model (1)-- latency • 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

  12. actual latency latency requirement z initial latency 0 a -1 0 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

  13. actual latency a a a ( ) p i max 0 Objective • given an allocation • suppose p0 is a task or route that violates its requirement first • p0 determines max • p0 also has the lowest normalized slackness • the minimum normalized slackness is called cmin • comparing different allocations • an allocation has its own p0 and cmin • an allocation that has higher cminhas higher max • objective function: maximize cmin p 0 i REQi REQp0 zi a - 1 0

  14. Solving the problem resources tasks requirements objective function mathematical formulation linearization techniques IIP formulation LP solver (LINDO) initial allocation

  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. Iterative Integer Programming (IIP) approach • Set threshold= 0 • Solve the following Integer Program Given M, A, p, ETCF, ETKF, Linit, R, LREQ, THREQ FindX where xi,l{0,1} To Minimize Subjectto

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

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

  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 Linit vector • performance requirements • use a parameter called f to adjust the tightness of requirements • higher f value means requirements are more lax

  20. Experiments --other approaches for comparison • SMIP • linearizes the formulation by substitution • encodes cmin 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 cmin directly into the formulation • formulation is a mixed integer program • formulation is solved only once • may not produce an optimal allocation

  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 maxof the allocations with the optimal solution • compare the execution time of each approach

  22. Results (1)

  23. Results (2)

  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 maxof the resulting allocations with the optimal solution • compare the execution time

  25. Results (3)

  26. Results (4)

  27. Concluding remarks • IIP approach guarantees that cmin 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. Backup slides

  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. 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. Heuristic for Choosing Nl • Capability Based Heuristic (CBH) • let slil be the aggregated slope of ETCFi,l and ETKFi,l • define il • let πil be the relative speed of aion ml • let CCl be the computation capability of ml • Nlis calculated as

  32. Heuristic for Choosing Nl

  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. 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. Load level • LL(ai):load level (amount of data received through the primary edge) of task ai • LL:a vector of load level of all tasks • LLinit: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

More Related