Il Raspberry Pi è nato inizialmente come piattaforma di sviluppo per programmatori dal bassissimo budget o per piccole Start-Up, entrambi desiderosi di affacciarsi nel mondo ARM, e mobile in particolare, senza dover sborsare cifre esorbitanti per le piattaforme di sviluppo delle case più blasonate (VIA, Freescale, ecc).
Il Raspberry Pi ha così aperto un altro mondo non solo a questi, ora in grado di poter acquistare ottime piattaforme di sviluppo a prezzi concorrenziali, ma anche a tutti coloro che vogliono sbizzarrirsi con un PC che effettivamente riesce a stare sul palmo della mano. Non sono mancati neppure esperimenti estremi, come la realizzazione di Supercomputer Low Budget (es. Southampton University).
Sono nate quindi diverse distribuzioni GNU/Linux per supportate in maniera specifica il Raspberry Pi. Raspbian (Debian based) è la più famosa ed efficiente, ma molte altre si sono rese disponibili gratuitamente nell'arco dei mesi: Arch (ArchLinux based), Pidora (Fedora based), OpenElec e Risc OS sono tra le più conosciute. Parlando specificatamente di OpenElec, grazie all'opera divulgativa di molti utenti e a diversi video su YouTube, sappiamo che il Raspberry Pi può essere un ottimo Media Player anche per i film in FullHD.
Alla luce di questi brillanti risultati alcuni utenti si sono chiesti se il Raspberry Pi non possa essere utilizzato anche come PC di fascia bassa per i compiti di base (email, navigazione internet, YouTube). Può questo piccolo computer da 40 euro essere efficace anche in tale veste? Siamo qui per rispondere a questa domanda.
Il Raspberry Pi Rev. B è una scheda dalle dimensioni davvero ridotte, inferiori anche rispetto alle già minuscole Pico-ITX. Misura 85,6 mm per 53,98 mm. Praticamente una carta di credito.
Differenze tra la Rev.A e la Rev.B del Raspberry Pi
Il SoC che equipaggia il Raspberry Pi, sia Rev.A sia Rev.B, è il Broadcom BCM2835. E' basato sul core ARM1176JZ-F (ARM 11) e può operare sino alla frequenza di 1 GHz, se adeguatamente raffreddato. Sul Raspberry Pi è settato per operare a 700 MHz, così che non vi sia bisogno di alcun dissipatore. Il core ARM 11 è basato sull'architettura ARMv6, precedente all'attuale ARMv7, quest'ultima utilizzata per i core Cortex A-7, A-7, A-8, A-9, A-12 e A-15 presenti oggigiorno in Tablet e Smartphone. Poiché ARMv7 è un'architettura presentata nel 2005, si può ben comprendere come ARMv6 non debba essere prestazionalmente all'ultimo grido: è stata presentata nel lontano 2001. Più di 10 anni fa.
L'architettura ARMv6 è stata progettata per impieghi di lavoro ben distanti da quelli che si possono incontrare su un odierno PC casalingo, quest'ultimo decisamente votato alla multimedialità. I core ARMv6, per questa ragione, di base sono privi di qualsiasi unità hardware per il calcolo in virgola mobile (FPU), mentre sono molto sviluppate le unità Integer (ALU), utilizzatissime in campo embedded. Broadcom ha comunque deciso di aggiungere l'unità opzionale VFP2 (ARM Floating Point architecture) per rendere il SoC più duttile. Altra caratteristica dell'architettura ARMv6 è quella di essere In-Order, invece che Out-of-Order (ARMv7 è O-o-O).
ARM comunque comprese che si sarebbe potuta inserire senza problemi anche nel mercato Mobile allora nascente (TV digitali portatili, PDA, ecc), non esistendo concorrenti x86 a bassissimo consumo, quindi aggiunse delle feature per migliorare le prestazioni multimediali dell'architettura ARMv6 senza però stravolgerne la base, come si afferma in questo vecchio (gennaio 2002) White Paper: “Single Instruction Multiple Data (SIMD) capabilities enable more efficient software implementation of high-performance media applications such as audio and video encoders. Over sixty SIMD instructions are added to the ARMv6 Instruction Set Architecture (ISA) [...] ARMv6 consolidates the developments in ARMv5, and provides 100% backwards compatibility”. L'aggiunta di estensioni specifiche per il formato MPEG-4 permise il raddoppio delle prestazioni in encoding e deconding a parità di frequenza rispetto alla vecchia architettura ARMv5.
Broadcom, per mitigare ulteriormente queste debolezze, ha integrato nel proprio SoC un co-processore dedicato alla fruizione di video, il VideoCore IV (BCM2763). Questo supporta l'accelerazione via hardware di video fino alla risoluzione 1080p (FullHD). Grazie all'utilizzo di questo co-processore è stato dimostrato come il Raspberry Pi, in ambiti limitati, possa dire la propria (lettore di video FullHD, router, ecc). In ambito generalista, però, non sembra proprio avere le carte in regola per agognare ad altrettanto successo, almeno teoricamente.
I ragazzi che hanno curato la distro Raspbian non solo hanno creato il miglior SO per Raspberry Pi oggi disponibile, ma hanno anche aggiunto delle interessanti opzioni. Una di queste riguarda la possibilità di overclockare in maniera del tutto automatica il nostro Raspberry Pi, come è possibile osservare dallo screen.
Poiché a noi non piacciono le mezze misure, abbiamo deciso di passare direttamete al livello massimo di overclock preimpostato: TURBO!
Consigliamo, se vorrete overclockare il vostro Raspberry Pi, di utilizzare dei dissipatori passivi sia sulla memoria DDR2 sia sul SoC. Durante le prolungate sessioni di test, inoltre, siamo stati costretti ad utilizzare una ventola 80x80 per calmare i bollenti spiriti del SoC Broadcom operante ad 1GHz.
Il nostro Raspberry Pi opportunamente carrozzato
I benchmark che abbiamo eseguito per questa recensione sono stati effettuati sia in modalità "None" (nessun overclock) sia in modalità "Turbo" (overclock massimo), così da osservare quanto scali in prestazioni il Raspberry Pi al variare della frequenza operativa sia del SoC sia della Ram. E ne siamo rimasti decisamente sorpresi. Anticipando in parte i risultati dei test, potete osservare lo scaling del Raspberry Pi attraverso le tabelle qui presenti.
None | Turbo | Variazione percentuale | |
CPU | 700 MHz | 1000 MHz | +43% |
GPU | 250 MHz | 500 MHz | +100% |
RAM | 400 MHz | 600 MHz | +50% |
Benchmark | Variazione prestazioni percentuale None-Turbo |
GTKperf | +35,9% |
7Zip | +59,4% |
Lame MP3 | +35,5% |
Prime | +32,3% |
Quale metro di paragone per il Raspberry Pi abbiamo scelto una macchina x86 dal costo contenuto, ed al contempo il più possibile parca dal punto di vista dei consumi. Ci siamo quindi rivolti ad AMD e, in particolare, alla APU di fascia bassissima C-60.
La scheda madre utilizzata per il confronto è una C60M1-I prodotta da Asus, la quale ha un costo di circa 60 euro. Costa, quindi, il 50% in più circa di una scheda Raspberry Pi. Se dal punto di vista dell'espandibilità la Asus vince a mani basse, dal punto di vista delle dimensioni Raspberry Pi è irraggiungibile.
Scheda | Asus C60M1-I | Raspberry Pi Rev. B |
Uscite Video | 1x DVI, 1x D-Sub | 1x HDMI |
Memoria di Massa | 6x Sata III | 1x SD card |
Connessioni varie |
12x USB 2.0, 1x GBit Lan, 1x PS/2, 1x PCI-E 2.0 16x (x4 lines) |
1x GBit Lan, 2x USB 2.0, 1x RCA Video
|
Audio | 3x Audio jack, 1x Audio header | 1x Jack Audio |
Quale case, anche se non è il più economico sul mercato, si è scelto l'Antec ISK-110, accompagnato da un buon alimentatore esterno da 90W della Delta Electronics. Per l'unità di memorizzazione abbiamo optato per un classico HDD da 2.5" da 500GB di Western Digital (Serie Blue). In ultimo, è stato utilizzato un banco di ram da 2GB di DDR3-1333 (9-9-9-27) prodotto da Corsair.
Qui di seguito le configurazioni utilizzate per i test.
SoC/CPU | Broadcom BCM2835 | AMD C-60 |
Frequenza Operativa (CPU-GPU-Ram) | 700 - 250 - 400 MHz | 1000 - 276 - 1066 MHz |
Scheda Madre | Raspberry Pi Rev. B | Asus C60M1-I Mini-ITX |
Memoria Ram | 512MB DDR2-533 | 2GB DDR3-1333 |
Memoria di Massa | San Disk SDHC 8GB (30MB/s) | Western Digital Blue 2.5" 500Gb Sata III (WD5000LPVX) |
Sistema Operativo (Kernel) | Raspbian (3.6.11) | Ubuntu 13.10 (3.11.0) |
Suite di Benchmark | Phoronix Test Suite, Sysbench | Phoronix Test Suite, Sysbench |
Periferiche |
USB Wi-Fi Adapter TP-Link WN821N-V3 Logitech BT Adapter |
USB Wi-Fi Adapter TP-Link WN821N-V3 Logitech BT Adapter |
Case | Raspbian Pi compatibile | Antec ISK-110 |
Alimentatore | OEM 5Volt - 1.2A | 90W Antec (Delta Elec.) |
Prezzo configurazioni | ~ 70 euro | ~ 210 euro |
La APU è stata utilizzata con il Turbo abilitato, e gestito dal Kernel Linux. Valori massimi raggiungibili attraverso il Turbo (CPU - GPU): 1333 MHz - 400 MHz.
I benchmark utilizzati per questa comparativa sono stati scelti perché in ambito SOHO può capitare di dover convertire un MP3, di navigare con più finestre aperte o di scompattare un archivio. Si tratta quindi di test verosimili.
GTKperf è un benchmark molto semplice, spesso sottovalutato, che però si occupa di testare una caratteristica essenziale di un sistema PC classico: quanto il sistema sia reattivo durante l'utilizzo tradizionale. Velocità di apertura e chiusura delle finestre, passaggio da un programma ad un altro, navigazione tra i menù e via di questo passo. Un sistema reattivo e veloce rende l'esperienza d'uso molto più piacevole e meno frustrante all'utente. Come è possibile osservare dal grafico il Raspberry Pi è decisamente lento in tale contesto e, parlando per esperienza personale, quando si hanno aperti due o più programmi (ad esempio il browser e l'editor di testo) la situazione diviene abbastanza deprimente. L'APU C-60, grazie anche al secondo core, è su tutt'altro pianeta, e stiamo parlando di una soluzione x86 di fascia bassissima.
Altro benchmark di indubbia utilità è quello relativo a 7Zip. Come si può osservare, l'APU C-60 distrugge completamente il piccolo SoC del Raspberry Pi, riportando risultati di tutt'altro livello.
Risultati simili, ma meno eclatanti, arrivano dal tool di conversione Lame MP3. Il vantaggio dell'APU C-60 rimane comunque consistente.
Per concludere, un benchmark facente parte della suite Sysbench. Un test di pura forza bruta, e single thread. La APU C-60 risulta circa cinque volte più veloce rispetto al Raspberry Pi @1Ghz in un 1 vs 1.
Veniamo al rapporto di potenza tra il Raspberry Pi e la piccola APU di casa AMD. Come è possibile osservare dai grafici, il C-60 è circa sei volte più prestante del Raspberry Pi a frequenza default, e circa quattro volte più prestante del Raspberry Pi quando clockato a 1 GHz. Se al momento questi numeri possono voler dire poco, nel prossimo paragrafo cercheremo di utilizzarli per un discorso di più ampio respiro.
Comincio subito con l'affermare che il Raspberry Pi, nell'utilizzo generalista, è un vero e proprio chiodo se si è abituati a sistemi x86 anche solo di fascia medio-bassa. Dal mio punto di vista già il C-60 è quasi una soluzione improponibile se si deve fare anche un leggero multitasking. Guardando indietro, ai benchmark precedentemente descritti, potrete ben immaginare come l'esperienza d'uso che mi sono imposto con il Raspberry Pi sia stata quasi una tortura: lag nell'aprire le schede del browser, lag mentre scrivevo con il word processor ... lag un po' ovunque. Anche la produttività ne ha risentito. Stare ad aspettare innumerevoli secondi che si apra un'applicazione porta via, fin dal principio, la voglia di lavorare.
Qualcuno, però, potrebbe giustamente obiettare che i consumi ridicolosamente bassi del Raspberry Pi possono compensare questa lentezza: è sì meno veloce nello svolgere le proprie mansioni, ma nel rapporto consumo/prestazioni o costo/prestazioni rimane comunque imbattibile.
Sarà davvero così? Vediamo quindi quanto consumano le due macchine in idling e in full load.
Mettiamo quindi in rapporto il consumo in full load con le prestazioni delle due macchine. Utilizziamo il valore di full load per il consumo, nonostante sia una situazione limite difficilmente raggiungibile nell'utilizzo classico, per ricreare il peggiore scenario di utilizzo. Come è possibile osservare, la configurazione basata sulla APU C-60 ha un consumo tra le x4.6 e x3.83 volte quello del Raspberry Pi in full load.
Rapporto prestazioni C-60 - Raspberry Pi @ Default : Rapporto consumo C-60 - Raspberry Pi @Default = 6.53 : 4.6 = 1.42
Rapporto prestazioni C-60 - Raspberry Pi @ 1GHz : Rapporto consumo C-60 - Raspberry Pi @1GHz = 4.23 : 3.83 = 1.1
Come si può osservare il rapporto consumi/prestazioni è a favore della soluzione x86, e tale rapporto si amplifica se andiamo ad osservare il rapporto relativo alle prestazioni ed al costo delle due piattaforme (Il rapporto del costo è 3:1, 210 euro contro 70 euro).
Rapporto prestazioni C-60 - Raspberry Pi @ Default : Rapporto costo C-60 - Raspberry Pi @Default = 6.53 : 3 = 2.18
Rapporto prestazioni C-60 - Raspberry Pi @ 1GHz : Rapporto costo C-60 - Raspberry Pi @1GHz = 4.23 : 3.83 = 1.28
In conclusione, la configurazione basata sulla APU C-60 non risulta solamente più gratificante nell'utilizzo, ma anche più conveniente in rapporto alle prestazioni.
Può il Raspberry Pi Rev.B essere un buon PC per un utilizzo SOHO (Small office - Home office)? No, non può, detto in maniera brutale.
Parliamoci chiaro, il Raspberry Pi è un'ottima macchina, e lo ha dimostrato ad esempio nelle vesti di Player Multimediale (grazie al co-processore VideoCore IV integrato nel SoC), come abbiamo scritto in precedenza, ma la limitata propensione dell'architettura ARMv6 ad impieghi multitasking ne limita fortemente l'utilizzo in ambienti più “attivi”. Mi spiegherò meglio.
Quale Media Player, una volta selezionato il video in FullHD da vedere e fatto partire, il SoC Broadcom non avrà altro impegno se non quello di farvi vedere quel video (con un'occupazione del SoC costantemente al 100%). Nelle vesti di PC SOHO questo non capiterà mai (o quasi). Ci saranno sempre due o tre task aperti (browser, wordprocessor, youtube, lettore audio, client di posta, ecc) contemporaneamente e l'utente salterà spesso dall'uno all'altro. Il SoC Broadcom non sarà in grado di reggere questo carico di lavoro, provocando continui antipaticissimi lag, tanto da far sembrare Raspbian una moviola.
L'esperienza d'uso del Raspberry Pi quale PC base si è rivelata avvilente e frustrante, nonostante si sia utilizzata la distro più leggera ed ottimizzata, Raspbian. Con Pidora, distribuzione basata su Fedora, la situazione peggiora ulteriormente. Pidora sembra proprio mal ottimizzata e, soprattutto, inutilmente pesante.
Nonostante Raspberry Pi ci abbia deluso in tale ambito, altre schede potrebbero comunque riservare delle sorprese, come la VIA VAB-820, dotata di SoC Quad Core Freescale basato su architettura ARMv7 e di 1GB di DDR3. Chissà, magari nel prossimo futuro potremo farne la recensione, ma per il momento ci godiamo il Raspberry Pi. Quale player multimediale, naturalmente.