Raspberry Pi 2: test delle prestazioni

Ultimo aggiornamento: 30-04-2015

Ho da poco preso un Raspberry Pi 2 che ha una CPU quad-core ARM Cortex-A7 da 900MHz e 1GB di RAM, mentre la vecchia versione aveva una CPU da 700MHz con 512 MB di RAM. Per testarne le  prestazioni ho deciso di usare, non con il solito sysbench (come qui), ma il mio script python Relaxed FD-Discoverer, in modo da fare un test su una situazione reale con un programma che usa molta CPU.

Primo di tutto c’è da dire che sul Raspberry è possibile settare moltissime cose: utilizzo della memoria per la CPU e per la GPU, l’overclock, la frequenza della RAM ed altro; il tutto tramite il comando raspi-config o modificando il file /boot/config.txt dato che il Raspberry non ha un BIOS come i PC tradizionali.

I test  sono stati eseguiti col sistema operativo Raspian in console mode ed ho usato per settare l’overclock raspi-config, che permette di scegliere queste combinazioni (quindi non ho creato una configurazione ad hoc):

None:      700 MHz ARM, 250 MHz core, 400 mhz SDRAM, 0 overvolt
Modest:  800 MHz ARM, 250 MHz core, 400 mhz SDRAM, 0 overvolt
Medium: 900 MHz ARM, 250 MHz core, 450 mhz SDRAM, 2 overvolt
High :       950 MHz ARM, 250 MHz core, 450 mhz SDRAM, 6 overvolt
Turbo:   1000 MHz ARM, 500 MHz core, 600 mhz SDRAM, 6 overvolt
Pi2:         1000 MHz ARM, 500 MHz core, 500 mhz SDRAM, 2 overvolt

Ho eseguito il test sul dataset degli scacchi, presente sempre sulla pagina di SourceForge, che è composto da 28056 righe per 7 colonne. C’è da dire che il programma sfrutta un solo core della CPU, questo l’ho fatto  anche a causa del GIL di Python (infatti il programma è parallelizzabile non con i thread).
Ho testato tutte le configurazioni tranne none, che per me è inutile e turbo poichè il Raspbian mi dava sempre o page-fault o il trace di qualche programma.

Dai test ho avuto questi questi risultati:

Modest:  607 minuti
Medium: 548 minuti
High:        518 minuti
Pi2:           499 minuti

Per la RAM in tutti i test vi è stato un consumo massimo di 40MB.

Ora vi mostro i risultati graficamente. I grafici CPU-minuti e RAM-minuti sono questi:

raspi2-fd-test2Vedendo i grafici si può notare che la configurazione high rispetto a quella medium (hanno solo una differenza di 50Mhz CPU e hanno la stessa frequenza della RAM) produce un’esecuzione più veloce di 30 minuti.

Infine mostro il grafico 3D con CPU, RAM e i minuti

raspi2-fd-test
Il test più basso è il migliore

 

A questo punto è interessante vedere cosa accade, se prendiamo la configurazione high  e impostiamo la RAM a una frequenza di 500MHz e non di 450Mhz:

High :                  950 MHz ARM, 250 MHz core, 450 mhz SDRAM, 6 overvolt -> 518 minuti
High-500Ram: 950 MHz ARM, 250 MHz core, 500 mhz SDRAM, 6 overvolt -> 515 minuti

Dall’esperimento si può vedere non vi è un considerevole aumento di velocità. Magari con un algoritmo che utilizzi maggiormente la memoria RAM, si avrebbe avuto un aumento più cospicuo di velocità.

Piccola parentesi:  il test sul mio pc, un Inter Core 2 Quad a 2.50Ghz con 4GB di RAM, ha impiegato solo 71 minuti. Peccato che  che consuma molta più energia rispetto al Raspi2.

Altri link interessanti:
A look at Raspberry Pi 2 performance and overclocking