SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Downloaden Sie, um offline zu lesen
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
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
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
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
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
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
Multi-Core in Ambito Embedded
Dentro un OMAP5 (Texas Instuments)




Samsung Galaxy S3




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy   7
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
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
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
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
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
Evoluzioni Architetturali




                                 Tanti grossi: bene... molti piccoli: meglio!




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy                    13
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
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
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
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
Evoluzioni Architetturali Future
Quali Paradigmi di Programmazione? (2/3)


    OpenCL: “lo” standard Industriale




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy   18
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
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
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
Grazie per l'attenzione




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy   22
Backup Slides




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy   23
Evoluzione Tecnologica




           L'hardware cambia faccia... ed il software si deve adattare!




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy              24
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
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
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
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
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
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
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
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
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
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
Archietetture multi-core
                       Dentro un MacBook Pro




Images courtesy of




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy   35
Archietetture multi-core
                       Ambito Avionico




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy   36
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
Multi-Core in Ambito Embedded




                         Ci stanno già andando... non perdiamo la corsa!




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy               38
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
Multi-Core in Ambito Embedded
Dentro un U9500 (ST-Ericsson)




      Nokia Lumia 800




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy   40
Multi-Core in Ambito Embedded
Dalle Board ai SoC... fino a PSoC ed FPGA




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy   41
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
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
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
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
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
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
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
Aspetti Industriali




      Come affrontare la sfida... supportando gli standard industriali!




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy              49
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
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
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
Conclusioni




                                       Tutto cambia... per rimanere simile!




©copyright CEFRIEL 2012| All rights reserved | Milano, Italy                  53

Weitere ähnliche Inhalte

Andere mochten auch

Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)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 FrameworkUSB Specification 2.0 - Chapter 9 - Device Framework
USB Specification 2.0 - Chapter 9 - Device FrameworkMacpaul Lin
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom BoardPatrick Bellasi
 
Exploiting Linux Control Groups for Effective Run-time Resource Management
Exploiting Linux Control Groups for Effective Run-time Resource ManagementExploiting Linux Control Groups for Effective Run-time Resource Management
Exploiting Linux Control Groups for Effective Run-time Resource ManagementPatrick Bellasi
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoSherif Mousa
 
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchBuilding Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchSherif Mousa
 

Andere mochten auch (7)

Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)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 FrameworkUSB 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 SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux 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 ManagementExploiting 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 YoctoEmbedded 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 ArchBuilding Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 Arch
 

Ähnlich wie Evoluzione dei Sistemi Embedded: Verso architetture multi-core

Case Study coopservice (Italian)
Case Study coopservice (Italian)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 miniserviziLe 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLuca Acquaviva
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziPar-Tec S.p.A.
 
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaSeminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaMauro Fava
 
IBM - Il Cloud Computing
IBM - Il Cloud ComputingIBM - Il Cloud Computing
IBM - Il Cloud ComputingS.info Srl
 
Il Cloud Infrastrutturale
Il Cloud InfrastrutturaleIl Cloud Infrastrutturale
Il Cloud InfrastrutturaleMarco Lombardo
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Marco Loregian
 
Cqrs and IoT: a match made in heaven
Cqrs and IoT: a match made in heavenCqrs and IoT: a match made in heaven
Cqrs and IoT: a match made in heavenCarmine Ingaldi
 
workshop lab cross tec_r2b1
workshop lab cross tec_r2b1workshop lab cross tec_r2b1
workshop lab cross tec_r2b1r2b2011
 
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppiFE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppiEPOCA
 
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)Herzum Italia
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86Massimiliano Torregiani
 
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?
Virtualizzazione, cluster, J2EE: best practices tutte da rivedere?fcrippa
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - PrismDotNetMarche
 
Il Cloud Computing
Il Cloud ComputingIl Cloud Computing
Il Cloud Computingzambe92
 
Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2pma77
 
Modelli per l'integrazione aziendale
Modelli per l'integrazione aziendaleModelli per l'integrazione aziendale
Modelli per l'integrazione aziendaleCarlo Zamagni
 

Ähnlich wie Evoluzione dei Sistemi Embedded: Verso architetture multi-core (20)

Case Study coopservice (Italian)
Case Study coopservice (Italian)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 miniserviziLe 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 microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
 
Cac Es3 2009
Cac Es3 2009Cac Es3 2009
Cac Es3 2009
 
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaSeminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forza
 
IBM - Il Cloud Computing
IBM - Il Cloud ComputingIBM - Il Cloud Computing
IBM - Il Cloud Computing
 
Il Cloud Infrastrutturale
Il Cloud InfrastrutturaleIl Cloud Infrastrutturale
Il Cloud Infrastrutturale
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 
Che cosa sono i microservizi?
Che cosa sono i microservizi?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 heavenCqrs and IoT: a match made in heaven
Cqrs and IoT: a match made in heaven
 
workshop lab cross tec_r2b1
workshop lab cross tec_r2b1workshop 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 sviluppiFE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
 
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   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?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 YForms To Java   W4 Y
Forms To Java W4 Y
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - Prism
 
Il Cloud Computing
Il Cloud ComputingIl Cloud Computing
Il Cloud Computing
 
Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2Il 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 aziendaleModelli per l'integrazione aziendale
Modelli per l'integrazione aziendale
 

Kürzlich hochgeladen

Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 

Kürzlich hochgeladen (9)

Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 

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