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: