Evoluzione dei sistemi embedded
Upcoming SlideShare
Loading in...5
×
 

Evoluzione dei sistemi embedded

on

  • 848 views

La presentazione fatta il 21 giugno 2012 durante l'evento Embedded - IC & Automation Fortronic

La presentazione fatta il 21 giugno 2012 durante l'evento Embedded - IC & Automation Fortronic

Statistics

Views

Total Views
848
Views on SlideShare
847
Embed Views
1

Actions

Likes
1
Downloads
7
Comments
0

1 Embed 1

https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Evoluzione dei sistemi embedded Evoluzione dei sistemi embedded Presentation Transcript

  • Embedded - IC & Automation Fortronic21 Giugno 2012Centro Congressi Milanofiori - MilanoEvoluzione dei Sistemi Embedded:Verso architetture multi-coreCarlo BrandolesePatrick BellasiCEFRIEL – Politecnico di Milano Evoluzione dei Sistemi Embedded: Verso architetture multi-core by CEFRIEL-Politecnico di Milano is licensed under a Creative Commons Attribution - Noncommercial - No Derivative Works 3.0 Unported License.
  • Multi-Core in Ambito Embedded Ci stanno già andando... non perdiamo la corsa! © CEFRIEL – Politecnico di Milano 2012© CEFRIEL – Politecnico di Milano 2012 2
  • Multi-Core in Ambito EmbeddedChe 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© CEFRIEL – Politecnico di Milano 2012 3
  • Multi-Core in Ambito EmbeddedA che punto siamo? La scelta di una archiettura è fondamentale influenza direttamente le prestazioni del sistema oltre che la sue funzionalità, e.g. componenti, I/O, consumi energetici... Soluzioni multi-core si stanno affermando sempre più prospettiva di maggiori prestazioni grazie al parallelismo 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 lintegrazione di real-time, general purpose e software legacy© CEFRIEL – Politecnico di Milano 2012 4
  • Multi-Core in Ambito EmbeddedCosa 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 Gestione “manuale” delle risorse condivise Scalabilità limitata dallaumento di complessità Prestazioni probabile sotto-utilizzazione dei core intense comunicazioni fra cores© CEFRIEL – Politecnico di Milano 2012 5
  • Multi-Core in Ambito EmbeddedCosa 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 dellOS conseguente riduzione di complessità sia di design che di codice Le risorse condivise vengono gestite in Svantaggi modo trasparente dal Sistema le applicazioni debbono essere scritte Operativo “bene” per sfruttare il parallelismo© CEFRIEL – Politecnico di Milano 2012 6
  • Multi-Core in Ambito EmbeddedLightway 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à dellSMP e il controllo dellAMP Lightway virtualization sfrutta servizi dellOS per creare “containers” isolamento applicazioni, assegnamento risorse Le risorse condivise vengono Full virtualization partizionate (dinamicamente) fra le richiede un monitor hardware diverse applicazioni supporta molteplici OS indipendenti ciascuno vede solo parte delle risorse© CEFRIEL – Politecnico di Milano 2012 7
  • Multi-Core in Ambito EmbeddedQuali Solozioni Vanno per la Maggiore? Molte piattaforme embedded attuali sono basate suarchitetture multi-core asimmetriche diversi processori integrati allinterno dello stesso chip, o sistema Lavvento dei System-on-Chip (SoC) ha favorito questotipo di soluzioni Architetture specializzate vengono impiegate persupportare funzionalità specifiche elaborazione di dati multimediali (Audio/Video DSP) accellerazione e rendering grafico (GPU)© CEFRIEL – Politecnico di Milano 2012 8
  • Multi-Core in Ambito EmbeddedDalle Board ai SoC... fino a PSoC ed FPGA© CEFRIEL – Politecnico di Milano 2012 9
  • Multi-Core in Ambito EmbeddedDentro un OMAP5 (Texas Instuments)Samsung Galaxy S3© CEFRIEL – Politecnico di Milano 2012 10
  • Multi-Core in Ambito EmbeddedDentro un U9500 (ST-Ericsson) Nokia Lumia 800© CEFRIEL – Politecnico di Milano 2012 11
  • Multi-Core in Ambito EmbeddedAbbiamo Davvvero Bisogno di Tante Prestazioni? La disponibilità di architetture parallele consente losviluppo di nuove classi di applicazioni Le elaborazione multimediali in generale possonobeneficiare 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© CEFRIEL – Politecnico di Milano 2012 12
  • Multi-Core in Ambito EmbeddedQuali Nuove Applicazioni Possiamo Aspettarci? Nuove forme di interazione “uomo-macchina” Augmented RealityGoogle Glass Project© CEFRIEL – Politecnico di Milano 2012 13
  • Multi-Core in Ambito EmbeddedQuali Nuove Applicazioni Possiamo Aspettarci? Businness Diffusione della Computer Vision Intelligence Assistenza alla guidaMonitorazzio Controllo& Sicurezza di Accessi© CEFRIEL – Politecnico di Milano 2012 14
  • Multi-Core in Ambito EmbeddedQuali 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© CEFRIEL – Politecnico di Milano 2012 15
  • Multi-Core in Ambito EmbeddedQuali 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...© CEFRIEL – Politecnico di Milano 2012 16
  • Multi-Core in Ambito EmbeddedQuali 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 essereprogrammate seguendo “nuovi”paradigmi di programmazione Stream-Processing© CEFRIEL – Politecnico di Milano 2012 17
  • Multi-Core in Ambito EmbeddedQuali 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 lesecuzione 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© CEFRIEL – Politecnico di Milano 2012 18
  • Evoluzioni Architetturali Tanti grossi: bene... molti piccoli: meglio!© CEFRIEL – Politecnico di Milano 2012 19
  • Evoluzioni Architetturali FutureQuali 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 allinterno del singolo chip Imoatto su prestazioni e consumi energetici fra-chip in-chip Richiesta di maggiore flessibilità...© CEFRIEL – Politecnico di Milano 2012 20
  • Evoluzioni Architetturali FutureCome 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 multistandardda SW ad-hoc su HW ad-hoc...… a SW ad-hoc su HW generico Vantaggi Manutenibilità post-produzione [Ramacher09] Supporto per applicazioni diverse sia presenti che future Riduzione di costi e tempi di produzione© CEFRIEL – Politecnico di Milano 2012 21
  • Evoluzioni Architetturali FutureCome si Confrontano Con le Soluzioni Attuali? Rappresentano una nuova classe di dispositivi Gops/mm^2 @ 32nm Architetture programmabili© CEFRIEL – Politecnico di Milano 2012 22
  • Evoluzioni Architetturali Future Come si Presentano Queste Nuove Architetture? Da HW ad-hoc ad HW generico Accelleratore Programmabile Accelleratori Specializzati Computation Fabric Multi-CoreComputation Cluster © CEFRIEL – Politecnico di Milano 2012 23
  • Evoluzioni Architetturali FutureCome Possiamo Sfruttarle? Esempio: Software Defined Radio (SDR) Approccio “ri-programmabile” Approccio “classico”© CEFRIEL – Politecnico di Milano 2012 24
  • Evoluzioni Architetturali FutureChe Sfide Si Presentano a Livello Software? Sviluppo di codice parallelizzato Nuovi paradigmi di programmazione a supporto dello svilupppo di SW parallelizzato in grado di astrarre dallo specifico target “write one run anywhere” Programmazione “a componenti” riutilizzabili moduli SW autonomi e parallelizzabili (filters) con interfaccie ben definite e quindi componibili (pipeline) Ambienti di sviluppo descrizione ad alto livello delle applicazioni simulazione ed ottimizazione per lo specifico target suppporto a diversi modelli di ptrogrammazione parallela© CEFRIEL – Politecnico di Milano 2012 25
  • Evoluzioni Architetturali FutureQuali Paradigmi di Programmazione? (1/3) Proprietari e/o per specifiche piattaforme Fractal definito da OW2 Consortium middleware modulare ed estensibile http://fractal.ow2.org agnostico al linguaggio (e.g. C, Java, .NET) 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© CEFRIEL – Politecnico di Milano 2012 26
  • Evoluzioni Architetturali FutureQuali Paradigmi di Programmazione? (2/3) OpenCL: “lo” standard Industriale© CEFRIEL – Politecnico di Milano 2012 27
  • Evoluzioni Architetturali FutureQuali 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 da elaborare configura la piattaforma parallelismo a livello di dati e task Copia dei API per controllar la piattaforma risultati Esecuzione parallela architettura “astratta” di riferimento su più cores© CEFRIEL – Politecnico di Milano 2012 28
  • Evoluzioni Architetturali FutureChe 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 duso, a run-time adeguati al supporto di applicazioni sia best-effort che critiche© CEFRIEL – Politecnico di Milano 2012 29
  • Evoluzioni Architetturali FutureChe Supporto Ci Si Aspetta dalla GDR? (1/2) Astrazione dalle risorse Assegnare opportunamente le risorse al fine di ottimizzare luso della piattaforma Google Assiste Glass nza alla Considerando fenomeni di Project guida Workloads Critici variazione di processo Assegnazione Risorse Workloads Best-Effort hot-spots e rotture Richiesta Risorse variazioni del carico Run-Time Resources Manager Possibili strategia? 1. assegnamento di “risorse virtuali” 2. mapping su risorse fisiche a run-time gestendo opportunamente i fenomeni di variabilità© CEFRIEL – Politecnico di Milano 2012 30
  • Conclusioni Tutto cambia... per rimanere simile!© CEFRIEL – Politecnico di Milano 2012 31
  • Evoluzioni Architetturali FutureCome si Possono Sfruttare i Many-Cores? Con lo stesso principio dei LEGO “raccogliere, mettere insieme”dal Danese “leg godt” = “giocare bene”© CEFRIEL – Politecnico di Milano 2012 32
  • ConclusioniPerchè Abbiamo “Un Data-Server In Tasca”? Lembedded va verso architetture many-core molte unità di calcolo, “sostanzialmente” simili applicazioni complesse decomposte in moduli parallelizzabili Le funzionalità di un dispositivo sono polimorfiche Barcelona Supercomputing Centre dipendono da come lo si programma possono cambiare a run-time adattandosi quindi agli scenario duso Tutto ciò è molto simile a quelloche già avviene in ambito HPC 10.240 processors cambia solo il “fattore si scala” stessi benefici ma “portabili” Tilera Tile-Gx100 100 cores indipendenti© CEFRIEL – Politecnico di Milano 2012 33
  • Grazie per lattenzione© CEFRIEL – Politecnico di Milano 2012 34