ebook img

Scheduling and Allocating with Integer Linear Programming PDF

160 Pages·2007·0.84 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Scheduling and Allocating with Integer Linear Programming

SILP Scheduling and Allocating with Integer Linear Programming Dissertation zur Erlangung des akademischen Grades des Doktors der Ingenieurwissenschaften der Technischen Fakult(cid:127)at der Universit(cid:127)at des Saarlandes von Li Zhang Saarbru(cid:127)cken 1996 I Mein besonderer Dank gilt Herrn Prof. Dr.-Ing. Thiele fu(cid:127)r die Bereitstellung eines interessanten Themas sowie seine intensive Betreuung. Den Kollegen und Studierenden des Lehrstuhls danke ich fu(cid:127)r ihre Unter- stu(cid:127)tzung. Weiterhin m(cid:127)ochteich Frau Mu(cid:127)ller danken, die den englischen Text meiner Arbeit durchgesehen hat. MeineZeitamLehrstuhl fu(cid:127)r Mikroelektronikwar und ist eineder angenehm- sten meines Lebens. Dafu(cid:127)r danke ich allen Personen des Lehrstuhls. Ein be- sonderer Dank gilt unserer Sekret(cid:127)arin Frau Therese Mues fu(cid:127)r ihre zahlreiche Hilfen. Ausdru(cid:127)cklich danken m(cid:127)ochte ich auch Weier und meinen Eltern. II Zusammenfassung Motivation Diese Dissertation handelt von der Ablaufplanung und Allokation mit Hilfe der ganzzahligen linearen Programmierung,die fu(cid:127)r den VLSI-Entwurf geeig- net ist. In Hinblickauf die AnwendungsbereicheSignal- und Bildverarbeitung,Kom- munikationstechnik, Modellierung als auch Simulation gro(cid:25)er Systeme und MultimediaanwendungensteigendieLeistungsanforderungen des DSPs (Dig- tal Signal Processors) an Datendurchsatz st(cid:127)andig. Jedoch k(cid:127)onnen die fu(cid:127)r diese Applikationen ben(cid:127)otigten Rechenleistungen von konventionellen von- Neumann-Architekturen nicht zur Verfu(cid:127)gung gestellt werden. Eine daru(cid:127)ber hinausgehende Leistungs- und Datendurchsatz-Steigerung einer Architektur kann nur erreicht werden, wenn mehr als ein Prozessor zur parallelen Abar- beitung des gegebenen Problems verwendet (Parallelverarbeitung), d.h. der Algorithmus unter massiver Ausnutzung von Parallelit(cid:127)at und Flie(cid:25)bandver- arbeitung abgearbeitet wird [Kun87, GE92, Mic94]. Um einen durchg(cid:127)angigen Entwurfspfad von der Eingabespezi(cid:12)kation des ab- zubildendenAlgorithmusbis zu einerdiesen Algorithmusimplementierenden Schaltung zu erhalten, ist es notwendig, die noch ausstehenden Entwurfs- schrittevonfunktionaleSpezi(cid:12)kationen,Architektursynthese,Logiksynthese, Simulationen, Layout, bis schlie(cid:25)lich Layout-Veri(cid:12)kationen schrittweise aus- zufu(cid:127)hren. Selbstverst(cid:127)andlich haben fru(cid:127)here Entwurfsschritte, z.B. die Ebene der Architektursynthese, die gr(cid:127)o(cid:25)ten Auswirkungen auf die Realisierung des aufzubauenden Systems. III IV Architektursynthese Die Architektursynthese besch(cid:127)aftigt sich mit der Zuordnung der Operatio- nen zu Hardware-Ressourcen. Dazu mu(cid:127)ssen die Hardware-Architekturen im Makrorahmen entworfen und eine Ablaufplanung (scheduling) der Operatio- nen auf diesen Architekturen aufgestellt werden. Im Falle unbeschr(cid:127)ankter Ressourcen werden die Ausfu(cid:127)hrungen der Operationen m(cid:127)oglichst paralleli- siert. Falls nur eine eingeschr(cid:127)ankte Zahl von Ressourcen, (von Speichern oder Rechenmodulen) zur Verfu(cid:127)gung steht, sind einige Operationen zu se- rialisieren. Daher bestimmen Ablaufplanung und Allokation ma(cid:25)geblich den Realisierungsaufwand und den Datendurchsatz einer Architektur. Wie alle anderentechnischinteressantenPlanungsproblemesindArchitektursynthese- Probleme ebenfalls NP-hart, siehe z.B.: [Cof76, GJ76]. Verfahren zur Archi- tektursynthese sind bereits bekannt, u.a. [GE92, Mic94]. Existierende Ver- fahren lassen sich wie folgt charakterisieren: (cid:15) Heuristische Verfahren: Zahlreiche heuristische Methoden sind vorgeschlagen worden, welche einenKompromi(cid:25)zwischenderLaufzeitdesPlanungs-Algorithmusund derQualit(cid:127)atderL(cid:127)osung darstellen[MPC90],siehez.B.:List-Scheduling [Dav81, McF86], Force-Directed-Scheduling [PK89, MLS94], iterative Verfeinerung [PK93, JLHL94, LWLG94], Simulated Anealing [DN89, PR94, PK94, AK94] bzw. genetische Algorithmen [LM93, HAR94, GGM94, MHS94]. (cid:15) Ganzzahlige lineare Programme: Weiterhin ist es m(cid:127)oglich, das Problem der Ablaufplanung und Allo- kation als (ganzzahliges) lineares Programm (ILP | Integer Linear Programm) zu modellieren,z.B. [HP83, HLH91, GE93, HH93, BST93, SSP94, CWM94, HBH94, CBW95]. (cid:15) Synthese von Rechenfeldern: Im Bereich der anwendungsspezi(cid:12)schen Feldrechner ist bis jetzt nur in [Thi93] die Synthese fu(cid:127)r den Fall beschr(cid:127)ankter Anzahl der Verarbei- tungseinheiten betrachtet worden. Heuristische Verfahren haben trotz ihrer Schnelligkeit den Nachteil, da(cid:25) kei- nerlei Kenntnisse u(cid:127)ber die Qualit(cid:127)at der gefundenen L(cid:127)osungen bekannt sind. Verfahren, die sich auf ganzzahlige lineare Programmierung stu(cid:127)tzen, (cid:12)nden dasOptimum,mu(cid:127)ssenjedochdafu(cid:127)r gro(cid:25)eRechenzeiteninKaufnehmen.Hier V soll ein neues Verfahren vorgestellt werden, das die genannten Problemeum- geht und den Ansatz mit ganzzahligen linearen Programmen erweitert. Die folgende Liste enth(cid:127)alt einige Eigenschaften unseres Verfahrens: (cid:15) Die Synthese-Modellierung basiert auf ILP, so da(cid:25) die optimaleL(cid:127)osung immer gefunden ist. Dabei wird ein neuer Ansatz beschrieben: die Ressourcen-Beschr(cid:127)ankungen werden als Flu(cid:25)-Problem formuliert, wo- durch sich die E(cid:14)zienz bei der L(cid:127)osung des ILPs wesentlich verbessert, falls die Ausfu(cid:127)hrungszeit der Operationen mehr als einen Kontrolle- schritt tr(cid:127)agt. (cid:15) Das neueSyntheseverfahrenwirdzurAnwendungindenfolgendenPro- blembereichen vorgestellt: Zeitbeschr(cid:127)ankte und ressourcenbeschr(cid:127)ank- te Ablaufplanungen, funktionale Flie(cid:25)bandverarbeitung mitfunktiona- lerarithmetischerEinheiten,Busbandbreiten,Cache-Speicher,Zugri(cid:11)s- kon(cid:13)ikte und Auswahl zwischen verschiedenen Realisierungsalternati- ven. (cid:15) Es wird ein heuristisches Verfahren soll entwickelt werden, das einen Kompromi(cid:25) zwischen Qualit(cid:127)at der L(cid:127)osung und Laufzeit ihrer Bestim- mung schlie(cid:25)t, und das eine beweisbar gute L(cid:127)osung (cid:12)ndet; Dies be- deutet, da(cid:25) das Verfahren zwar nicht das Optimum (cid:12)ndet, dafu(cid:127)r aber Grenzen (Bounds) angibt, wie weit die gefundene L(cid:127)osung vom Opti- mum entfernt liegt. Bisher sind noch keine existierende heuristische Verfahren bekannt, die sich fu(cid:127)r solche Grenzen berechnen lassen. (cid:15) Die Modellierung wird erweitert, um die eingangs genannten Kriteri- en bei der Synthese von Feldrechnerarchitekturen zu beru(cid:127)cksichtigen. Insbesondere wird gezeigt, wie sich fu(cid:127)r eine gegebene Allokation eine optimale Ablaufplanung nach der Partitionierung (siehe z.B. [TT93a]) aufsuchen l(cid:127)a(cid:25)t. Implementierung Die Probleme der Architektursynthesestellen einen Synthetisierer des SILP- (Scheduling and allocating with Integer Linear Programming) Programmes dar, das im Rahmen der Dissertation entstand. Der Synthetisierer besitzt eine graphische Ober(cid:13)(cid:127)ache, durch den ein Benutzer den Daten-Flu(cid:25)-Graph VI desspezi(cid:12)ziertenAlgorithmusbzw.denRessourcen-Graph derRealisierungs- darstellung eingeben und die Prozedur des Syntheseprozesses steuern kann. Die zur L(cid:127)osung der Syntheseprobleme notwendigen ILP-Generierung wird auch implementiert. Schlie(cid:25)lich wird die optimale L(cid:127)osung der Synthese von CPLEX|einerProgrammbibliothekzurlinearenOptimierung|bestimmt. Contents 1 Introduction 1 1.1 Parallel Computer Architectures . . . . . . . . . . . . . . . . 1 1.2 Mapping Trajectory . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Architectural Synthesis . . . . . . . . . . . . . . . . . . . . . 3 1.4 Scheduling and Allocating with ILP . . . . . . . . . . . . . . 12 1.5 Synthesis of Regular Algorithms . . . . . . . . . . . . . . . . 16 1.6 Outline of Thesis . . . . . . . . . . . . . . . . . . . . . . . . 19 2 Novel ILP-models for Syntheses 23 2.1 Heterogeneous Multiprocessor Systems . . . . . . . . . . . . 23 2.2 Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3 Simultaneous Scheduling and Allocation . . . . . . . . . . . 30 2.4 Existing ILP-based Tools . . . . . . . . . . . . . . . . . . . . 32 2.5 A Novel ILP Formulation . . . . . . . . . . . . . . . . . . . . 36 2.5.1 Modelling . . . . . . . . . . . . . . . . . . . . . . . . 37 2.5.2 Time Constrained Synthesis . . . . . . . . . . . . . . 41 2.5.3 Resource Constrained Synthesis . . . . . . . . . . . . 42 2.5.4 Unconstrained Synthesis . . . . . . . . . . . . . . . . 44 VII VIII CONTENTS 2.5.5 Time and Resource Constrained Synthesis . . . . . . 45 3 Improvements and Extensions 47 3.1 Complexity and Performance . . . . . . . . . . . . . . . . . . 47 3.2 Improvements of Solution E(cid:14)ciency . . . . . . . . . . . . . . 56 3.2.1 Optimal Constants . . . . . . . . . . . . . . . . . . . 57 3.2.2 Elimination of Flow Variables . . . . . . . . . . . . . 60 3.2.3 Elimination of Redundant Serial Constraints . . . . . 61 3.2.4 Valid Linear Inequalities . . . . . . . . . . . . . . . . 61 3.3 Constructs Supported . . . . . . . . . . . . . . . . . . . . . . 63 3.3.1 Pipelined Function Units . . . . . . . . . . . . . . . . 63 3.3.2 Buses and Global Memory . . . . . . . . . . . . . . . 65 3.3.3 Delay Bu(cid:11)ers in Synchronized Systems . . . . . . . . 66 3.3.4 Register Allocation . . . . . . . . . . . . . . . . . . . 70 3.4 Bounds and Heuristic Approaches . . . . . . . . . . . . . . . 73 3.4.1 Predictions of Lower and Upper Bounds . . . . . . . 74 3.4.2 A Heuristic Approach . . . . . . . . . . . . . . . . . . 75 4 ILP-Models for Regular Algorithms 79 4.1 Architecture and Synthesis of Systolic Arrays . . . . . . . . 79 4.2 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.3 Regular Algorithms and Partitioning . . . . . . . . . . . . . 82 4.3.1 Regular Algorithms . . . . . . . . . . . . . . . . . . . 82 4.3.2 Partitioning . . . . . . . . . . . . . . . . . . . . . . . 84

Description:
schritte von funktionale Spezi kationen, Architektursynthese, Logiksynthese, .. A.1 The polyhedron and the optimal solution of the LP 122 a mapping trajectory includes local and global transformations on functional .. annealing which iteratively improves only one solution, genetic algorithms.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.