EMB_77

EMBEDDED SETTEMBRE 56 SOFTWARE | MULTI-CORE RTOS Sono in corso tentativi di rendere più facile l’im- plementazione safety-critical di processori multi- core. Diversi standard sono stati aggiornati per risolvere i problemi dei sistemi multicore, come l’ARINC 653, che affronta il partizionamento spazio-temporale dei sistemi operativi in tempo reale (RTOS) per applicazioni avioniche safety- critical. Lo standard ARINC 653 è stato aggior- nato nel 2015 (ARINC 653 Parte 1 Supplemento 4) per includere le operazioni multicore delle sin- gole applicazioni, denominate “partizioni.” Lo standard tecnico Open Group Future Airbor- ne Capability Environment (FACE), versione 3.0, indirizza il supporto multicore richiedendo la conformità al Supplemento 4. Affrontando di- rettamente la questione dell’interferenza multi- / À - zione (CAST), supportato da FAA, EASA, TCCA e altre autorità aeronautiche, ha pubblicato un documento d’intenti (position paper) contenen- te una guida ai sistemi multicore denominata CAST-32A. Insieme, questi documenti forniscono i requisiti per il corretto utilizzo di soluzioni mul- ! À À 1 A, il massimo livello di garanzia di progettazio- ne dello standard RTCA DO-178C per software safety-critical. Alta garanzia grazie al partizionamento nello spazio e nel tempo In un processore single-core, più applicazioni sa- fety-critical possono essere eseguite a bordo dello Determinismo multicore per applicazioni safety-critical T utte le architetture hardware multicore in- cludono risorse condivise, come controllori di me- moria, la memoria DDR, ingressi e uscite, la cache e la struttura interna per il loro collegamento (Fig. 1). La contesa di queste risorse condivise si presen- ta quando più core del processore tentano di acce- dere contemporaneamente alla stessa risorsa. Nel- le applicazioni safety-critical, la preoccupazione principale risiede nel fatto che, in questa contesa di risorse condivise, un’applicazione in esecuzione su un core può interferire con un’applicazione in ! Á ! - vamente il determinismo, la qualità del servizio e, À !! # ; delle risorse condivise possono diventare notevoli se li si lascia incontrollati. In un processore quad- core, con i core che accedono esclusivamente alla memoria DDR tramite connessione su chip senza accesso di I/O, le interferenze multiple generate da più core hanno causato un incremento dei tem- pi di esecuzione, nel peggiore dei casi (worst-case execution time, WCET), di oltre 12 volte. A causa dell’arbitrato delle risorse condivise e degli algorit- mi di schedulazione nel controller della DDR, una politica di assegnazione equa non è garantita e gli impatti delle interferenze sono spesso non linea- ri. In effetti, i test rivelano che l’interferenza di un singolo core può aumentare il WCET di un altro core di un fattore 8. Il risultato è che un’applica- zione con priorità o criticità inferiori potrebbe im- pedire a un’applicazione con priorità o criticità più elevate di svolgere la sua funzione prevista. Il sistema operativo INTEGRITY-178 tuMP consente a più applicazioni indipendenti di girare in un ambiente multicore in modo prevedibile, limitato e indipendente dall’applicazione Richard Jaenicke Green Hills Software

RkJQdWJsaXNoZXIy MTg0NzE=