infokommunikációs technológiák FELADATFÜGGŐ FELÉPÍTÉSŰ PIPELINE TÖBBPROCESSZOROS RENDSZEREK TERVEZÉSI MÓDSZERÉNEK KIDOLGOZÁSA ÉS ALKALMAZÁSA NAGY SEBESSÉGIGÉNYŰ BEÁGYAZOTT CÉLRENDSZEREKBEN DR. ARATÓ PÉTER PROF. EM. BME IRÁNYÍTÁSTECHNIKA ÉS INFORMATIKA TANSZÉK
FELADATOK Módszer kidolgozása többprocesszoros rendszerek tervezési eredményeinek összehasonlító értékelésére a rendszer-szintű szintézis folyamatában. Módszer kidolgozása hierarchikusan egymásba ágyazott hurkok kezelésére pipeline rendszerek magas szintű szintézise során. Pipeline rendszerek magas szintű szintéziséhez kidolgozott módszerek alkalmazása tipikus mintafeladatokban. Pipeline rendszerek magas szintű szintéziséhez kidolgozott módszerek hatékonyság-elemzése tömbműveletek kezelésében. Kidolgozott módszer hatékonyság-elemzése hangforrás lokalizálós alkalmazásban Kidolgozott módszer hatékonyság-elemzése nagy sebességű adatgyűjtő jelfeldolgozó rendszereken történő alkalmazás révén. A leggyakrabban használt szabványos kommunikációs protokollok alkalmazásához szükséges továbbfejlesztések. A PIPE rendszer továbbfejlesztése új alkalmazási szempontok szerint. 2
A FELADATFÜGGŐ FELÉPÍTÉSŰ TÖBBPROCESSZOROS (HETEROGÉN) RENDSZEREK FŐBB JELLEMZŐI: A részfeladatokat ellátó ú.n. komponens processzorok a részfeladat jellegétől, komplexitásától és a sebességigénytől függően különböző fajtájú készen kapható programozható vagy célhardvernek minősülő nagy integráltsági fokú egységek lehetnek (pl. Mikroprocesszor, mikrokontroller, FPGA, DSP, GPU, stb.) A komponens processzorok közötti kommunikáció valamilyen szabványos sínszervezésben történik -- (pl. CAN, UART, USB, 8251A, stb.) A nagy sebességigény miatt a rendszer működtethető pipeline üzemmódban előírható újraindítási idővel (átbocsátási tényezővel) 3
A FELADATFÜGGŐ FELÉPÍTÉSŰ TÖBBPROCESSZOROS (HETEROGÉN) RENDSZEREK RENDSZERSZINTŰ SZINTÉZISÉNEK FŐBB NEHÉZSÉGEI A jelenlegi gyakorlatban az intuitív rendszerstruktúrák hatékonysági értékelése és minősítése csak próbálgatással lehetséges Az adatfolyam gráf elemi műveletei helyett Szisztematikus módszerek hiányában nincs mód a különböző megoldások összehasonlító elemzésére és egyértelmű metrikák megfogalmazására. A magas szintű kiindulási feladatleírásból kiindulva a részfeladatokra (szegmensekre) bontásra (megfelelő dekompozicióra) nincs hatékony módszer A szegmenshurkok kialakulása veszélyezteti hatékonyságot. A magas szintű szintézis eszközök hatékony alkalmazása azok módosítása nélkül nem lehetséges -- Az adatfolyam gráf elemi műveletei helyett a szegmesgráfot kell kezelni az ütemezés és allokáció során. -- A magas szintű feladatleírásban a hurkok és az adattömbök szimbolikus kezelésére módszert kell kialakítani A jelen kutató munka célja olyan új rendszerszintű szintézis módszer és kísérleti tervező eszköz (DECHLS) kidolgozása, amely többek között ezeket a főbb nehézségeket kiküszöböli és így lehetővé teszi a szisztemetikus szintézist a magas szintű programnyelven adott feladatleírásból kiindulva az intuitív tervezési lépéseknek a lehető legnagyobb mértékű kiiktatása mellett. 4
HURKOK KIALAKULÁSA A SZEGMENS-GRÁFBAN NEM MEGFELELŐ DEKOMPOZÍCIÓ ESETÉN e 1 e 1 e 2 e 3 e 4 e 2 e 3 e 4 S 1 e 5 e 5 e 6 S 1 e 6 S 1 S 1 5
A DECHLS RENDSZERSZINTŰ SZINTÉZIS MÓDSZER ÉS KÍSÉRLETI TERVEZŐ ESZKÖZ FOLYAMATÁBRÁJA Description of the task for the whole system Decomposition tool y Decomposition is intended? n y Number of segments is prescribed? n Calculate a beneficial number of segments Generating the HLS input directly Forming the segments based on CM Generating the HLS input from the segments Modified HLS tool Scheduling Allocation y Pipeline mode desired? n Calculate the restart time (R) Result n A desired value of R (R d) is given? y y n R R d n Cost is acceptable? y Reduce R by insertion of buffers and/or multiple copies of nodes for satisfying R<R d L:=L+dL Result 6
A DECHLS ESZKÖZ PÉLDAALKALMAZÁSA HANGFORRÁS LOKALIZÁLÓ RENDSZER (1) Input 1 Input 2 Input 3 Input 4 FFT1 FFT2 FFT3 FFT4 P 1 P 2 P 3 P 4 SC1 SC2 SC3 SC4 VOTE P 5 HT Output A hangforrás lokalizáció intuitíven dekomponált szegmes gráfja Goraczko, M.; Liu, J.; Lymberopoulos, D., "Energy-Optimal Software Partitioning in Heterogeneous Multiprocessor Embedded Systems", DAC 2008, June 8 13, 2008, Anaheim, California, USA 7
A DECHLS ESZKÖZ PÉLDAALKALMAZÁSA HANGFORRÁS LOKALIZÁLÓ RENDSZER (2) 15 Number of processors versus restart time plot (intuitive decomposition) 20 Number of processors versus restart time plot (without decomposition) Cost [number of processors] 14 13 12 11 Cost [number of processors] 19 18 17 16 15 14 10 13 1000 1500 2000 2500 3000 3500 4000 1000 1500 2000 2500 3000 3500 4000 Restart time [time steps] Restart time [time steps] Költség és újraindítási idő függvénye (intuitív dekompozíció mellett) Költség és újraindítási idő függvénye (dekompozíció nélkül) 8
A DECHLS ESZKÖZ PÉLDAALKALMAZÁSA HANGFORRÁS LOKALIZÁLÓ RENDSZER (3) S 1 S 5 S 1 S 4 S 3 S 4 S 5 Szegmens gráf a KL dekompozíció esetén, előírt 5db szegmensre
A DECHLS ESZKÖZ PÉLDAALKALMAZÁSA HANGFORRÁS LOKALIZÁLÓ RENDSZER (4) S 1 S 7 S 1 S 6 S 5 S 4 S 3 S 3 S 4 S 5 S 6 S 7 Szegmens gráf KL dekompozíció esetén, előírt 7db szegmensre 10
A DECHLS ESZKÖZ PÉLDAALKALMAZÁSA HANGFORRÁS LOKALIZÁLÓ RENDSZER (5) 15 Number of processors versus restart time plot (different number of segments) Number of processors 13 11 9 7 5 3 1000 1500 2000 2500 3000 3500 4000 Restart time [time steps] Decomposed to 5 segments (Fig. 9 and 11; Latency=5178) Decomposed to 7 segments (Fig. 10 and 12; Latency=5178) Spectral clustering 4 segments (Fig. 14; Latency=5178) Költség és újraindítási idő függvény különböző szegmens számok esetén 11
A DECHLS ESZKÖZ PÉLDAALKALMAZÁSA HANGFORRÁS LOKALIZÁLÓ RENDSZER (6) Number of processors versus restart time plots 19 17 Cost [number of processors] 15 13 11 9 7 5 3 1000 1500 2000 2500 3000 3500 4000 Without decomposition (Latency=4217) Decomposed to 5 segments (Fig. 9 and 11; Latency=5178) Decomposed to 7 segments (Fig. 10 and 12; Latency=5178) Increased latency, no decomposition (Latency=5178) Spectral clustering 4 segments (Fig. 14; Latency=5178) Intuitive decomposition (Latency=5025) Increased latency, intuitive decomposition (Latency=5178) Restart time [time steps] Költség és újraindítási idő függvények 12
RÉSZTVEVŐK ÉS ELVÉGZETT FELADATOK (1) Dr. Arató Péter professzor emeritusz (BME Irányítástechnika és Informatika Tanszék) A DECHLS kísérleti rendszerszintű tervező eszköz kidolgozása. A szegmenshurkok elkerülését biztosító dekompozíciós eljárás alapelveinek kidolgozása. A Chaco és hmetis gráf-dekompozíciós eszközözök analízise és értékelése. Javaslat a kísérleti rendszer szintű szintézis eljárás genetikus dekompozíciós algoritmusának kiváltására. A komponens processzorok közötti kommunikáció leggyakrabban használt szabványos sínrendszereinek analízise és értékelése. Módszer a komponens processzorok közötti kommunikáció idejének figyelembe vételére és optimalizálására a rendszer szintű szintézis során. A PIPE tervező rendszer allokációs algoritmusának újratervezése a komponens processzok közötti kommunikációs idők optimalizálása céljából. Módszer az adatfüggő hurokidők becslésére a magas szintű szintézis folyamatában. Módszer a hierarchikusan egymásba ágyazott hurkok adatfolyam-gráfjának leírására pipeline rendszerek magas szintű szintézise során. 13
RÉSZTVEVŐK ÉS ELVÉGZETT FELADATOK (2) Rácz György PhD hallgató (BME Irányítástechnika és Informatika Tanszék) A hangforrás lokalizáló rendszer példaalkalmazásának kidolgozása és értékelése. Az adatgyűjtő rendszer példaalkalmazásának kidolgozása és értékelése. Suba Gergely PhD hallgató (BME Irányítástechnika és Informatika Tanszék) A rendszerszintű szintézis során alkalmazható magas szintű feladatleíró nyelvek hatékonyság-elemzése. Pipeline rendszerek magas szintű szintézisében alkalmazott módszerek hatékonyság-elemzése tömbműveletek esetében. 14
INDIKÁTOROK Dr. Arató Péter: 2 tanulmány (2014.10.30 és 2014.12.19) Rácz György: 2 tanulmány (2014.10.30 és 2014.12.19) Suba Gergely: 2 tanulmány (2014.10.30 és 2014.12.19) ASCONIKK Konferencia előadás, 2014. dec. 16. György Rácz, Tibor Gergely Markovits, György Pilászy, Péter Arató Handling data dependent execution times of software loops in the high level design of real time systems 15
infokommunikációs technológiák KÖSZÖNÖM A FIGYELMET!