Usage of the Mathematical Programming for Solving the Allocation Problem
Total Page:16
File Type:pdf, Size:1020Kb
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 q()tp ⋅ tp x − min q ()tp⋅ x tp p∈ P ⎢∑ ⎥ p∈ P⎢∑ ⎥ ⎣ 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.