Presentation on theme: "HeMPS Application-Specific Heterogeneous Multiprocessor Synthesis Using Differential-Evolution Allan Rae Sri Parameswaran Dept. of Computer Science and."— Presentation transcript:
HeMPS Application-Specific Heterogeneous Multiprocessor Synthesis Using Differential-Evolution Allan Rae Sri Parameswaran Dept. of Computer Science and Electrical Engineering University of Queensland St. Lucia, Queensland, Australia.
HeMPS Overview qMotivation qRelated work qDifferential Evolution overview qDescription of algorithms qWorked example qResults qConclusions
HeMPS Motivation qApplication specific systems range from washing machines to supercomputers (GRAPE IV) qMost are embedded computers –becoming more complex with shorter time-to-market qShort product cycles limit the number of test designs qDesign quality limited by designers experience –design reuse or adaptation qInnovative design methodologies required to assist designers
HeMPS HeMPS Strategy qProblem-space differential-evolution heuristic –Differential evolution in conjunction with a problem-specific heuristic list-scheduling heuristic qInput : –task data flow graph –library of processor and communication link types –set of subtask execution times for each processor type qOutput : –a distributed, heterogeneous multiprocessor architecture using a point-to-point network –subtask allocations for each processor –a static task schedule
HeMPS Related Work q Scheduling and allocation problem is NP-complete q Numerous heuristics developed in scheduling work q Very few heuristics for multiprocessor synthesis q Prakash & Parker (SOS) 1992 – Mixed Integer, Linear-Programming model q Dhodhi, Ahmad and Storer (SHEMUS) 1995 – Problem-space genetic algorithm with list-scheduling. q Wolf 1997 – multistep heuristic q Dasgupta & Karri (RELSYNOPT) 1997 –reliability-optimal synthesis q Bjørn-Jørgensen and Madsen 1997 – Heterogeneous Critical-Path (HCP) algorithm – maximum performance for a given set of processors
HeMPS Differential Evolution qEvolutionary Computation –Evolutionary Strategies Germany 1960’s, Rechenberg, Schwefel –Evolutionary Programming USA 1960’s, Larry Fogel –Genetic Algorithms qDifferential Evolution, Storn and Price. –Descendent of Evolutionary Strategies –Mutation generated by vector differentials Optimum mutation step size is a function of the standard deviation of the parameters in the population. Each parameters optimum step size is different and varies over time.
HeMPS Differential Evolution Crash Course qPopulation X qParent vector qTwo randomly chosen vectors – and Better of and goes in new population X’ X X’
HeMPS DE Algorithm qInitialise the population with uniform random values qDetermine quality of members of using a scheduling heuristic qrepeat –foreach parent in Randomly select a difference pair and Calculate Determine the quality of if is better than –then goes in new population –else goes in new population –endfor – replaces quntil population converged or generation limit
HeMPS Synthesis Strategy qTrial vectors represent –Numbers of each type of processor available for selection –List of subtask priorities qFitness of a solution determined by a problem-specific heuristic –simple list-scheduling heuristic qOutput of heuristic used to judge fitness –Total time: T t –Implementation cost: –Choice of cost, C t, or performance, T t, optimisation –Target value, V for example: T t V C t 0
HeMPS Scheduling Heuristic qAny heuristic could be used. qWe use a simple list-scheduler so the DE algorithm does the work of finding a good solution. qBetter heuristics should therefore help HeMPS achieve even faster results. qSubtask priorities (part of trial vector) establish the order in which to attempt to schedule the subtasks onto processors. qPriority Scheduling –A given priority list may not be achievable Modify or repair the priority list so it is achievable
HeMPS Illustrative Example qPrakash and Parker’s first example q3 processor types and 4 subtasks Priority Schedule: Unachievable Repaired Priority Schedule: (Swapping repair) , 1.43, , 2.19, 0.1, , 1, 04, 2, 1, 3 1, 2, 4, 3
HeMPS Example Continued qProcessor costs and subtask times P0: P1: Links: P1P0 1, 1, 01, 2, 4, 3 x, 3, 1, x 1, 1, x, Total Cost: = 7 Total Time:
HeMPS Results Examples from Prakash and Parker, Wolf and SHEMUS
HeMPS Conclusions qHeMPS, combines a problem-specific heuristic with differential evolution. qThis combination enables the system to rapidly and efficiently search the design-space for an optimal or near-optimal solution. qProvides equal or better results for the examples described. qAs the number of subtasks is increased the execution time of HeMPS remains low.
HeMPS Latest Advances qPower minimisation –selection of low power implementations –voltage reduction to further minimise power consumption qDatabase of previous calculations –Reduces runtime when evolution results in repetition of earlier trial solutions qInitialisation experiments –Previously only random initialisations were used –Trialled ALAP, ASAP, HCP… qRevised problem-specific heuristic –experimenting with a modified HCP heuristic –trial solutions now represent a list of allocations to processor types and numbers of those types of processors