Case e PC Completi

Raspberry Pi 4 scalda meno con il nuovo firmware

Da quando Raspberry Pi 4 è stato presentato abbiamo avuto modo di analizzarlo e di parlarne in diversi articoli, che vi invitiamo a recuperare se non li avete ancora letti. Quello che più ha colpito, rispetto alla vecchia generazione, è l’innegabile potenza di cui è dotato.

Ma avere tutta quella potenza significa doverne pagare il costo, e per il Pi 4 il costo da dover pagare è il calore generato, che è salito molto rispetto ai precedenti modelli. Con un carico di lavoro sostenuto il Pi 4 raggiunge in una manciata di minuti la temperatura che lo fa entrare in thermal throttling.

È un problema ben noto e al quale la Raspberry Pi Foundation sta cercando di rimediare. Al momento esiste una soluzione che non può di certo risolvere la situazione ma che comunque aiuta un minimo a raffreddare i bollenti spiriti del Pi 4: stiamo parlando del nuovo aggiornamento firmware del controller USB VLI VL805.

Il firmware

La Raspberry Pi Foundation ha reso pubblicamente disponibile il firmware alpha VL805 per test sul campo, insieme a uno strumento per ottenere il nuovo firmware, salvare quello esistente e flashare quello nuovo. Chi desidera provarlo dovrebbe però sapere che alcuni utenti hanno lamentato seri problemi prestazionali con alcuni dispositivi USB 3.0 usando il nuovo firmware. Al momento il problema è sotto indagine da parte degli ingegneri della fondazione.

Il controller

Chi segue Raspberry sin dalle prime generazioni ricorderà che i primi modelli avevano un hub USB e un controller Ethernet combinati che si connettevano al SoC mediante una singola corsia USB 2.0. Era quella la causa del collo di bottiglia che influenzava negativamente sia le prestazioni di rete che quelle di archiviazione sin dal lancio dell’originale Model B.

Fortunatamente quei tempi sono ormai passati, ora il Raspberry Pi 4 ha un controller Ethernet dedicato e le porte USB sono gestite da un controller VLI USB 3.0, nome in codice VLI805. Quest’ultimo, comunicando col SoC tramite una corsia PCIe, ha una larghezza di banda decisamente superiore a quella dei precedenti modelli. Ricordiamo inoltre che questo componente debutta sul Pi 4, ciò significa che ci saranno importanti possibilità di miglioramento man mano che gli ingegneri della Raspberry Foundation impareranno ad ottimizzarlo.

L’aggiornamento del firmware è un primo passo verso l’ottimizzazione di cui vi parlavamo: contiene modifiche che riducono in modo considerevole i consumi del controller e di conseguenza la temperatura, con ripercussioni positive sull’intero Pi 4.

Throttling

Per testare il nuovo firmware, abbiamo provato due Raspberry Pi 4, uno con il primo firmware del debutto e uno con quello alpha.

Nello specifico, per simulare uno degli scenari d’uso più comune, ai Pi 4 sono stati connessi un display tramite porta HDMI, tastiera e mouse wireless con relativo dongle alla porta USB ed un cavo Ethernet. Poi su entrambe le versioni è stato eseguito un carico di lavoro per mettere sotto carico tanto la CPU quanto la GPU.

Mentre veniva eseguito il carico di lavoro, la temperatura rilevata è stata registrata una volta al secondo dai sensori termici integrati nella GPU Broadcom VideoCore VI del SoC BCM2711B0, insieme alla velocità di clock dei core di elaborazione ARM.

Il carico di lavoro è stato svolto per 10 minuti, ottenendo i dati che vedete nel grafico qui sotto. Per entrambe le sessioni la temperatura ambiente era di 24 °C e al Raspberry Pi 4 è stato permesso di raffreddarsi a temperatura ambiente tra le sessioni.

Come ci si aspettava, dal grafico si evince subito che la temperatura del BCM2711B0 inizia a salire rapidamente man mano che il carico di lavoro aumenta. Il nuovo firmware inizia il test con un vantaggio di 2 °C rispetto al firmware di lancio: in idle le rispettive temperature che si attestano a 48 °C e 50 °C, offrendo un primo segnale che lascia presagire come l’aggiornamento potrebbe effettivamente mantenere le sue promesse e riuscire ad abbassare di qualche grado le temperature del Pi 4 sotto carico.

Dopo 60 secondi, entrambi fanno registrare temperature che si attestano a circa 70°C, mentre il distacco di 2°C a favore del firmware aggiornato torna a far capolino nuovamente quando si raggiungono i 2 minuti di svolgimento del test, con una temperatura di 75°C rispetto ai 77°C registrata dal firmware del debutto.

Il primo a scatenare il throttling termico (le temperature raggiungono valori tali che i chip riducono la loro frequenza di lavoro – con un conseguente calo delle prestazioni – per preservare l’integrità) è il firmware iniziale, che vede scendere la sua velocità di clock da 1,5 GHz a 1 GHz a 3 minuti e 43 secondi.

In realtà l’uscita HDMI aveva rivelato già in precedenza dei piccoli periodi di throttling, troppo brevi però per essere catturati dal sistema che cattura la frequenza ogni secondo.

Il firmware aggiornato si comporta invece abbastanza bene e fa registrare il suo primo rallentamento a 5 minuti e 21 secondi, quasi due minuti dopo l’altro firmware.

Lo scopo del test però non è solo di capire quanto ci metta il Pi 4 a raggiungere il punto di thermal throttling ma anche quanto tempo ci resti. Il firmware di lancio ad esempio è sceso al di sotto della sua velocità stock di 1,5 GHz per 86 dei 600 secondi del test, mentre il firmware aggiornato solo per 50 secondi. Il firmware aggiornato esce inoltre vincitore per i cali di frequenza registrati, 50 contro 65.

Prestazioni

Per quanto riguarda le prestazioni, non pare che il nuovo firmware vada ad impattare positivamente come per le temperature, anzi, la situazione resta stazionaria.

Testare il throughput verso un SSD esterno usando il benchmark Fio infatti non ha mostrato alcuna differenza tra i due firmware. Comunque ci si può aspettare che i carichi di lavoro che attivavano il throttling terminino prima sotto il nuovo firmware.

Analisi termica

Dopo l’analisi precedente viene da chiedersi cosa accada su tutta la scheda del Pi 4. Ebbene, guardando al consumo durante l’intero test, una cosa risulta decisamente chiara: il Pi 4 usa meno elettricità quando esegue il firmware aggiornato.

Con collegate le periferiche usate per il test (display HDMI, mouse e tastiera wireless) e la connessione Ethernet, il firmware del debutto fa segnare 3,8 W in fase idle e 7,9 W sotto carico, il nuovo firmware invece scende a 3,4 W in inattività e 7,6 in carico.

Per vedere cosa accade alla scheda, abbiamo messo il Pi 4 con i due firmware differenti sotto una termocamera. La scheda, con le periferiche scollegate, è stata lasciata in idle per 5 minuti, poi spenta e lasciata raffreddare a temperatura ambiente, che come scritto precedentemente era di 24°C.

Immagine termica del Raspberry Pi 4 con il firmware del debutto. Crediti: Gareth Halfacree

Come si può vedere dall’immagine, con il firmware del debutto il calore si diffonde attraverso tutta la scheda, ma si concentra particolarmente sul SoC, sul controller USB (sul centro scheda, leggermente a destra), sul circuito di gestione dell’alimentazione (PMIC) e sull’hardware di supporto (in basso a sinistra).

Da questa immagine, è chiaro che il controller USB contribuisca in maniera considerevole al riscaldamento della scheda nonostante non sia connesso alcun dispositivo USB. Con 46,2°C infatti è il secondo dispositivo più caldo della scheda; il SoC è il primo con 48,2°C e chiude il trittico il cluster PMIC con 46°C.

Il Raspberry Pi 4 con il nuovo firmware. Crediti: Gareth Halfacree.

Il semplice passaggio al nuovo firmware fa registrare una sostanziale differenza. In idle il cambiamento più grande nelle temperature registrate è per l’appunto quello del controller USB che scende fino a 41°C – ben 5,2°C in meno rispetto al precedente firmware!

Di questo abbassamento di temperature ne beneficia tutto il sistema, infatti anche la temperatura del SoC scende e si attesta sui 45,6°C, mentre il cluster PMCI passa a 44,2°C anche grazie al minore consumo che questo nuovo firmware riesce a garantire.

La seconda immagine mostra come l’intero PCB sia più freddo, e così anche le porte USB ed Ethernet.

Conclusioni

Sebbene il nuovo firmware non sia in grado di impedire al Pi 4 di entrare in thermal throttling sotto carichi di lavoro sostenuti – questo sarebbe possibile, come detto in altri articoli, solo grazie all’uso di dissipatori esterni, ventole o l’accessorio ufficiale Raspberry Pi PoE HAT – tuttavia, è comunque in grado di fare una netta differenza, in particolare per quanto riguarda il tempo che il Raspberry Pi 4 impiega per raggiungere il punto in cui entra in throttling.

Questo denota anche uno dei grandi punti di forza della Raspberry Pi Foundation: rispetto alla moltitudine dei suoi rivali, continua a supportare e migliorare i suoi prodotti, con grande regolarità, anche dopo lunghi periodi dal lancio sul mercato, con continui aggiornamenti del firmware e del sistema operativo che vanno ad aggiungere nuove funzionalità o a migliorare quelle già esistenti.

Non è ancora noto quando verrà rilasciato il firmware del controller USB che abbiamo analizzato in questo articolo, bisogna solo capire quando i test saranno considerati completi e il firmware pronto per essere rilasciato, ma comunque non ci aspettiamo che intercorrano tempi biblici.

Inoltre la Raspberry Pi Foundation ha già confermato alcune delle funzionalità aggiuntive che ha in programma di inserire nei prossimi aggiornamenti del firmware tra cui: il boot PXE per consentire l’avvio del Pi 4 da un server di rete senza micro SD inserita, e poi il boot USB per permettere l’avvio da un dispositivo di archiviazione esterno – di nuovo, senza la micro SD attualmente richiesta per ospitare la partizione