Nuovo hardware, nuovi processori, nuovi sistemi operativi?

Che lo scenario hardware stia cambiando radicamelmente non è un mistero. Se guardiamo delle memorie secondarie tante cose sono cambiate in questi ultimi 10 anni, in particolare per quando riguarda i dischi.

Si è passati da considerare memoria primaria, dischi e tape, dove i dischi erano solo differenziati in base alla loro velocità di rotazione (15k, 10k, 7k giri al minuto), ad uno scenario molto più articolato con l’introduzione di memorie Flash e/o memorie persistenti.

E questo sia a livello di memoria primaria, con le NVDIMM e le PMEM, ma anche a livello di memoria secondaria con l’introduzione del nuovo livello SSD:

A sua volta il livello SSD è particolarmente srutturato, in dischi di tipo NVMe o dischi con interfaccia tradizionale SAS o SATA. E non entriamo nel diverso dettaglio costruttivo delle memorie Flash, dove si contano diverse tecnologie, ciascuna con diverse velocità e caratteristiche di prestazioni.

Ma che centra tutto questo con i Sistemi Operativi? Questo vanno adeguati per rispondere alle nuove casistiche e peculiarità di questi dispositivi.

Ad esempio, ha senso eseguire una cache del filesystem per uno storage NVMe molto veloce? Forse no, ma potrebbe avere molto senso avere una cache di scrittura per uno storage SSD molto “lento” in scrittura.

Ma dove tutto cambia è nella memoria primaria: poichè NVDIMM e PMEM sono più capaci (in termini di spazio), ma leggermente più lenti della “normale” RAM, ha senso fare un tiering o un caching tra queste memorie primarie? E ancora più importante, poiché rispetto alla RAM, queste nuove memorie sono persistenti (ossia mantengono il dato anche quando il sistema è spento), è possibile implementare sistemi di suspend, ma anche di riavvio del sistema operativo infinitamente più veloci?

Tante sfide, tante opportunità di migliorare i sistemi operativi esistenti.

Ma il bello viene dai nuovi processori. Proviamo a fare un esempio recente.

In occasione di IFA 2018 a Berlino, Huawei ha presentato un nuovo suo chip (SoC) chiamato Kirin 980 costruito con tecnologia a 7 nm (determina la densità di costruzione) con ben 6,9 miliardi di transistor in un 1cm quadrato!

Fin qui nulla di particolare, tutti i processori hanno una maggiore densità, tanta potenza, meno spazio, meno consumi, … bla bla bla.

Ma se analizziamo l’architettuttura interna notiamo molte sorprese e tante diversità rispetto ai tradizionali microprocessori:

Ci sono tanti core… sì, ma la novità è che i core sono diversi tra di loro: il sottosistema sfrutta tecnologia Flex-Scheduling composta da due core basati su Cortex-A76, due core basati su Cortex-A76 e quattro core basati su Cortex-A55.

Perché core diversi? Qua viene il bello: i core a più veloci e potenti (ma che consumano anche di più) gestiscono carichi di lavoro intensi in maniera puntuale durante i picchi, quelli ad alta efficienza (termica e di potenza) forniscono prestazioni per la maggior parte dei carichi di lavoro, e quelli ad ultra-efficienza permettono di gestire task in backgrond a basso carico computazionale minimizzando i consumi quando, ad esempio il sistema è in “quasi idle”.

La GPU inclusa in questo processore è una Mali-G76 con la tecnologia di clock boosting pensata per applicazioni di calcolo, gaming o AI.

Ma il bello viene dai due NPU (Neural Processor Unit) che permettono specifiche funzioni di AI con velocità e complessità aumentate rispetto ad una generica GPU o CPU. Ad esempio per capacità di riconoscimento delle immagini.

Con un processore simimile sicuramente ci vuole un sistema operativo ridisegnato per sfruttare i core in modo intelligente e selettivo in base al carico di lavoro.

La parte di GPU e NPU potrebbe essere invece demandata alle applicazioni, anche se alcune funzionalità del sistema operativo potrebbero giovare di queste periferiche.

E’ chiaro che si sta analizzando un processore molto particolare, ma già oggi le GPU si stanno diffondendo nel sistemi “normali” e l’idea dei multi-core con prestazioni differenti è notevole (in parte compensabile con funzioni come il Turbo Boost).

L’uso invece di NPU è nuovo e non stupirebbe vedere schede o nuovi processori che ripropongano queste idee.

Ciò che è chiaro è che i sistemi operativi, ma anche gli hypervisor, dovranno adeguarsi o essere ridisegnati per sfruttare meglio tutto questo nuovo hardware.

Questo post è stato visto 2629 volte!

Posted on Settembre 4, 2018 at 6:29 am by amauro · Permalink
In: Generale