O provocare pentru promo ia 2009 arhitecturi multicore i manycore
This presentation is the property of its rightful owner.
Sponsored Links
1 / 30

O provocare pentru promo ț ia 2009: arhitecturi multicore ș i manycore PowerPoint PPT Presentation


  • 59 Views
  • Uploaded on
  • Presentation posted in: General

O provocare pentru promo ț ia 2009: arhitecturi multicore ș i manycore. Curs festiv, Promo ţ ia “Calculatoare” , 20 mai, 2009 Prof. Lucian VIN ȚAN Catedra de calculatoare, Universitatea “Lucian Blaga”, Str. Emil Cioran, N r . 4, 550025-Sibiu, Rom â nia [email protected]

Download Presentation

O provocare pentru promo ț ia 2009: arhitecturi multicore ș i manycore

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


O provocare pentru promo ia 2009 arhitecturi multicore i manycore

O provocare pentru promoția 2009: arhitecturi multicore și manycore

Curs festiv, Promoţia “Calculatoare”, 20 mai, 2009

Prof. Lucian VINȚAN

Catedra de calculatoare, Universitatea “Lucian Blaga”,

Str. Emil Cioran, Nr. 4, 550025-Sibiu, România

[email protected]

http://webspace.ulbsibiu.ro/lucian.vintan/

http://acaps.ulbsibiu.ro/research.php


Geneza

Geneza

  • Power Wall;Câțiva GHz  sute de W/cm2on-chip; Pd=kCV2f  saturarea frecvenței tactului – Frequency Wall

  • ILP Wall (super-pipeline, out of order, branch prediction, I-Trace-Cache, procesări speculative, scheduling static)

  • Memory Wall(DRAM-microprocesor)

  • Compromisul optimalîntre performanța procesării (Instructions Per Cycle – IPC) și complexitatea arhitecturală (puterea consumată, disipația termică, aria de integrare și bugetul de tranzistori)- tot mai greu de stabilit pe monoprocesoare

  • Soluția?! ...MultiCores Performance = (Cores * F)

  • Monoprocesoarele vor exploata paralelismul la nivel fin din cadrul aplicațiilor cu secvențialitate intrinsecă (scrise în limbaje secvențiale).


Sisteme multicore i manycore

Sisteme multicore și manycore

  • Latențele miss-urilor mult mai mici-SMP, lărgimea de bandă a bus-urilor de interconectare mai mare-SMP etc.Performanța/Watt mai bună decât la sistemele monoprocesor

  • Exploatează paralelismul thread-urilor TLP reduc Memory Wall

  • Provocări: Minimizarea acceselor la datele aflate în afara memoriilor locale. Optimizareabalansării, a comunicațiilor și a sincronizărilor

  • Necesara o nouă proiectare a algoritmilorîn vederea mapării lor optimale pe sistemele de tip multicore

  • Metricile succesului:productivitatea programării și performanța aplicatiei.

  • În anul 2015 se așteaptă microprocesoare comerciale de uz general cu 256 de nuclee. La 30 nm se pot integra 1000-1500 de nuclee simple (actualmente INTEL utilizează tehnologii la 45 nm).

  • Anyway… ne vor face viata (si mai) grea!


Arhitecturi multicore omogene vs eterogene

Arhitecturi multicore omogene vs. eterogene

  • Viitorul este cel al unor sisteme multicore eterogeneadaptaredinamică la caracteristicile programelor

  • f=0.1; [N=100 omogene simple] vs.[N=90 omogene + nucleu OoO (= 10 omogene)]

    • S’ = 1 / (0.1/2 – 0.9/90) = 16.7

  • Necesare simulări complexe


Exploatarea sinergic a tipurilor de paralelism

Exploatarea sinergică a tipurilor de paralelism

  • Paralelismul programelor:Pipeline (faze)  ILP (instrucțiuni, inclusiv MLP – disambiguation!)  TLP (threadsși micro-threads, resurse partajate/distincte - SMT) Multi & Many-Cores (tasks, procesoare distincte)

  • Chip-ul multicore eterogen  dispozitivul universal de calcul

  • Exemplu: Exploatarea eterogenității multicore prin virtualizare. 2 stagii de compilare

  • Paralelismul datelor (SIMD) – (bit – vectori)


Tlp da mlp nu

TLP – da, MLP – nu...


Sinergism tlp si mlp deopotriva

Sinergism: TLP si MLP deopotriva!


Ierarhia de memorie provocari

Ierarhia de memorie - provocari

  • Ierarhia de cache-uri - neperformantăcca. 50% din datele blocurilor sunt nefolosite! (Analog in Virtual Memory – VM...)

  • Exploatarea mai agresivă a “localităților” (vecinătăților) spațiale, temporaleși... de ce nu?... chiar ale valorilor instructiunilor

  • Necesarăadaptarea dinamică a dimensiunii blocului din cache la caracteristicile aplicației (VM)

  • Coerența variabilelor partajate:snooping (MSI, MESI, MOESI etc.) și directory-based sunt nescalabilenoi scheme de coerență, mai scalabile

  • Tehnologii de integrare de tip 3 D. Integrarea on-chip a DRAM nu mai implica multiplexarea adreselor scăderea semnificativă a Tacc. Largime de banda mai mare.


Modele relaxate de consisten a

Modele relaxate de consistența

  • Un program paralel trebuie să specifice ordinea operațiilor de scriere-citire. Consistența secvențială (CS): In_Proc[data-flow] AND Inter_Pr[Arbitrary]

  • Problemă:în ce moment trebuie să vadă un procesor că o anumită variabilă a fost modificată de un altul?

  • CSforţarea fiecărui procesor care scrie o variabilă partajată de a-şi întârzia această scriere până în momentul în care toate invalidările se vor fi terminat.

  • CS simplă, dar reduce performanţa dezvoltarea unor noi modele, mai relaxate, de consistenţă


Re ele de interconectare

Rețele de interconectare

  • Necesare rețele de interconectare (RIC) culărgime de bandă ridicată și memorie partajată on-chip, scalabilă. Low latency, power and cost

  • Necesară eficientizarea sub-sistemului de cache-uriscăderea presiunii asupra rețelelor de interconectare și a memoriei principale partajate și distribuite (NUMA)

  • Cercetări novatoare în arhitectura memoriilor DRAM. Processing In Memory – PIM interleaving. O rețea de procesoare PIM se numește arhitectură celulară (ex. IBM BlueGene).

  • Probabil că cercetările RIC se vor inspira din rețelele de interconectare ale supercomputerelor actuale.


Ibm bluegene 65536 noduri interconectate 3 d torus un nod 80 cpu 2 smt pim conectate crossbar

IBM BlueGene. 65536 noduri interconectate 3 D Torus. Un nod: 80 CPU 2 SMT PIM, conectate Crossbar


Un nod ibm cyclops 64 multicore

Un nod: IBM Cyclops 64 Multicore


Alte tipuri de ric

Alte tipuri de RIC


Modele de programare paralel

Modele de programare paralelă

  • Productivitatea actualelor paradigme de programare paralelă(shared memory respectiv message passing) este una scazută. Creare_thread, sincronizare_threads, alocare Shared_Mem, Excl_Mut (Lock/UnLock) etc.

  • Actualmente aceste modele sunt nesatisfăcătoare, conducând la o programare, testare și depanare extrem de dificile.

  • Nu iau în considerare eterogenitatea arhitecturii... iar scalabilitatea acestor modele este una scăzută.

  •  Modele productive, performante dar și simple (!) de programare paralelă pe sisteme multicoreși manycore

  •  Metode de evidențiere a paralelismelor la nivelul limbajelor de programare. Să se punăîn evidențăparalelismele inter-thread-uri, alocările de memorie, accesul la zonele de date partajateși modurile de sincronizare.

  • Gradul de abstractizare al modelului în baza compromisuluiproductivitate – eficiență. Dificil!


Modele de programare paralela transactional memory tm i

Modele de programare paralela. Transactional Memory (TM) - I

  • Tranzacţia constituie o secvenţă de cod care executăîn mod speculativ, mai multe citiri şi scrieri la nivelul unei memorii partajate. Tranzacţia este atomică (se execută dpdv logic în totalitate sau deloc), consistentă (dpdv al variabilelor partajate inter-tranzacții) și durabilă (odatăîncepută, nu mai poate fi abortată).

  • SpeculativRularea programului nu ține cont de secțiunile critice. Dacă apar conflicte pe variabilele partajate se vor detectafirele violate își vor relua execuția tranzacțiilor - roll-backs (checkpoints).

  • TM simplifică mult tehnicile de excluziune mutuală din programarea paralelă.


Modele de programare paralela transactional memory tm ii

Modele de programare paralela. Transactional Memory (TM) - II

  • Avantajul principal nu îl constituie atât performanța rulării, cât corectitudinea acesteia, chiar și în condițiile în care programatorul (compilatorul) efectueazăîn mod eronat paralelizarea aplicației.

  • Productivitateași facilizarea programării constituie alte obiective importante asociat acestui concept.

  • Stanford Transactional Memory Coherence and Consistency, o memorie tranzacțională implementatăîn hardwareProtocoalele de coerență se implementează la nivelul tranzacțiilorși nu la nivelul scrierilor individuale.

  • Consortiul FP7 NoE HiPEAC implementeazăconceptul TM in GCC (www.hipeac.net).


Diagnosticare i depanare

Diagnosticare și depanare

  • Depanarea unor sisteme multi-core cu sute de thread-uri si cu procesări în limbaje native diferite problemă deschisă

  • Necesar suport hardwarepentru programarea paralelă, inclusiv pentru depanarea programelor paralele,prin monitorizarea execuțiilor.

  • O sesiune a depanării trebuie să vizualizeze toate instrucțiunile mașină, informații legate de variabile și funcții, erorilede comunicațieîntre module dar și a erorilor locale etc.

  • Evitarea violărilor de timingîn cazul sistemelor în timp real având constrângeri tari (Worst Case Execution Time) și a erorilor de execuție având cauze incerte (Heisenbugs), constituie provocări majore.


Paralelizarea aplica iilor

Paralelizarea aplicațiilor

  • Paralelizarea automatăobiectiv maximal, vizat de vreo 40 de ani de cercetări asidue

  • Realizări notabile îndeosebi în paralelizarea automată a programelor numerice scrise în limbaje orientate pe vectori (Fortran, Matlab etc.)

  • Realizări notabile și pentru arhitecturi omogene cu memorie partajată, în special din lumea embedded (CUDA – NVIDIA GPU).

  • Ele trebuie extinse la tipuri cât mai diverse de aplicații, la limbaje bazate pe pointeri, sisteme multiprocesor eterogene cu diferite modele de memorie.

  • Necesare în special tehnici statice novatoare deanaliză a programelor scrise în limbaje bazate pe pointeri. Dificil!

  • Transmiterea de către compilator a unor informații de semantică a aplicațieiHLL către sistemul multicore pe care aceasta va rula  optimizări semnificative în procesarea aplicației


Simularea instrument primordial de r d i

Simularea - instrument primordial de R & D (I)

  • Timpul enorm de simulare pe multicores.Stapânirea complexității cercetării-dezvoltării sistemelor multicore. Proiectarea hardware-software integrată - hardware-software co-design

  • [Simularea ciclu cu ciclu (acuratețe)] vs. [Simularea tranzacțională (viteză) – comunicațiile între modulele componente]

  • Simulare bazată pe eșantioane reprezentative ale benchmark-urilor - samplingsimulation

  • Extragerea caracteristicilor reprezentative ale benchmark-urilor benchmark-uri sintetice având aceleați caracteristici, dar fiind mai scurte - statistical simulation

  • Metode analitice, hibride…


Simularea instrument primordial de r d ii

Simularea - instrument primordial de R & D (II)

  • Paralelizarea simulatoruluiși rularea lui pe sisteme multicore performante (ex. IBM Cell BE)

  • Simularea întregului sistem de calcul, inclusiv a sistemului de operare - full-system simulation

  • Simulatoarele monolitice sunt înlocuite cu simulatoare modulare (POO) maparea facilă a blocurilor hardware pe modulele software


Automatic design space exploration

Automatic Design Space Exploration

  • Necesare metode de căutare euristicăîn spațiul enorm(!) al parametrilor aplicațiilor – compilatorului – arhitecturii.

  • Problema: optimizare multicriterială – [performanță] vs. [energie, disipație termică, arie de integrare, buget tranzistori etc.]


Adse magellan illinois at urbana champaign

ADSE Magellan - Illinois at Urbana-Champaign

  • Algoritmul Steepest AscentHill Climbing (SAHC) căutarea în vecinătatea celui mai bun k-procesor curent. Dezavantajecomplexitatea exponenţială cu numărul de core-uri + eșuarea în extreme locale

  • Annealing search SAHC + alegere random

  • Algoritmi genetici – Op_Reproducere vecinul cel mai bun (SAHC). OP_Crossover + OP_Mutație

  • Algoritmii stigmergici - ant colony optimizations. Marcare feromoni / Evaporare feromoni

  • Soluții de cel puțin 3800 de ori mai rapide decât căutarea exhaustivă ȘI cu maximum 1% mai puţin performante!


Un exemplu adse fp7 hipeac archexplorer http archexplorer org

Un exemplu ADSE: FP7 HiPEAC ArchExplorer - http://archexplorer.org/

  • Platformă web oarecum independentă de simulator. Abordare holisticăarhitectură - compilator

  • Oferă o explorare continuă a spațiului stărilor pe clustere de servere dedicate

  • FP7 MultiCube - http://www.multicube.eu


Exemplu de cautare scheme de partajare a l1 si l2 cache ntr un dual core

Exemplu de cautare: scheme de partajare a L1 si L2-cacheîntr-un dual-core


Arhitecturi multicore cu proces ri anticipativ speculative

Arhitecturi multicore cu procesări anticipativ-speculative

  • Arhitectura SMT cuselective DIR & Val_Pred23,6% IPC și 34,5% EDP - http://acaps.ulbsibiu.ro/research.php

  • Aceste tehnici anticipative vor reducesemnificativ accesele la rețeaua de interconectare în vederea comunicării prin variabile partajate.Legea lui Amdahl nu mai este valabilă aici!

  • Între predicția valorilor și problema consistenței cache-urilor în sistemele multiprocesor există legături subtile, neexplorate înca în mod aprofundat.

  • A prezice valoarea unei instrucțiuni și apoi, a verifica predicția, nu este întotdeauna suficient erori de consistență ale variabilelor partajate, chiar corect predicționate!

  • Dynamic Instruction Reuse, Memoization - complet nestudiat în contextul multicores!


Un exemplu de inconsisten a predic iei

Un exemplu de inconsistență a predicției


Putere consumat disipa ie termic

Putere consumată, disipație termică

  • Necesareconsum de putere și disipație termică reduse. Simulatoarele Wattch & HotSpot (Floorplan, Pd/modul, frecvență, tehnologie)  API-uri la simulator

  • Proiectarea unui adaptiverun-time thermal manager(adaptarea tensiunii de alimentare sau a frecvenței tactului funcție de temperatură, mutarea calculului în module de rezervă etc.)


Un exemplu harti termice comparative superscalar vs superscalar dir vpred

Un exemplu: harti termice comparative (Superscalar vs. Superscalar_DIR_VPred)


Concluzii i

Concluzii(I)

  • Exploatarea integratoare, sinergică, a paralelismelor de tip fine grainși coarse grain, atât la nivel static cât și dinamic

  • Instrumente de stapânire a complexității proiectării hardware-software integrate

  • Noi metode de simulare, care să permită compromisuri optimale între acuratețe și viteză.

  • Metode euristice de DSE bazate pe Machine LearningOptimizări multicriteriale în spațiul enorm al caracteristicilor. Abordarea trebuie să aibăîn vedere întreg ansamblul: aplicații HLL – compilator – sistem de operare – arhitectură.


Concluzii ii

Concluzii(II)

  • Ierarhii de memorii scalabile care să exploateze agresiv vecinătățile temporale și spațiale. Analog pentru protocoalele de coerență. Sisteme relaxate de asigurare a consistenței variabilelor partajate

  • Modele de programare productive, performante dar și simple. Memoria tranzacțională – o promisiune!

  • Metode de diagnozăși depanare avansate, bazate pe informații de profiling

  • Predicția și speculația reprezintă metode de procesare agresive, neexplorate încă suficient.

Fără o abordareholistică, integratoare, cercetarea-dezvoltarea în ingineria calculatoarelor nu mai poate avansa!


  • Login