Archivio per il 'Hardware'Categoria

amd vs intel

Novembre 17, 2009

Adesso ho capito, perché in certi casi, il processore AMD X2 4000+ della morosa è più veloce del mio intel dual core E6600.

Tutta questione di pipeline. Riassumendo:

  • amd, pipeline corta: ottimo per operazioni sequenziali randomiche (la pipeline si svuota e si riempe con maggiore velocità se è più corta). Rippare un cd più lento che aprire e navigare con firefox.
  • intel, pipeline lunga: ottimo per operazioni sequenziali similari (la pipeline si svuota e si riempe con minore velocità se è più lunga). Rippare un cd più veloce che aprire e navigare con firefox.

Cito da qui:

Generalmente, una pipeline più lunga consente di scindere in parti più piccole un’istruzione e dunque di occupare meglio le risorse della CPU, oltre che a consentire di raggiungere frequenze di funzionamento più elevate per il processore.

D’altro canto, questa è solo una situazione ideale: in realtà, non tutte le operazioni sono indipendenti le une dalle altre. Può capitare, ad esempio, che un’istruzione necessiti del risultato che viene fornito dall’istruzione precedente per poter essere eseguita, come nel semplice caso:

A = C – 7
B = A + 2

La seconda istruzione, dunque, deve prima attendere che termini la prima istruzione, in quanto prima di poter essere eseguita gli è necessario conoscere il valore della variabile A. (Qualcuno potrebbe obiettare che la situazione si può facilmente risolvere scrivendo B = C – 5 al posto della seconda istruzione: è chiaramente compito di un buon programmatore accorgersi di questi particolari.)
Dunque, è possibile che nonostante tutto la pipeline debba terminare certe istruzioni prima di affrontarne altre da principio, e dunque che alcuni cicli di clock vengano sprecati. Come si può intuire, tanto più è lunga una pipeline, tanto più alta è la percentuale di cicli di clock che vengono sprecati. Trovare un buon bilanciamento tra frequenza del processore e sua efficienza operativa è alla base del progetto di ogni buona CPU.

Al giorni d’oggi, i processori in commercio hanno lunghezze della pipeline anche piuttosto differenti (i processori Intel Pentium 4 core Prescott hanno una pipeline a 31 stadii, gli AMD Athlon 64 a 12, per le istruzioni intere). In base al discorso in precedenza, non ci si stancherà mai di ripetere che la frequenza di un processore non è tutto! Cioè, non può considerarsi un parametro unico delle prestazioni di un processore: può esserlo solo a parità di architettura.

Ora devo solo scoprire dove trovare i valori di pipeline.

PS Forse è meglio se rispolvero il libro di Architettura degli elaboratori!

Congiunzioni astrali

Ottobre 30, 2009

Oggi arrivo tutto fiero a tirocinio, masterizzo Ubuntu1 9.10 (rigorosamente a 64bit2) sulla mia macchina e patatrac: non finisce l’installazione! Porca puttana, mi dico, ho appena mostrato all’altra tirocinante quanto “fico è linux” e questo brutto deficente mi va a impiantarsi sull’installazione?

Riesco comunque a notare sul pannello di GNOME un punto esclamativo in rosso. Gira e remena trovo quesa cosa qua:

EDAC amd64: WARNING: ECC is NOT currently enabled by the BIOS. Module will NOT be loaded.

Vabbeh non è la fine del mondo, riavviamo, andiamo sul bios attiviamo sto ECC3 e riproviamo l’installazione. Niente da fare perché mi si impiantava alla stessa percentuale di prima. Come cazzo faccio? Sono andato a rompere i coglioni al tutor4 per farmi dare la 9.04 a 32 bit e installo: tutto ok.

Appena arrivato a casa metto il CD della 9.10 a 64bit masterizzata a tirocinio ma prima di fare altre prove…verifichiamo il CD: 1 error found5. Fanculo: è la prima volta che mi capita di masterizzare6 una distro linux alla membro di segugio.

Però sono talmente rompicazzo che lunedì si ricomincia: karmik koala a 64bit con fs ext4 e grub27. E la macchina virtuale sulla quale devo lavorare può tranquillamente aspettare.

1 rigorosamente scaricata a casa sennò gli saturo la banda ah… ma perché Ubuntu? non ho tempo per mettere altro e sicuramente non voglio lavorare su XP Professional

2 io sono fissato con questi 64bit mentre il tutor è restio e installa/usa solo le versioni a 32bit

3 non mi sono neanche preoccupato di capire a cosa serva…

4 con la coda fra le gambe

5 o quello che è

6 notare che l’ho fatto dal mio portatile con Brasero!

7 questa volta usando un mio CD (che mi farò ovviamente rimborsare) e con xfburn

Non ha prezzo

Ottobre 23, 2009

Windows Vista Enterprise1 a 32 bit: gratis con MSDNAA. Scoprire che è proprio la scheda video fottuta non ha prezzo2.

1 Avevo Windows XP Home e mi serviva solo per giocare ad Age Of Empire III in multiplayer ma ultimamente dopo 10 minuti di gioco sfarfallava e si bloccava

2 Sopratutto quando si è fatto tutto un lavoro certosino di qualche ora (dovuto alla lentezza dell’aggiornamento di sistema e installazione di antivirus, driver…)

Cpufreq: novità in Linux 2.6.30

Agosto 29, 2009

Qualche mese fa stavo chattando con un mio collega, circa una sua preoccupazione, di cpufreq e dei governor conservative e ondemand. Il succo della questione era:

non è che a forza di regolare le frequenze della CPU si ha perdita di prestazioni? Cioé a forza di andare “su e giù” in continuazione perdo prestazioni?

Domanda più che legittima in effetti.

Non avendo una minima conoscenza del kernel (inteso come codice sorgente e teoria di qualsiasi natura) ma fidandomi di Linux la mia risposta è stata più o meno:

beh effettivamente non ci avevo mai pensato ma spero vivamente che quando hanno scritto il codice abbiano previsto anche questo!

Insomma facendo un ragionamento. Il passaggio da una frequenza ad un’altra vorremo tutti che lo facesse abbastanza velocemente (coerentemente con il governor) per non perdere prestazioni. Ma in realtà non troppo velocemente perché sennò impiega risorse per scalare aggressivamente la CPU.

Facciamo un esempio con il governor conservative che non salta alla massima frequenza quando il carico della CPU cresce, ma aumenta poco alla volta la frequenza. Se diminuisco la latenza di transito da una frequenza a una maggiore non è che abbia il risparmio energetico che mi aspetto.

Quando invece scala troppo velocemente da una frequenza a una minore ovvio che ho una perdita di prestazioni: da 800Mhz a 2,1Ghz poi però in un tempo infinitesimale ho bisogno di nuovo di 2,1Ghz ma ero appena ritornato a 800Mhz.

Però, anche se ci fidiamo dei Linux, ora abbiamo anche la possibilità di modificare la latenza!!! Ovviamente bisogna toccare solo avendo fatto un po’ di benchmark a priori per vedere quale valore della latenza può essere più adatto al tipo di governor e alle nostre esigenze.

Io lascerò le cose come stanno ma per i più ardimentosi lascio sperimentare.

ATI Sapphire HD4670 512M GDDR4

Luglio 21, 2009

Ormai che cambio l’alimentatore cambio anche scheda video? La mia vecchia ATI è una Sapphire X1600 Pro da 256mb GDDR3. La ventola è rotta per metà ed è solo grazie al super attack che quella metà non penzola più. Infine, come se non bastasse, la superficie con le scritte ati bla bla sembra bruciata da un accendino.

Alla fine mi sono iscritto ad hwupgrade (era da anni che dovevo farlo) e ho chiesto consiglio dato che ero partito con una NVIDIA . Mi hanno consigliato una ATI Radeon HD4670. Leggendo alcune recensioni mi ha fatto una buona impressione, oltretutto è supportata dai radeonhd in attesa che i catalyst funzionino con un kernel 2.6.30 (visto che su Arch Linux con gli upgrade faccio come Mussolini: vado solo avanti!). Alcuni link utili per chi si trovasse in una situazione simile:

20090115100504_11138-17_HD4670_512MBGDDR4_PCIE_C03

Per i maligni che si chiedono dove trovi un disoccupato tutti questi soldi per cambiare l’hw voglio ricordare una cosa: quando vi laureate esigete solo soldi. Regali inutili, braccialetti orrendi, crocifissi, madonne, orologi-da-polso-manageriali e cazzate varie dovete rendere noto che non vi interessano. Ecco dove li trovi tutti questi soldi.

L’unico problema che mi si pone davanti è: come minchia si cambia scheda video quando si a che fare con Windows? Disinstallo i driver, cambio scheda, installo i nuovi driver? O altro? Maledetto sistema operativo randomico…

OCZ ModXstream Pro 700W

Luglio 21, 2009

Ordinato il nuovo alimentatore (qui una recensione), forse sovradimensionato per il mio sistema ma costava quasi uguale, 1 euro di scarto, rispetto a uno della Tecnoware da 600W. Ovviamente non si può resistere alla OCZ e al fatto che ha misure più consone al mio cabinet!

MXSP_back_b

Dovrebbe arrivarmi entro la settimana.

Sfiga maledetta

Luglio 19, 2009

Sfiga maledetta. La ventola del fisso gracchia: è fuori asse. Una lavatrice è più silenziosa. OK questo computer ha 3 anni ed è quasi sempre perennemente acceso ma il fatto mi fa girare i coglioni perché siamo quasi sotto feste.

Come soluzione potrei adottare le seguenti mutuamente esclusive:

  • apro l’alimentatore, metto a posto la ventola sperando di trovarne una compatibile;
  • cambio l’alimentatore.

Quasi quasi ormai che ci sono opterei per la seconda. Così ne prendo uno più decente e sicuro rischio meno che mettere mano all’alimentatore.

Voglio spendere circa sui 60 euro. Deve alimentare due HD SATA II, un processore dual core, 2GB di ram PC5300, due ventole aggiuntive che si alimentano dalla MoBo (per rinfrescare il cabinet sennò gli HD si fondevano).

Consigli su un buon alimentatore: silenzioso, che duri un’eternità e che eroghi una potenza uguale, o superiore, a 480W?

Oggi sono andato

Giugno 13, 2009

alla Fiera dell’Elettronica delle mie parti, molto piccola rispetto a quelle di Pordenone e company ma non è questo il problema. Forse era meglio se non ci andavo anzi forse era meglio se mi compravo un pc di seconda mano da usare come mulo/server/mediacenter punto e basta. Mi sono preso:

  1. un libro, Linux e le reti di Roberto Butti. L’ho letto quasi tutto in due orette, a parte la condivisione con Windows e sistemi Apple. Fa un po’ schifo. Il target è per principianti ma molto confusionario, fa un elenco dei software e servizi del kernel che il pinguino mette a disposizione ma veramente non ci si capisce una tega di niente. Mentre il capitolo iniziale che in poche pagine spiega TCP/IP e soci in linea generale. Poi sputa qua e là qualche file di configurazione e qualche elenco dei parametri copiati paro paro dai vari man. Per non parlare dell’inutilità: dei vari screenshot di Nautilus che mostra il contenuto di qualche directory, di spiegare in una facciata la compilazione classica del kernel linux per abilitare alcuni parametri del TCP…molto utile per un principiante sopratutto scritto così da culo. Fa proprio schifo era meglio se risparmiavo questi 12 euro.
  2. una memoria PC5300 Kingston, da 1GB, per aggiungerla al mio portatile. Ma che da bravo cretino devo aver fritto perché l’ho inserita dimenticandomi la batteria attaccata! Altri 14 euro bruciati…
  3. un pacco di cd-r, 50 pezzi, della verbatim che con tutti i vari smanettamenti che faccio tornano sempre utili oltre al fatto che la mia 500, vecchio modello, ha un’autoradio con soli cd senza mp3 (ma è una cosa che non ho ancora capito se riesce a leggerli o no perché sul display si vede una etichetta mp3 ma dato che non ho il manuale e non so neanche precisamente da dove salti fuori va bene lo stesso). 10 euro…
  4. un borsellino perché quello dell’invicta che mi sono comprato un anno fa non ha una cazzo di cerniera che qualsiasi ministro dell’economia può infilarci la mano e fregarsi i vari fazzoletti e ombrelli che ci metto dentro (il portafoglio lo metto sempre sulla tasca davanti dei jeans così sento subito se uno tocca vicino al cazzo…). 5 euro
  5. biglietto d’entrata 5 euro. Dovevano essere 7 ma all’entrata uno ci ha dato uno sconto per avere il biglietto ridotto ma non ho capito perché.
  6. senza contare che ho dovuto fare benzina a sto cesso di macchina, ho incrociato un casino di ciclisti merdosi che si fanno sempre la statale e stanno sempre in mezzo alla semicarreggiata come se la strada fosse loro. Però come mia abitudine consolidata quest’anno ne ho già imprecati parecchi di stare in parte…

Ma non potevo stare a casa?

A8SC-4P107C: risparmio energetico. Parte V

Maggio 24, 2009

Quanto scritto in questo post è il seguito di quanto nei seguenti:

Ora sto usando il kernel Linux 2.6.29. Quindi per versioni inferiori, per esempio, alcuni percorsi in /sys potrebbero essere diversi.

Risparmio energetico Hard Disk tramite File System ext4 (ext3)

Possiamo far risparmiare il nostro Hard Disk tramite alcune opzioni di ext4 (ext3):

  • esistono 3 modi per fare il journaling: data=writeback, data=ordered, data=journal. Quello meno sicuro è il primo ma ottiene meno accessi al disco. Il più sicuro è l’ultimo ma si hanno più accessi al disco. Il secondo invece è l’impostazione di default. Più informazioni si possono trovare qua. Se vogliamo riassumere: se avete una partizione sulla quale potete rischiare che un file appena modificato diventi corrotto, nel caso di un inaspettato riavvio, potete mettere pure data=writeback. Altrimenti è meglio lasciare tutto con i valori di default;
  • si può anche disattivare il journaling con l’opzione noload. Sembra essere stato provato che ext4 senza journaling sia più performante di ext2 (che è il File System che non ha il journaling). Quindi se avete una partizione sulla quale non vi interessa preservare il File System, cioé a seguito di una corruzione dovete riformattare tutto con perdita dei dati, potrebbe essere una buona idea mettere ext4 con opzione noload. Potrebbe andare bene, per esempio, per chi ha una partizione separata per /var/cache/pacman;
  • per avere meno accessi al disco si può usare l’opzione relatime (l’evoluzione di noatime che non fa arrabbiare Mutt). Si fa in modo che venga aggiornato lo atime (il tempo di ultimo accesso) solo se quello precedente è diverso da mtime (il tempo di modifica) o da ctime (il tempo di accesso). Maggiori informazioni si possono trovare qui. Questa opzione non dovrebbe aver nessuna controindicazione (gli amici di Ubuntu la usano di default dalla versione 8.04);
  • commit: fa il sync (cioé scrive veramente sul disco) tutti i dati e metadati ogni tot secondi. Di default è 5 ma se c’è qualche furbo che mette 0 sappia che commit prende lo stesso 5. Dico subito che questo non inficia il journaling ma potrebbe provocare sgradevoli sorprese. Faccio un esempio con il valore di default, cioé commit=5. Siete in treno e avete il portatile alimentato a batteria, per una ragione a noi sconosciuta Linux va in crash: al massimo perdete tutto quello che avete scritto, della vostra tesi di laurea, negli ultimi 5 secondi. Quindi se volete mettere una valore maggiore di commit, per aver meno accessi al disco, siete avvertiti. Sempre facendo riferimento all’esempio di prima: 10 secondi farebbero bestemmiare chiunque scriva abbastanza veloce alla tastiera.
  • barrier è un’opzione presente solo in ext4 e diminuisce le performance dato che forza, in un certo qual modo, il journaling. Si può disattivare, rischiando in certe occasioni una corruzione dei dati come spiegato in quell’articolo, con l’opzione nobarrier.

Risparmio energetico Hard Disk tramite tmpfs

Ancora con tmpfs? Hai rotto il “ci a 2 zeta o”.

Più o meno, voglio sfruttare tutto questo giga di ram che mi ritrovo. Visto e considerato che il nostro laptop non fa da server e dei log di sistema ci interessa fin la perché non montare /var/log su tmpfs? Appunto, quindi su fstab ho aggiunto questa riga.

none /var/log tmpfs mode=1755 0 0

Direi che è un buon compromesso fra disattivare del tutto i log e averli sempre scritti sul disco. Lo stesso si può fare anche con /var/run e /var/lock

none /var/run tmpfs mode=1755 0 0
none /var/lock tmpfs mode=1777 0 0

Se qualcuno se lo chiede mode imposta i permessi nella stessa logica numerica di chmod, ho visto i permessi delle directory e ho impostato tmpfs di conseguenza.
Risparmio energetico Hard Disk tramite swappiness

La swap è una partizione importante, dovrebbe esserci sempre nonostante i giga e giga di ram che abbiamo.  Però possiamo aiutare il kernel nel dirgli: ok c’è, ma usane proprio quando strettamente necessario. Questa cosa si cerca già di fare ma in un portatile è ancora più importante. Ho così letto questa spiegazione per esseri umani. Ho modificato /etc/sysctl.conf aggiungendoci la riga vm.swappiness = 30. In questo caso ho preferito non masturbare il kernel dicendogli nell’avere un valore di swappiness differente a seconda dell’alimentazione.

Risparmio energetico USB

Ho trovato interessante questa lettura. Spiega anche il famoso usbcore.autosuspend=1
che ci consiglia powertop
e che a me non interessa perché il delay mi va bene anche al valore di default cioé 2.

Di solito chi usa il portatile non ha device USB inseriti (anche se alcuni interni, come il bluetooth, sono sempre USB). Quindi perché dare tutta la corrente a tutte le porte? Appunto! Occhio prima di procedere con quanto indicato, non fatelo se non sapete quali dispositivi USB state disattivando sopratutto sul computer fisso: tastiera, mouse? Sennò non potete più accedere al sistema!

Per sospendere l’alimentazione a tutti (che è come fare l’autosuspend con delay 0)

echo suspend > /sys/class/usb_device/*/device/power/level

mentre per ritornare alla situazione di default

echo auto > /sys/class/usb_device/*/device/power/level

Comunque ho notato che se attacco un device o se riattivo il bluetooth il corrispondente livello ritorna, da solo, alla situazione di default. Almeno da quanto ho letto dalla documentazione per un device USB potrebbe essere normale (peccato che sul fisso, sospendendo tutto, né mouse ne tastiera volevano tornare alla situazione di prima).

Undervolting CPU

Dato che sto ancora provando, più o meno, vi consiglio di darvi una letta a questo topic presente nel forum di Arch Linux. Ho cercato di spiegare e scovare tutte le informazioni per configurare l’undervolting di una CPU Intel Dual Core (che io sappia non esiste una documentazione e bisogna poprio andare di google e forum ufficiale del progetto). Quindi aspettatevi, magari fra qualche mese o mai, una Parte VI per la gestione energetica dove illustrerò i valori minimi di Volt da dare in pasto al mio T7250.

E anythings.zsh?

Vero? Non vi ho ancora dato l’ultima versione del mio script omnicomprensivo che intercetta qualsiasi evento acpi per il semplice fatto che potete trovarlo qua (insieme ad rc.local…).

OCR: xsane e tesseract

Marzo 15, 2009

Con l’accoppiata xsane e tesseract ho messo in piedi un ottimo sistema OCR seguendo questa guida. Funziona veramente bene, nulla da invidiare rispetto al programma che il mio vetusto HP ScanJet 3400C ha su W$.

L’unica pecca che ho riscontrato è il non riuscire a passare la lingua a xsane2tess con l’opzione -l, in questo caso viene creato un .txt vuoto. Ma dalle scannerizzazioni immagine TIFF effettuate con xsane e successivamente usando tesseract, specificando o meno la lingua, non non ho notato alcuna differenza.

Per chi volesse ho messo su AUR xsane2tess. Apprezzerei molto dei feedback, ciao!

PS se fate a mano, cioé senza l’ausilio di xsane2tess, dove scannerizzare una immagine TIFF. Successivamente rinomiare out.tiff in out.tif sennò tesseract va in paranoia. Infine

tesseract out.tif testo -l ita