Multi-core nei tablet: nuove API per lo sviluppo facile

La Multicore Association lavora su un insieme di API che dovrebbe facilitare lo sviluppo di applicazioni e sistemi operativi in grado di sfruttare i chip multi-core che invaderanno smartphone e tablet nei prossimi anni.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Sviluppare per tablet, smartphone e altri dispositivi embedded dotati di processori multi-core sarà presto più facile. La Multicore Association sta discutendo le specifiche di un nuovo modello di programmazione che dovrebbe rendere più agevole la scrittura di codice.

L'obiettivo è di mettere insieme delle API fondamentali per stabilire degli standard che riguardano la comunicazione, la condivisione di risorse e la virtualizzazione tra i core contenuti sullo stesso o differenti chip.

Finora il gruppo di lavoro ha completato due API, la prima si chiama MCAPI (multicore communication API), mentre la seconda MRAPI (multicore resource management API) e si occupano rispettivamente della comunicazione e della gestione delle risorse. Il lavoro sta proseguendo, concentrandosi nella creazione di nuovi strumenti e API che riguardano la virtualizzazione.

Arrivano gli smartphone dual-core, ma siamo sicuri che saranno sfruttati a dovere?

Secondo Markus Levy, presidente del gruppo, un modello di programmazione chiaro rende più facile i riuso di applicazioni su differenti piattaforme multi-core. Prima di queste API la maggior parte dei progetti usava meccanismi proprietari che non offrivano un'adeguata portabilità.

Una vecchia pubblicità recitava che "la potenza è nulla senza il controllo". Tra le soluzioni possibili ci sarebbe quella di usare un core per gestire il sistema operativo, mentre un altro potrebbe essere dedicato alla rete telefonica. Tuttavia grazie a un set di API prestabilito i core potrebbero essere in grado di cambiare funzionalità dinamicamente, consentendo ai sistemi operativi di controllare con maggiore facilità tutte le risorse in campo.

La MRAPI offre per esempio supporto alla notifica di eventi a livello di sistema, come gli stati di risparmio energetico, eventuali problemi e il ripartizionamento dell'hypervisor. Nel panorama attuale ci sono altri modelli di programmazione multi-core come OpenMP e OpenCL. L'API OpenMP è pensata per scrivere applicazioni parallele a livello macchina, mentre OpenCL è un frame work di programmazione per l'esecuzione di operazioni su più core di calcolo, incluse le CPU e le GPU.