Archive for the ‘Distribuzioni’ Category

Giganti del software a confronto

Sunday, April 5th, 2009

La storia di Unix ha qualcosa di sorprendente: Thompson e Ritchie iniziarono a svilupparlo nel 1969 nei Bell’s Lab e dopo quasi quarant’anni non si contano nemmeno più le sue varianti: System V, Xenix, BSD, Irix, SunOS, NetBSD, FreeBSD, e molti altri. Anche se alla fine tutti questi sistemi operativi discendono da appena due o tre tipi di Unix, oggi si notano ancora numerose caratteristiche in comune con l’originale di AT & T.
Soltanto negli ultimi tempi Linux si è affermato tra i sistemi operativi di fascia home computing, mentre FreeBSD ha catalizzato maggiormente l’interesse dei professionisti dell’high tech. Nonostante questo, spinto soprattutto dalla curiosità, ho provato l’ultima versione di FreeBSD (la 7.1) con i videogiochi, l’aspetto che prediligo di più di un computer. Purtroppo, i miei titoli preferiti non hanno funzionato. Ho rinunciato, per problemi vari, a giocare con Quake Wars, Quake 4 e Doom 3.
Pur senza svolgere un benchmark comparativo approfondito, ho potuto farmi una idea delle principali proprietà del sistema. Ora, non me la sento di dire se in generale FreeBSD sia migliore di Linux o viceversa, come dice Matthew D. Fuller nel suo blog: “siamo tutti d’accordo nel considerare Unix la scelta migliore, ma abbiamo idee divergenti su quale usare”. Entrambi hanno eccellenti qualità nell’ambito delle attività di Rete (networking), possono “girare” su molte architetture hardware in commercio, e vengono adoperati quando la sicurezza diventa un fattore critico per la salvaguardia delle informazioni o delle operazioni di un server. Sono pertanto la soluzione ideale per Lanparty o partite in multiplayer.
Spesso ci si riferisce con Linux solo al kernel (il nucleo, dall’inglese) del sistema operativo, mentre il nome FreeBSD viene dato all’insieme dei software che girano sul calcolatore sotto la licenza BSD. Un’altra differenza, abbastanza evidente, si riscontra nel ciclo di sviluppo: decentralizzato su Linux, centralizzato in FreeBSD. Il prodotto finale è di solito una distribuzione Linux che combina il kernel, gli strumenti di produttività, un ambiente desktop e altre applicazioni, mediante un gestore di pacchetti (deb, rpm, tar, ecc.); al contrario gli sviluppatori di FreeBSD lavorano sempre sullo stesso gruppo di programmi (base system) che consegnano aggiornato e pronto per l’installazione. Al massimo esistono delle varianti che soddisfano i gusti di determinate utenze di computer, ad esempio l’utente occasionale (casual user) di PC-BSD. Le maggiori distribuzioni Linux sono Ubuntu, OpenSUSE e Fedora. I derivati di FreeBSD più famosi sono PC-BSD, Mac OS X, m0n0wall.
BSD e GNU sono due licenze di utilizzo dei programmi, fra le tante disponibili nel panorama del software di tipo open source. Rispetto alle alternative, sono state preferite da una ampia base di sviluppatori fervidamente convinti dei vantaggi che la ridistribuzione del codice sorgente può portare alla società.

FreeBSD 7.1

FreeBSD 7.1

Questa era la mia prima installazione di FreeBSD e pertanto temevo di commettere qualche pasticcio; durante la procedura tenevo pronto sulla scrivania un computer portatile collegato al sito Internet http://www.freebsd.org, per evitare di bloccarmi in passaggi poco chiari. La grafica del programma di setup (sysinstall), realizzata con la libreria curses, mi ha lasciato perplesso fin dall’inizio. Però è andato tutto liscio sotto ogni aspetto: scelta della lingua, configurazione della tastiera, impostazione della scheda e dei servizi di rete, selezione dei pacchetti software da un elenco di categorie, e così via. Io poi avevo già creato una partizione di tipo FreeBSD con fdisk di Ubuntu, quindi credo di aver semplificato il procedimento. Sapevo infatti che il “partizionamento” faceva riferimento alle unità logiche che si usano raramente in Linux.

Inizialmente volevo svolgere un benchmark con Phoronix Test Suite, poi ho avuto un ripensamento perché non riuscivo a fare la maggior parte dei test previsti. Visto l’insuccesso, ho ripiegato su un altro metodo, forse laborioso ma efficace: l’esecuzione del timedemo in Enemy Territory. Mi serviva la registrazione (demo) di una partita, da ripetere sia su Linux che FreeBSD con alcune opzioni per il calcolo del frame rate medio di ciascun sistema. Non immaginavo che dal confronto potesse risultare una differenza di prestazioni quasi insignificante. A 800×600 pixels c’era uno scarto di appena quattro frame per secondo e raggiunta la risoluzione di 1280×1024, con un alto livello di dettaglio dell’immagine, sia Linux che FreeBSD facevano cento frame al secondo. Questi dati dovrebbero incoraggiare anche i più scettici a trasferire Enemy Territory da un sistema all’altro. Di solito su FreeBSD i videogame per Linux sono eseguiti con un emulatore (linuxator) che il giocatore, avido come è di tempi di risposta rapidi, potrebbe giudicare male; ma in questo caso non ha penalizzato l’elaborazione in modo marcato. Il computer utilizzato per la prova era il mio PC “assemblato” con la seguente componentistica, già ampiamente descritta in passato:

  • CPU Amd Athlon 64 X2 4800+
  • Mobo Gigabyte GA-M57SLI-S4
  • Kingston KVR800D2N5 DDR2 800Mhz, 1024MB * 2
  • Hard Disk Western Digital Caviar 80GB, 7200 rpm, 8MB di cache
  • Scheda video XFX Nvidia GeForce 8600 GTS, 256MB DDR2

Il software preso in esame invece era:

  • Linux Ubuntu 8.10 (x86), Xorg 1.5.2, Nvidia 180.44
  • FreeBSD 7.1 (x86), Linuxator con Linux From Scratch 6.4, Xorg 1.5, Nvidia 180.44

Spesso gli utenti tornano a usare Linux dopo un breve periodo di prova di FreeBSD. Per varie ragioni: i giochi commerciali sono una rarità, devono installare un emulatore (linuxator oppure vmware), non tutti vengono eseguiti meglio che in Linux. Ma soprattutto hanno difficoltà a trovare altri giocatori, ai quali chiedere aiuto o consigli.

Linux e il 3D Benchmarking

Monday, February 23rd, 2009

L’analisi delle prestazioni di un elaboratore consiste nel misurare le capacità di calcolo con un insieme di programmi (carico di lavoro, detto workload) particolari. “Nella maggior parte dei casi le prestazioni sono l’attributo più importante nell’orientare la scelta fra diversi elaboratori disponibili” (Patterson e Hennessy, Struttura e progetto dei calcolatori, pag. 37). Certamente la misura da sola non suggerisce alcuna indicazione utile all’acquirente. Occorre ripeterla fra varie macchine, cioè svolgere un confronto e poi riferire i risultanti. Studiando questi dati, nel corso degli anni, i progettisti hanno perfezionato gli elementi del personal computer che davano maggiori prestazioni in certe aree piuttosto che in altre. L’acceleratore grafico (GPU) ha sostituito la CPU nei calcoli geometrici e si è specializzato sul rendering delle scene 3D. La tecnologia SLI (o l’alternativa Crossfire), di recente invenzione, promette di raddoppiare o triplicare (quasi), a seconda del numero di GPU messe in parallelo, le prestazioni dell’elaboratore con le applicazioni 3D che sono prevalentemente giochi basati su OpenGL o DirectX. Gli ingegneri hanno aggiunto poi alla GPU le istruzioni macchina per risolvere complicate formule di matematica e fisica, mi riferisco all’engine CUDA di nVidia. Una valutazione accurata sull’efficienza del sistema hardware e software viene svolta con un gruppo di benchmark. Si tratta spesso di programmi individuati fra quelli che l’utente utilizza abitualmente (Phoronix Test Suite), oppure sono applicazioni specifiche che esaminano determinate componenti (CPU2006, RAMSpeed, ecc). Oggi la grafica 3D richiede più potenza e memoria di qualsiasi altro programma per PC. Quando usiamo i videogiochi come carico di lavoro sul nostro banco di prova, otteniamo una previsione molto attendibile delle prestazioni del calcolatore. Il metodo è semplice. Possiamo valutare l’affidabilità del nostro computer partendo dai seguenti giochi: Quake III, Unreal Tournament 4, Doom 3, Enemy Territory, Quake Wars, Savage 2, Nexuiz, perché li troviamo a pagamento, gratuitamente o come demo nel World Wide Web e con uno sforzo minimo riusciamo a installarli in Linux.

Quake Wars

Quake Wars si adatta bene all’analisi delle prestazioni. Il suo motore grafico è derivato da Doom 3 e incorpora la tecnologia denominata MegaTexture che migliora indubbiamente l’aspetto del gioco negli spazi aperti della mappa. Possiamo adoperare, per il nostro scopo, la versione di prova oppure quella commerciale. Prima dobbiamo scegliere la mappa, quindi registrare una partita da Internet e poi ripetere la registrazione con una opzione determinata. Al termine dell’operazione, il motore grafico calcola il frame rate dividendo il numero totale di immagini che compongono l’animazione con il tempo, espresso in secondi, impiegato dalla macchina fisica per visualizzarle. Il risultato esprime l’effettiva prestazione della scheda grafica e del sottosistema hardware/software. Il valore suggerisce anche a quale risoluzione video possiamo giocare senza perdere troppa qualità nell’immagine.

Scarica uno dei pacchetti messi a disposizione per Linux

Quake Wars demo v2.0
– Contiene la mappa Valley
Quake Wars 1.5 Full – Richiede il DVD

Per registrare una partita, collegati a un server e premi il tasto F12. Troverai il file della registrazione nella directory:
$HOME/.etqw/base/demos

Dalla console del gioco esegui i seguenti comandi in successione:

com_unlock_FPS 1
com_unlock_timingMethod 0
com_showFPS 1
timeNetDemo FILENAME.ndm
condump FILENAME.log

Puoi mettere questi comandi, preceduti dalla parola chiave seta, in un file di testo chiamato NOMEFILE.cfg:

seta com_unlock_FPS 1
seta com_unlock_timingMethod 0
seta com_showFPS 1
timeNetDemo FILENAME.ndm (* questo senza seta *)

Poi dalla console devi soltanto invocarlo con:
exec NOMEFILE.cfg

Non dimenticare la riga di comando di Unix che abilita la console (se disabilitata):

etqw +set com_AllowConsole 1

Ho messo a confronto il PC Frag Storm con il portatile Asus A6Tc. I risultati sono raccolti in diversi istogrammi. Tra i due computer c’è una marcata differenza di prestazioni alle alte risoluzioni: da 1280×1024 pixels in su, per intenderci. Lo scarto si riduce ad appena venti FPS usando la configurazione di 800×600 pixels con bassa qualità della immagine. Da questa analisi, mi aspettavo un rendimento maggiore dal PC Fragstorm perché montava delle componenti più moderne e potenti. Ma non posso nemmeno lamentarmi ora che raggiungo le risoluzioni elevate mantenendo un frame rate decente: il minimo di quaranta FPS è pur sempre garantito a 1680×1050 pixels, a questo livello ricordo che la resa del portatile era pressoché nulla. Non ho preso in considerazione l’overclocking, col quale avrei potuto guadagnare prestazioni leggermente superiori, credo.

PowerMizer per la GeForce 8600 GTS

PC Fragstorm

  • CPU Amd Athlon 64 X2, 2.5GHz
  • 2 GB DDR2, 800MHz
  • GeForce 8600 GTS, GPU Clock=675Mhz, Memoria DDR3 da 1008Mhz

Asus A6Tc

  • CPU Amd Turion 64 X2, 1.60Ghz
  • 1 GB DDR2, 533Mhz
  • GeForce 7300 Go, GPU Clock=325MHz

Una sintesi del PC Gigabyte S-Series

Sunday, February 8th, 2009

Il PC Gigabyte S-Series (Frag Storm) è un computer IBM compatibile con processore a doppio core che ho assemblato l’estate scorsa. Volevo un sistema radicalmente nuovo, cioè costruito da zero usando componenti più moderne, soprattutto per giocare a Savage 2, dato che il portatile A6Tc non lo reggeva veramente bene. Tuttora lo ritengo adatto anche per i giochi che acquisterò o proverò in futuro: Unreal Tournament 3, Postal 3, Rage, ecc. Dopo sei mesi, scrivo finalmente questo articolo soddisfatto dei risultati ottenuti e allego i grafici dell’ultima analisi effettuata sulle memorie DDR2 con la ben nota collezione di programmi Phoronix Test Suite per Linux. Le componenti che costituiscono il Frag Storm sono elencate di seguito assieme alle foto scattate all’epoca del montaggio. Dove possibile riporto il prezzo aggiornato di ogni pezzo.

Scheda Madre

Immagine GA-M57SLI-S4

Immagine GA-M57SLI-S4

GIGABYTE – GA-M57SLI-S4. Manuale dell’utente inclusi: francese e inglese. Gigabyte è una marca che non ha bisogno certo di presentazioni; ho preferito il presente modello principalmente per tre motivi: il chipset è nForce, ha il dissipatore passivo e il disegno costruttivo della scheda appare molto elegante. Fa insomma un figurone con i cabinet aperti o semplicemente dotati di finestra come il mio. Colpisce subito lo stile grafico utilizzato per la stampa delle informazioni sulla scatola e sul libretto informativo, grazie alla scelta indovinata dei colori bianco/arancione/giallo/verde, con sigle evidenti sul lato superiore e diciture esaustive su quello inferiore. I loghi delle principali caratteristiche tecniche spiccano fra tutto il resto: Gamer’s Choice! SLI. Speed. Smart. Safe SATA 3Gb/s. Support AM2+ CPU. C’è un doppio involucro: quello esterno è sottile e patinato, quello interno si dimostra più robusto per custodire la scheda madre e gli accessori. Se la confezione è di qualità, si può tenerla in mostra sugli scaffali oppure rivendere l’oggetto senza pericolo di danneggiarlo durante la spedizione. Però le cose che mi piacciono particolarmente, come la Gigabyte M57SLI-S4, alla fine le custodisco nell’imballo originale in un armadietto, lontano dalla polvere e dall’umidità. Il codice GA-M57SLI-S4 fa riferimento al controller nForce 570 SLI e alle quattro funzioni principali offerte: SLI, Speed, Smart e Safe.

Dal punto di vista informatico, sulla mobo (da mother board) è saldato il socket AM2, adatto per l’installazione dei modelli Athlon 64 FX, Athlon 64 X2 Dual Core, Athlon 64 e Sempron. Il sito web di riferimento (vd. dettagli GA-M57SLI-S4) e la confezione specificano che la mother board ha la compatibilità per AM2+, il supporto si estende quindi anche alle CPU Phenom X3 e X4. E’ scontato che con queste capacità di espansione, si può ancora far ricorso ad un aggiornamento del sistema a un anno dall’acquisto o persino oltre. Il bus HyperTransport (FSB) collega la CPU al chipset per le operazioni di Input/output. I banchi della memoria Dram sono invece direttamente connesse alla CPU tramite la tecnologia Direct Connect Architecture, mentre il processore (MCP) nForce 570 SLI di nVidia permette l’inserimento di due schede video sui pettini PCIe x16 disponibili; le schede si abbassano però a lavorare in parallelo su due vie a x8, è il limite del chipset. Oggi questa configurazione, denominata SLI, garantisce anche agli utenti del sitema operativo Linux un incremento delle prestazioni nella grafica e nei giochi rispetto alla soluzione con scheda video singola. La scheda con un grosso dissipatore, se inserita nel secondo bus PCIe x16, rende inutilizzabile l’adiacente slot PCI di vecchia generazione a causa del layout compatto. Per quanto riguarda le connessioni di input/output di nForce, ci sono: un connettore per floppy disk, un connettore per dispositivi IDE (ATA 33/66/100/133), sei connettori SATA-II da 3GB/s, incluso il supporto via hardware per combinare i dischi in RAID 0, RAID 1, RAID 0+1 e RAID 5 i dischi SATA. Il Marvell 88E1116 è il microcontrollore LAN ethernet da 10/100/1000 Mbit, regolato dal modulo nforcedeth del kernel di Linux. L’audio viene prodotto dal chip Realtek ALC888, con le più diffuse caratteristiche attualmente disponibili: High Definition Audio, configurazioni da 2/4/6/8 canali, riproduzione diretta dal lettore CD, ingresso e uscita S/PDIF. Le dieci porte USB consentono il collegamento di un soddisfacente numero di periferiche: stampante, mouse, tastiera, ricevitori DVB-T, e molto altro. Prezzo, iva inclusa: 70,80

Cabinet

Thermaltake – Armor Jr. Per l’assemblaggio del Lan Party UT250 avevo scelto il Vostok di Enermax, un cabinet robusto ed economico, ma per il nuovo PC volevo fare le cose in grande stile comprandone uno munito di finestra che non costasse un patrimonio e che potesse eventualmente ospitare un sistema di raffreddamento a liquido. Poiché la postazione di lavoro era composta da mobili di legno in pino massiccio, dovevo procurarmi un case di colore nero, di tipo miditower, non troppo pesante perché l’avrei collocato su uno scaffale IVAR di IKEA che porta al massimo venticinque chili per ripiano. Il Thermaltake Armor Jr. mi piaceva esteticamente ed era proprio adatto ai miei scopi. L’avevo ricevuto a casa ad agosto, imballato in uno scatolone con doppio strato di cartone, ma all’interno protetto ulteriormente da cuscinetti di polistirolo e da una cuffia di materiale sintetico tessuto a “nido d’ape”. Oggi si trova in commercio in diverse versioni, con alimentatore a partire da 400W oppure senza alimentazione. L’Armor Jr. presenta due lunghe placche di alluminio che realizzano una originale armatura per il pannello anteriore. All’occorrenza le ante vanno aperte, per far scorrere il cassetto del lettore di DVD oppure per raggiungere meglio i pulsanti dei dispositivi di controllo (accensione, spegnimento, raffreddamento, ecc.). La finestra di plastica del fianco sinistro non ha una linea semplice, si distinguono quattro curve che lasciano comunque intravedere la scheda madre e buona parte dei cestelli per gli apparecchi da tre e cinque pollici. Sul lato posteriore in alto c’è spazio per il blocco di alimentazione, al centro si vedono gli sfiatatoi esagonali della generosa ventola di raffreddamento da dodici centimentri, in basso le sette aperture per l’upgrade hanno un efficacie sistema di bloccaggio delle schede. Il cabinet è conforme allo standard ATX, con la possibilità di cambiarlo a BTX mediante un kit supplementare. All’interno i cavi di vari colori del bottone d’accensione, di reset e delle spie luminose sono intrecciati fra loro; invece i fili per le prese (nascoste da uno sportellino sul lato superiore) USB, Firewire e audio sono isolati da una guaina nera. Dietro al pannello anteriore è stata installata, all’altezza del cesto più piccolo, un’altra ventola da dodici centimetri con led di colore blu incorporato. La ventola fa un effetto suggestivo a computer accceso, ma di nascosto esegue anche un lavoro molto utile: convoglia un flusso d’aria fresca ai dischi rigidi e alle restanti componenti. Prezzo, iva inclusa: 115,20

CPU e memoria

AMD – Athlon 64 X2. Kingston – KVR800D2N5. Il processore Amd Athlon 64 X2 4800+ per socket AM2 ha un doppio core con frequenza operativa di 2.5 Ghz, consuma 65 Watt e dispone di una cache L1 da 128Kb e L2 da 512Kb per ciascuna cpu. Ad agosto costava 53€; non è più in commercio.
La memoria Kingston KVN800D2N5 ha 8 chip per lato da 64MB ciascuno, è di tipo DDR2 da 800MHz e appartiene alla categoria ValueRAM per sistemi desktop generici; non presenta un dissipatore passivo. Avendo acquistato due moduli, ho speso 44€, ma oggi si trovano a circa 13,50€ cadauno. Ho ritenuto opportuno installare 2GB, per ottenere stabilità e fluidità di gioco soprattutto in Savage 2. Il test con ramspeed ha rivelato una velocità di trasferimento pari a 2262 MB che non sembra eccezionale, ma resta pur sempre nella norma.

Ramspeed

Assemblaggio

Per il montaggio del PC ho utilizzato soltanto il cacciavite e la forbice, impiegando circa un’ora.

L’alimentatore iTek fornisce 500 Watt di potenza, la minima per un sistema SLI; però io ho acquistato una sola scheda video, di per sé già abbastanza potente: la nVidia GeForce 8600 GTS di XFX. Questo modello GeForce 8, avendo una GPU con frequenza di 675MHz e 256MB di memoriea DDR3 da 1008MHz, supera notevolmente la GeForce 7300 Go del portatile nei giochi eseguiti ad alte risoluzioni (anche dell’ordine di 1680×1024 pixels).