Diploma Thesis from the year 1999 in the subject Computer Science - Applied, grade: 1,0, Karlsruhe Institute of Technology (KIT) (Informatik, Angewandte Informatik), language: English, abstract: Inhaltsangabe:Abstract:
Two evolutionary approaches of allocating tasks onto a Field-Programmable Gate Array (FPGA) are presented.
Offline task arrangement: whenever a set of tasks has to be arranged onto an FPGA in practice, one is interested in arranging a maximum number of tasks which efficiently utilize the FPGA area. A genetic algorithm is proposed searching for an arrangement of tasks offline, i.e. before the tasks are physically placed onto the FPGA.
Online task arrangement: FPGAs that allow partial reconfiguration at run-time can be shared among multiple independent tasks. When the sequence of tasks to be performed is unpredictable the FPGA controller needs to make allocation decisions online. Since online allocation suffers from fragmentation, tasks can end up waiting despite there being sufficient, albeit non-contiguous resources available to service them. The time to complete tasks is consequently longer and the utilization of the FPGA is lower than it could be. A genetic algorithm is proposed rearranging a subset of the tasks executing on the FPGA when doing so allows the next pending task to be processed sooner. In comparison with other heuristic approaches a genetic algorithm is described and evaluated which overcomes the NP-hard problems of identifying feasible rearrangements and scheduling the rearrangements when moving tasks are reloaded from off-chip.
Inhaltsverzeichnis:Table of Contents:
1.Introduction7
2.Field Programmable Gate Arrays9
2.1Architecture of FPGAs9
2.2Dynamically Reconfigurable FPGAs10
2.3Comparison with Related Devices11
2.4Creation of an FPGA Model11
3.FPGA Task Arrangement Problem18
3.1Static Task Arrangement Problem18
3.1.1Static Task Management18
3.1.2Problem Formulation20
3.2Dynamic Task Arrangement Problem21
3.2.1Dynamic Task Management21
3.2.2Search for an Admissible Task Rearrangement22
3.2.3Rearrangement Scheduling24
3.2.4Buffer Restriction27
3.2.5Problem Formulation30
4.Arrangement Concepts31
4.1Shape Functions31
4.2Slicing Trees35
5.Genetic Algorithms41
5.1Introduction41
5.2The Functioning of Genetic Algorithms 43
5.3Main Components of Genetic Algorithms45
5.3.1Representation45
5.3.2Initialization46
5.3.3Evaluation47
5.3.4Stopping Condition47
5.3.5Reproduction47
5.3.6Selection48
5.3.7Genetic Operators49
6.Static Task Arrangement51
6.1Representation51
6.2Initialization52
6.2.1Random Pairing53
6.2.2Traversal of Flexible Slicing Trees53
6.3Evaluation56
6.4Genetic Operators56
6.4.1Mutation57
6.4.2Crossover61
7.Dynamic Task Arrangement65
7.1Background GA65
7.1.1Initialization65
7.1.2Evaluation66
7.1.3Events67
7.2Task Remove Event68
7.3New Task Event68
7.3.1Search for Rearrangement70
7.3.2Scheduling GA73
7.3.3Population Update76
8.Experimental Results78
8.1Performance of Static Task Arrangement78
8.1.1Test Data Generation79
8.1.2Overview of Experiments81
8.1.3Performance of Initialization81
8.1.4Performance of Mutation85
8.1.5Performance of Crossover 89
8.1.6Task Parameter Effect95
8.2Performance of Dynamic Task Arrangement 97
8.2.1Other Approaches by Diessel98
8.2.2Simulation-Specific Modifications99
8.2.3Test Data Generation101
8.2.4Overview of Experiments104
8.2.5Relation between System Load and Allocation Performance105
8.2.6Relation between Configuration Delay and
Allocation Performance110
9.Conclusion115
A.Program Documentation117
A.1Static...
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Two evolutionary approaches of allocating tasks onto a Field-Programmable Gate Array (FPGA) are presented.
Offline task arrangement: whenever a set of tasks has to be arranged onto an FPGA in practice, one is interested in arranging a maximum number of tasks which efficiently utilize the FPGA area. A genetic algorithm is proposed searching for an arrangement of tasks offline, i.e. before the tasks are physically placed onto the FPGA.
Online task arrangement: FPGAs that allow partial reconfiguration at run-time can be shared among multiple independent tasks. When the sequence of tasks to be performed is unpredictable the FPGA controller needs to make allocation decisions online. Since online allocation suffers from fragmentation, tasks can end up waiting despite there being sufficient, albeit non-contiguous resources available to service them. The time to complete tasks is consequently longer and the utilization of the FPGA is lower than it could be. A genetic algorithm is proposed rearranging a subset of the tasks executing on the FPGA when doing so allows the next pending task to be processed sooner. In comparison with other heuristic approaches a genetic algorithm is described and evaluated which overcomes the NP-hard problems of identifying feasible rearrangements and scheduling the rearrangements when moving tasks are reloaded from off-chip.
Inhaltsverzeichnis:Table of Contents:
1.Introduction7
2.Field Programmable Gate Arrays9
2.1Architecture of FPGAs9
2.2Dynamically Reconfigurable FPGAs10
2.3Comparison with Related Devices11
2.4Creation of an FPGA Model11
3.FPGA Task Arrangement Problem18
3.1Static Task Arrangement Problem18
3.1.1Static Task Management18
3.1.2Problem Formulation20
3.2Dynamic Task Arrangement Problem21
3.2.1Dynamic Task Management21
3.2.2Search for an Admissible Task Rearrangement22
3.2.3Rearrangement Scheduling24
3.2.4Buffer Restriction27
3.2.5Problem Formulation30
4.Arrangement Concepts31
4.1Shape Functions31
4.2Slicing Trees35
5.Genetic Algorithms41
5.1Introduction41
5.2The Functioning of Genetic Algorithms 43
5.3Main Components of Genetic Algorithms45
5.3.1Representation45
5.3.2Initialization46
5.3.3Evaluation47
5.3.4Stopping Condition47
5.3.5Reproduction47
5.3.6Selection48
5.3.7Genetic Operators49
6.Static Task Arrangement51
6.1Representation51
6.2Initialization52
6.2.1Random Pairing53
6.2.2Traversal of Flexible Slicing Trees53
6.3Evaluation56
6.4Genetic Operators56
6.4.1Mutation57
6.4.2Crossover61
7.Dynamic Task Arrangement65
7.1Background GA65
7.1.1Initialization65
7.1.2Evaluation66
7.1.3Events67
7.2Task Remove Event68
7.3New Task Event68
7.3.1Search for Rearrangement70
7.3.2Scheduling GA73
7.3.3Population Update76
8.Experimental Results78
8.1Performance of Static Task Arrangement78
8.1.1Test Data Generation79
8.1.2Overview of Experiments81
8.1.3Performance of Initialization81
8.1.4Performance of Mutation85
8.1.5Performance of Crossover 89
8.1.6Task Parameter Effect95
8.2Performance of Dynamic Task Arrangement 97
8.2.1Other Approaches by Diessel98
8.2.2Simulation-Specific Modifications99
8.2.3Test Data Generation101
8.2.4Overview of Experiments104
8.2.5Relation between System Load and Allocation Performance105
8.2.6Relation between Configuration Delay and
Allocation Performance110
9.Conclusion115
A.Program Documentation117
A.1Static...
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.