Enviar pesquisa
Carregar
Evoluzione dei Sistemi Embedded: Verso architetture multi-core
•
1 gostou
•
1,148 visualizações
Patrick Bellasi
Seguir
Intervento al forum organizzato da Embedded IC & Automation Fortronic. 21 Giugno 2012
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 53
Baixar agora
Baixar para ler offline
Recomendados
Visual COBOL - Conoscere Visual COBOL- Micro Focus
Visual COBOL - Conoscere Visual COBOL- Micro Focus
Microfocusitalia
Constrained Power Management
Constrained Power Management
Patrick Bellasi
Cross-Layer Frameworks for Constrained Power and Resources Management of Embe...
Cross-Layer Frameworks for Constrained Power and Resources Management of Embe...
Patrick Bellasi
U boot source clean up project how-to
U boot source clean up project how-to
Macpaul Lin
U boot 程式碼打掃計畫
U boot 程式碼打掃計畫
Macpaul Lin
How to build a community in a company blue&macpaul coscup2015
How to build a community in a company blue&macpaul coscup2015
Macpaul Lin
Linux Power Management Slideshare
Linux Power Management Slideshare
Patrick Bellasi
Embedded Systems Power Management
Embedded Systems Power Management
Patrick Bellasi
Recomendados
Visual COBOL - Conoscere Visual COBOL- Micro Focus
Visual COBOL - Conoscere Visual COBOL- Micro Focus
Microfocusitalia
Constrained Power Management
Constrained Power Management
Patrick Bellasi
Cross-Layer Frameworks for Constrained Power and Resources Management of Embe...
Cross-Layer Frameworks for Constrained Power and Resources Management of Embe...
Patrick Bellasi
U boot source clean up project how-to
U boot source clean up project how-to
Macpaul Lin
U boot 程式碼打掃計畫
U boot 程式碼打掃計畫
Macpaul Lin
How to build a community in a company blue&macpaul coscup2015
How to build a community in a company blue&macpaul coscup2015
Macpaul Lin
Linux Power Management Slideshare
Linux Power Management Slideshare
Patrick Bellasi
Embedded Systems Power Management
Embedded Systems Power Management
Patrick Bellasi
Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)
Macpaul Lin
USB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device Framework
Macpaul Lin
U boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
Linux Porting to a Custom Board
Linux Porting to a Custom Board
Patrick Bellasi
Exploiting Linux Control Groups for Effective Run-time Resource Management
Exploiting Linux Control Groups for Effective Run-time Resource Management
Patrick Bellasi
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
Sherif Mousa
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 Arch
Sherif Mousa
Case Study coopservice (Italian)
Case Study coopservice (Italian)
Claudio Rubbiani
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Luca Acquaviva
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
Par-Tec S.p.A.
Cac Es3 2009
Cac Es3 2009
Marco Loregian
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forza
Mauro Fava
IBM - Il Cloud Computing
IBM - Il Cloud Computing
S.info Srl
Il Cloud Infrastrutturale
Il Cloud Infrastrutturale
Marco Lombardo
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Marco Loregian
Che cosa sono i microservizi?
Che cosa sono i microservizi?
Salvatore Cordiano
Cqrs and IoT: a match made in heaven
Cqrs and IoT: a match made in heaven
Carmine Ingaldi
workshop lab cross tec_r2b1
workshop lab cross tec_r2b1
r2b2011
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
EPOCA
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)
Herzum Italia
Webinar porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86
Massimiliano Torregiani
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?
fcrippa
Mais conteúdo relacionado
Destaque
Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)
Macpaul Lin
USB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device Framework
Macpaul Lin
U boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
Linux Porting to a Custom Board
Linux Porting to a Custom Board
Patrick Bellasi
Exploiting Linux Control Groups for Effective Run-time Resource Management
Exploiting Linux Control Groups for Effective Run-time Resource Management
Patrick Bellasi
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
Sherif Mousa
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 Arch
Sherif Mousa
Destaque
(7)
Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)
USB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device Framework
U boot porting guide for SoC
U boot porting guide for SoC
Linux Porting to a Custom Board
Linux Porting to a Custom Board
Exploiting Linux Control Groups for Effective Run-time Resource Management
Exploiting Linux Control Groups for Effective Run-time Resource Management
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 Arch
Semelhante a Evoluzione dei Sistemi Embedded: Verso architetture multi-core
Case Study coopservice (Italian)
Case Study coopservice (Italian)
Claudio Rubbiani
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Luca Acquaviva
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
Par-Tec S.p.A.
Cac Es3 2009
Cac Es3 2009
Marco Loregian
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forza
Mauro Fava
IBM - Il Cloud Computing
IBM - Il Cloud Computing
S.info Srl
Il Cloud Infrastrutturale
Il Cloud Infrastrutturale
Marco Lombardo
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Marco Loregian
Che cosa sono i microservizi?
Che cosa sono i microservizi?
Salvatore Cordiano
Cqrs and IoT: a match made in heaven
Cqrs and IoT: a match made in heaven
Carmine Ingaldi
workshop lab cross tec_r2b1
workshop lab cross tec_r2b1
r2b2011
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
EPOCA
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)
Herzum Italia
Webinar porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86
Massimiliano Torregiani
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?
fcrippa
Forms To Java W4 Y
Forms To Java W4 Y
Franco Crippa
UI Composition - Prism
UI Composition - Prism
DotNetMarche
Il Cloud Computing
Il Cloud Computing
zambe92
Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2
pma77
Modelli per l'integrazione aziendale
Modelli per l'integrazione aziendale
Carlo Zamagni
Semelhante a Evoluzione dei Sistemi Embedded: Verso architetture multi-core
(20)
Case Study coopservice (Italian)
Case Study coopservice (Italian)
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
Cac Es3 2009
Cac Es3 2009
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forza
IBM - Il Cloud Computing
IBM - Il Cloud Computing
Il Cloud Infrastrutturale
Il Cloud Infrastrutturale
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Che cosa sono i microservizi?
Che cosa sono i microservizi?
Cqrs and IoT: a match made in heaven
Cqrs and IoT: a match made in heaven
workshop lab cross tec_r2b1
workshop lab cross tec_r2b1
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)
Webinar porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?
Forms To Java W4 Y
Forms To Java W4 Y
UI Composition - Prism
UI Composition - Prism
Il Cloud Computing
Il Cloud Computing
Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2
Modelli per l'integrazione aziendale
Modelli per l'integrazione aziendale
Evoluzione dei Sistemi Embedded: Verso architetture multi-core
1.
Evoluzione dei Sistemi
Embedded: Verso architetture multi-core PhD Patrick Bellasi CEFRIEL Politecnico di Milano bellasi@elet.polimi.it http://home.dei.polimi.it/bellasi
2.
Multi-Core in Ambito
Embedded A che punto siamo? Soluzioni multi-core si stanno affermando sempre più prospettiva di maggiori prestazioni grazie al parallelismo La scelta di una archiettura è fondamentale influenza direttamente le prestazioni del sistema oltre che la sue funzionalità, e.g. componenti, I/O, consumi energetici... Esistono diverse sfumature possibili Multi-core asimmetrici ogni core esegue indipendentemente interazione di applicationi real-time e non Multi-core simmetrico multipli threads gestiti da un singolo SO che alloca le risorse condivise Virtualizzazione un “ipervisore” isola ed alloca le risorse a diversi run-time consente l'integrazione di real-time, general purpose e software legacy ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 2
3.
Multi-Core in Ambito
Embedded Cosa Sono i Multi-Cores Asimmetrici (AMP)? Ogni core ha un suo OS ogni core esegue indipendentemente integrazione di applicazioni legacy mix Real-Time e General-purpose comunicazione IPC fra cores Svantaggi Time-to-market Impattato dalla gestione delle risorse condivise che aumenta la complessità del codice Scalabilità Gestione “manuale” limitata dall'aumento di complessità delle risorse condivise Prestazioni probabile sotto-utilizzazione dei core intense comunicazioni fra cores ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 3
4.
Multi-Core in Ambito
Embedded Cosa Sono i Multi-Cores Simmetrici (SMP)? Unico OS che gestisce tutti i cores Scalabilità è possibile migliorare le prestazioni “semplicemente” aumentando i cores Prestazioni Il bilanciamento del carico consente di sfruttare al massimo i cores semplici privitive di gestione dei threads Time-to-market gestione delle risorse condivise a carico dell'OS conseguente riduzione di complessità Le risorse condivise vengono gestite in sia di design che di codice modo trasparente dal Sistema Operativo Svantaggi le applicazioni debbono essere scritte “bene” per sfruttare il parallelismo ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 4
5.
Multi-Core in Ambito
Embedded Lightway vs Full-Virtualization A volte serve sia AMP che SMP coesistenza di OS diversi e.g. RTOS e General-Purpose OS parallelizzaione spinta delle applicazioni La virtualizzzazion garantisce la flessibilità dell'SMP e il controllo dell'AMP Lightway virtualization sfrutta servizi dell'OS per creare “containers” isolamento applicazioni, assegnamento risorse Full virtualization Le risorse condivise vengono partizionate richiede un monitor hardware (dinamicamente) fra le diverse supporta molteplici OS indipendenti applicazioni ciascuno vede solo parte delle risorse ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 5
6.
Multi-Core in Ambito
Embedded Quali Solozioni Vanno per la Maggiore? Molte piattaforme embedded attuali sono basate su architetture multi-core asimmetriche diversi processori integrati all'interno dello stesso chip, o sistema L'avvento dei System-on-Chip (SoC) ha favorito questo tipo di soluzioni Architetture specializzate vengono impiegate per supportare funzionalità specifiche elaborazione di dati multimediali (Audio/Video DSP) accellerazione e rendering grafico (GPU) ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 6
7.
Multi-Core in Ambito
Embedded Dentro un OMAP5 (Texas Instuments) Samsung Galaxy S3 ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 7
8.
Multi-Core in Ambito
Embedded Abbiamo Davvvero Bisogno di Tante Prestazioni? La disponibilità di architetture parallele consente lo sviluppo di nuove classi di applicazioni Le elaborazione multimediali in generale possono beneficiare di queste nuove architetture grandi quantità di dati da processare (e.g. video in FullHD) stringenti vincoli temporali (e.g. elevati framerates) I dispositivi portatili sono sempre più poli-funzionali Nuove classi di applicazioni stanno emergendo come richieste di mercato ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 8
9.
Multi-Core in Ambito
Embedded Quali Nuove Applicazioni Possiamo Aspettarci ? Diffusione della Computer Vision Businness Intelligence Assistenza alla guida Monitorazzio Controllo & Sicurezza di Accessi ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 9
10.
Multi-Core in Ambito
Embedded Quali Caratteristiche Hanno Queste Applicazioni? Esempio: Scalable Video Coding (SVC) singolo stream video in ingresso diverse possibili configurazioni di decodifica Framerate Risoluzione Qualità A diversi profili di decodifica corrispondono diversi rapporti qualità vs prestazioni richieste ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 10
11.
Multi-Core in Ambito
Embedded Quali Caratteristiche Hanno Queste Applicazioni? Diverse fasi di elaborazione ciascuna con diverso grado di parallelismo e requisiti di risore computazionali si prestano ad essere eseguite in concorrenza fra loro Si prestano ed essere programmate seguendo “nuovi” paradigmi di programmazione Stream-Processing ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 11
12.
Multi-Core in Ambito
Embedded Quali Scenari Computazionali? Sistemi multi-core molteplici unità di elaborazione sia simmetriche che asimmetriche Applicazioni complesse significativi carichi computazionali variabilità dei requisiti in termini di risorse anche a run-time, i.e. cambiano durante l'esecuzione composte da sequenze di attività parallelizzabili Sistemi polifunzionali diversi carichi di lavoro (mixed workload) diversi requisiti funzionali... e.g. tempistiche, qualità … che possono anche modificarsi a run-time ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 12
13.
Evoluzioni Architetturali
Tanti grossi: bene... molti piccoli: meglio! ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 13
14.
Evoluzioni Architetturali Future
Come si Presentano Queste Nuove Architetture? Da HW ad-hoc ad HW generico Accelleratore Programmabile Accelleratori Specializzati Computation Fabric Multi-Core Computation Cluster ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 14
15.
Evoluzioni Architetturali Future Come
Possiamo Sfruttarle? Esempio: Software Defined Radio (SDR) Approccio “ri-programmabile” Approccio “classico” ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 15
16.
Evoluzioni Architetturali Future Che
Sfide Si Presentano a Livello Software? Sviluppo di codice parallelizzato Programmazione a componenti riutilizzabili moduli SW autonomi e parallelizzabili (filters) con interfaccie ben definite e quindi componibili (pipeline) Nuovi paradigmi di programmazione a supporto dello sviluppo di SW parallelizzato in grado di astrarre dallo specifico target “write one run anywhere” Ambienti di sviluppo descrizione ad alto livello delle applicazioni simulazione ed ottimizazione per lo specifico target suppporto a diversi modelli di programmazione parallela ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 16
17.
Evoluzioni Architetturali Future Quali
Paradigmi di Programmazione? (1/3) Proprietari e/o per specifiche piattaforme Fractal definito da OW2 Consortium middleware modulare ed estensibile agnostico al linguaggio (e.g. C, Java, .NET) http://fractal.ow2.org Native Programming Model sviluppato da STMicroelectronics collezione di primitive di decomposizione-composizione Thread Building Blocks (TBB) proposta di Intel principalment orientata ad HPC supporta solo su x86 http://threadingbuildingblocks.org ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 17
18.
Evoluzioni Architetturali Future Quali
Paradigmi di Programmazione? (2/3) OpenCL: “lo” standard Industriale ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 18
19.
Evoluzioni Architetturali Future Quali
Paradigmi di Programmazione? (3/3) standard aperto per la programmazione parallela di sistemi eterogenei http://www.khronos.org/opencl OpenCL in pillole linguaggio (C99-based) per scrivere kernels i.e. “funzioni” da eseguire su un device OpenCL Copia dati parallelismo a livello di dati e task da elaborare configura la piattaforma API per controllar la piattaforma Copia dei risultati architettura “astratta” di riferimento Esecuzione parallela su più cores ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 19
20.
Conclusioni (1/2) Come si
Possono Sfruttare i Many-Cores? Con lo stesso principio dei LEGO “raccogliere, mettere insieme” dal Danese “leg godt” = “giocare bene” ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 20
21.
Conclusioni (2/2) Un Data-Server
in Tasca L'embedded va verso architetture many-core molte unità di calcolo, “sostanzialmente” simili applicazioni complesse, decomposte in moduli parallelizzabili Le funzionalità di un dispositivo sono polimorfiche dipendono da come lo si programma Barcelona Supercomputing Centre possono cambiare a run-time adattandosi quindi agli scenario d'uso Tutto ciò è molto simile a quello che già avviene in ambito HPC 10.240 processors cambia solo il “fattore si scala” stessi benefici ma “portabili” Tilera Tile-Gx100 100 cores indipendenti ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 21
22.
Grazie per l'attenzione ©copyright
CEFRIEL 2012| All rights reserved | Milano, Italy 22
23.
Backup Slides ©copyright CEFRIEL
2012| All rights reserved | Milano, Italy 23
24.
Evoluzione Tecnologica
L'hardware cambia faccia... ed il software si deve adattare! ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 24
25.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? Costruire processori più complessi non era difficile Pentium4: il processore più complesso mai costriuto Tuttavia è puntualmente uscito come prodotto sul mercato L'aumento del numero di transistors consente di fornire più funzionalità Perchè non si sono sviluppati processori più sofisticati? Proprio il caso del Pentium4 ci può dare qualche indicazione... ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 25
26.
Evoluzione tecnologica
Pentium4: Super-Pipelined, Super-Scalar Pipeline a 20 stadi, branch-prediction e recovery 5 operazioni per ciclo di clock 1 load, 1 store unit ALU per interi 2 semplici/veloci 1 complessa/veloce 1PF exe, 1FP move unit Fino a 126 istruzioni “in flight” 48 loads, 24 stores ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 26
27.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? Perchè non si sono sviluppati processori più sofisticati? Il parallelismo a livello di istruzione disponibile nei programmi ha un limite intrinseco specialmente nel caso di codice in cui è difficile prevedere correttamente i “salati” E' nata la necessità di seguire un nuovo approccio sfruttare al meglio le risorse computazionali per supporotare il parallelismo a livello di threads ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 27
28.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? Due “diverse” possibili strategie A) Più “threads” all'interno dello stesso core D. Tullsen, S. Eggers, H. Levy, “Simultaneous multithreading: maximizing on-chip parallelism”, ISCA, 1995 B) Più “cores” all'interno dello stesso chip K. Olukotun, B. Nayfeh, L. Hammond, K. Wilson, K. Chang, “The case for a single-chip multiprocessor”, ASPLOS-VII, 1996 ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 28
29.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? IBM Power4 – Dicembre 2001 180nm, Dual-Core 8-way super-scalar >200 istruzioni “in flight” IBM Power5 – Agosto 2003 130nm, Dual-Core + SMT 8-way super-scalar 24% area in più rispetto al Power4 ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 29
30.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? Intel fa “outing” dichiara pubblicamente di avere raggiunto un “thermal wall” “Intel's decision to change course and embrace a ''dual core'' processor structure shows the challenge of overcoming the effects of heat generated by the constant on-off movement of tiny switches in modern computers … some analysts and former Intel designers said that Intel was coming to terms with escalating heat problems so severe they threatened to cause its chips to fracture at extreme temperatures…” New York Times, 17 Maggio 2004 ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 30
31.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? Nel frattempo anche il competitor AMD si muoveva una dimostrazione dell'Opteron, la prima CPU x86 dual core, era già pronta ed in programma da li a pochi giorni “The shift to multiple processing units, or cores, embedded in the same chip has recently become a significant technological approach for I.B.M., Sun Microsystems and Intel as well as Advanced Micro, as computer designers hunt for new ways to increase processing power...” New York Times, 31 Agosto 2004 ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 31
32.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? Sun Microsystems adotta la stessa strategia per la sua linea di processori dedicati ai server L'Ultrasparc T1 (Niagara) spinge il concetto di multi-core “The UltraSparc T1, following a trend in the semiconductor industry, adds new features that conserve energy significantly… The UltraSparc T1 has eight processing cores, each able to execute four instruction sequences, called threads...” New York Times, 15 Novembre 2005 ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 32
33.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? Perchè non si sono sviluppati processori più sofisticati? Il parallelismo a livello di istruzione disponibile nei programmi ha un limite intrinseco specialmente nel caso di codice in cui è difficile prevedere correttamente i “salati” Aumentare le prestazioni di un singolo processore rispettando un certo budget energetico rappresenta un altro fattore vincolante ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 33
34.
Evoluzione tecnologica
Perchè si è arrivati ai multi-core? I produttori iniziano ad aumentare il numero di “core” per sfruttare lo spazio ed i transistor a disposizione fornendo così un supporto hardware all'esecuzione concorrente di multi threads Questa soluzione ha generato un altro problema i programmatori devo capire come sfruttare al meglio le potenzialità di queste nuove architetture Si tratta di un “problema”... …o piuttosto di un'opportunità? ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 34
35.
Archietetture multi-core
Dentro un MacBook Pro Images courtesy of ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 35
36.
Archietetture multi-core
Ambito Avionico ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 36
37.
Archietetture multi-core
Ambito Avionico Rete di processori standard di interconnessione processori simmetrici Supporto OS avanzato partizionamento mandatorio di tempo e risorse ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 37
38.
Multi-Core in Ambito
Embedded Ci stanno già andando... non perdiamo la corsa! ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 38
39.
Multi-Core in Ambito
Embedded Che Vantaggi Offre? Non solo miglioramento delle prestazioni... … diverse ottimizzazioni progettuali riduzione di componenti e TCO e.g. disponibilità di GPU integrate con processori general-purpose => no display processor esterno, migliori prestazioni integrazione di più funzionalità e.g. sfruttando alcuni cores interni per funzionalità specifiche => eliminazione di DPS o FPGA esterni riduzione di “form-factor” e dei consumi => riduzione o eliminazione di dissipatori => in ambito mobile: batterie e packaging più piccoli ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 39
40.
Multi-Core in Ambito
Embedded Dentro un U9500 (ST-Ericsson) Nokia Lumia 800 ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 40
41.
Multi-Core in Ambito
Embedded Dalle Board ai SoC... fino a PSoC ed FPGA ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 41
42.
Multi-Core in Ambito
Embedded Quali Nuove Applicazioni Possiamo Aspettarci ? Nuove forme di interazione “uomo-macchina” Augmented Reality Google Glass Project ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 42
43.
Multi-Core in Ambito
Embedded Quali Caratteristiche Hanno Queste Applicazioni? Esempio: Scalable Video Coding (SVC) Elevata complessità computazionale... … ma anche elevato livello di parallelismo Tuttavia spesso questi sono solo alcuni passi di applicazioni complete... ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 43
44.
Evoluzioni Architetturali Future Quali
Sono le Prossime Sfide? Fattori Tecnologici e Produttivi i “transistor” di nuova generazione hanno dimensioni in scala “atomica” le variazioni in fase di produzione divengono sempre più significative 22nm 4nm non è più possibile differenziare i prodotti in funzione del lotto di produzione far-lotti in-lotto differenze di misurano addirittura all'interno del singolo chip Imoatto su prestazioni e consumi energetici fra-chip in-chip Richiesta di maggiore flessibilità... ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 44
45.
Evoluzioni Architetturali Future Come
Supportare La Flessibiltià? Progettare e produrre HW custom è costoso oltre certi livelli di integrazione non è più conveniente Spinta verso “architetture programmabili” Esempio: produzione di dispositivi multistandard da SW ad-hoc su HW ad-hoc... … a SW ad-hoc su HW generico Vantaggi Manutenibilità post-produzione Supporto per applicazioni diverse [Ramacher09] sia presenti che future Riduzione di costi e tempi di produzione ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 45
46.
Evoluzioni Architetturali Future Come
si Confrontano Con le Soluzioni Attuali? Rappresentano una nuova classe di dispositivi Gops/mm^2 @ 32nm Architetture programmabili ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 46
47.
Evoluzioni Architetturali Future Che
Sfide Si Presentano a Sistema Operativo? Gestione Dinamica delle Risorse Identificare un compromesso ottimale fra esigenze prestazionali (QoS) delle applicazioni e disponibilità delle risorse Risorse HW condivise, diverse classi di applicazioni sofisticati dispositivi many-core di nuova generazione variabilità di processo ed a run-time risorse condivise fra applicazioni in competizione Necessità di efficaci ma semplici supporti SW in grado di adattarsi a diversi modi d'uso, a run-time adeguati al supporto di applicazioni sia best-effort che critiche ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 47
48.
Evoluzioni Architetturali Future Che
Supporto Ci Si Aspetta dalla GDR? Astrazione dalle risorse Assegnare opportunamente le risorse al fine di ottimizzare l'uso della piattaforma Google Glass Project Assistenza alla guida Considerando fenomeni di Workloads Critici variazione di processo hot-spots e rotture Workloads Best-Effort Assegnazione Risorse variazioni del carico Richiesta Risorse Run-Time Resources Possibili strategia? Manager 1. assegnamento di “risorse virtuali” 2. mapping su risorse fisiche a run-time gestendo opportunamente i fenomeni di variabilità ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 48
49.
Aspetti Industriali
Come affrontare la sfida... supportando gli standard industriali! ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 49
50.
Aspetti Industriali
Quali Iniziative Esistono? Multicore Association associazioni di industrie interessate alla tecnologia multi-core partner industriali ed accademici http://www.multicore-association.org/ Roadmap Definizione di APIs comunicazione gestione delle risorse scheduling dei task monitoraggio e debugging Funzionalità avanzata bilanciamento di carico gestione ed ottimizzazione di QoS e potenza affidabilità ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 50
51.
Aspetti Industriali
Quali API Sono Già Disponibili? MCAPI: supporto a comunicazione e sincronizzazione basata su scambio di messaggi per sistemi embedded “distribuiti” sia in- che off-chip Insieme di chiamate minimale sufficienti a coprire le principali esegenze semplici per supportare implementazioni efficienti Orientatoall'embedded soluzioni alternative puntano piu all'HPC v2.0 in lavorazione shared memory, zero copy message, … Alternative proprietarie e.g. RingIO by TI (con supporto Linux mainline) ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 51
52.
Aspetti Industriali
Quali API Sono Già Disponibili? MRAPI: suppporto a gestione delle risorse coordinamento dell'accesso concorrente sia in ambito SMP che AMP Diverse classi di risorse gestibili unità di elaborazione, sia omogenee che non accelleratori HW regioni di memoria periferiche di I/O Monitoraggio risorse sia statico che dinamico Meccanismi di notifica stati delle risose (e.g. consumi) Codeplay Software, Freescale, IBM, errori e faults IMEC, LSI Corporation, Mentor cambiamenti di disponibilità Graphics, PolyCore Software, Samsung, Texas Instruments, Tilera ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 52
53.
Conclusioni
Tutto cambia... per rimanere simile! ©copyright CEFRIEL 2012| All rights reserved | Milano, Italy 53
Baixar agora