Usage of the mathematical programming for solving the allocation problem.
5th FRUCT seminar. Eugene Gavrin [email protected] Introduction
Information systems strive to efficiently utilizing massive distributed and parallel systems
Programs with high number of inter-task communications may hardly increase execution time by adding communication delays
The optimal task allocation can significantly decrease the total execution time by balancing with several criteria
2 Allocation problem
Allocation problem arises, when: The number of processes exceeds the number of available PEs Dependencies in parallel algorithm differs from PE interconnection of the parallel platform
Allocation purposes: Minimize the total program execution time Get results in the reasonable time Common optimization criteria
To obtain the optimal allocation of tasks on processor elements (PE) it is needed to take into account different criteria of optimization. Main of them are:
Execution time PE workload The amount of data transmitted over the network Power consumption etc…
4 Allocation task formulation
We consider the simplified platform where every PE can directly interact with each other.
As source data we have: Platform description (set of PEs) Program graph specification (set of tasks and their interaction)
The selected criteria for allocation are: PE workload balancing The amount of data transmitted over the network
5 Overview of solution method
Method for solving: Linear programming
Solver: GLPK Convenient API Provides simple formalization language Free and open source
6 Formal description: balancing
P – is the set of distributed processors
T – is the set of tasks to run on the processors
qtp – is execution cost of task t on processor p
xtp – is the binary decision variable that is equal to 1 if task t is assigned on to processor p
⎡ n ⎤ ⎡ n ⎤ max ()tp ⋅ xq tp − min ⋅ xq tptp () ∈Pp ⎢∑ ⎥ ∈Pp ⎢∑ ⎥ ⎣ t=1 ⎦ ⎣ t=1 ⎦
7 Formal description: amount of data
U – communication between Ti and Tj during processing
Cij – communication cost between tasks Ti and Tj
8 Task describing (MathProg)
Sets
Parameters
Variables Objective function
Additional limitations
9 Developed toolset scheme
10 Allocation results example
?
11 Allocation results example
12 Results
Described problem with the mathematical programming formalism
Described task allocation problem in MathProg
Implemented a tool set for solving the task allocation problem
A successful integration into existing projects
Confirmed effectiveness of the proposed method
13 Plans on future
Explore possibility to use Quadratic Programming instead of Linear Programming
Explore the possibility of solving this difficult problems in parallel
Perform computations on the graphics accelerators
14 Many thanks for your attention.
You may contact me at [email protected]
15 16 Questions [GLPK alternatives]
Free and opensource: CVXOPT glpk Qoca CVXGPL
Commercial: AIMMS AMPL CPLEX EXCEL LibrariesLingoMATLABMathematica MOPS MOSEK OptimJ SAS Xpress-MP
17 Questions [Full LP problem]
18