Altri articoli sul numero 79
 Articoli sullo stesso argomento

Le  prestazioni  dell'hard disk sono definite da due insiemi
di parametri:  tempo di accesso e transfer rate.
Il  tempo di accesso si compone di due parti:  latenza media
(tanto minore quanto piu' alta e' la velocita' di rotazione,
che  nei dischi moderni di uso comune e' compresa tra 4500 e
7500   RPM   -  Rotazioni  Per  Minuto)  e  tempo  di  seek.
Quest'ultimo  e'  definito  da  due  misure:   tempo di seek
massimo  (dal primo all'ultimo cilindro) e tempo di seek tra
cilindri adiacenti.
Spesso  i produttori danno un singolo valore per il tempo di
accesso,  attorno  ai  10  millisecondi;  non  c'e' una sola
regola per calcolarlo, ma di solito e' il tempo totale (seek
piu'  latenza)  necessario per accedere al primo settore del
cilindro posto fisicamente ad un terzo del disco (es:  se il
disco  ha  3000  cilindri,  e'  il cilindro 1000), quando la
testina parte dal cilindro zero.  Come prima approssimazione
il  tempo  di  accesso  massimo assoluto (ancora espresso in
millisecondi) si ottiene sottraendo dal valore dichiarato il
tempo  di  latenza  medio  (30000  diviso  per  gli  RPM)  e
moltiplicando il risultato per 3; infine si somma la latenza
massima  (il  doppio  esatto  di  quella media).  Per alcuni
modelli  di  hard  disk  bisogna  moltiplicare  ancora per 2
(accesso  ad  un  settore  difettoso  riallocato, se vengono
adottati alcuni tipi di gestione della riallocazione).
Il  transfer  rate e' specificato in molti modi diversi.  Se
non  sono  fornite altre precisazioni il produttore dichiara
quello   "d'interfaccia"   o   "picco",  pari  alla  massima
velocita'  di  trasferimento  dei  dati tra buffer interno e
host  adapter  in  condizioni ideali.  E' di 10 Mb/sec per i
dischi  SCSI2  fast e fino a 16,6 Mb/sec per quelli EIDE con
interfaccia  operante  in "PIO Mode 4" o "DMA Multiword Mode
2";  non  puo'  mai  essere raggiunto su un computer a causa
della  saturazione  dei  bus  di  espansione  e del tempo di
elaborazione  dei  comandi.  L'interfaccia IDE degli A1200 e
A4000 lavora solo in PIO Mode 0.
Il  transfer rate "interno" e' misurato in Mhz (o megabit al
secondo,  che in questo contesto sono la stessa cosa), ed e'
la  piu'  alta  cadenza  di  dati  sostenibile  dall'insieme
elettronica/meccanica  al lordo della correzione di errore e
degli  altri  segnali di controllo.  Dividendo per 9,10 o 11
(dipende  dallo  schema  di modulazione adottato) si ottiene
grossolanamente il transfer rate "sostenuto" massimo, che e'
valido  solo  per  la prima zona, cioe' per i primi cilindri
del  disco.   Sugli  ultimi  cilindri,  dove  per  mantenere
costante  la densita' di memorizzazione il numero di settori
e' inferiore, il transfer rate sostenuto cala circa al 50% -
60%  di  questo  valore.   Di  conseguenza,  se si esegue un
programma come "Diskspeed" sull'ultima partizione di un hard
disk  si  ottiene un valore sensibilmente inferiore a quello
della  prima,  a  parita'  di tutti gli altri fattori come i
tassi di frammentazione e riempimento della partizione.
Un  aspetto spesso sottovalutato e' il tempo di elaborazione
dei   comandi.   Nei  dischi  EIDE  o  IDE  e'  generalmente
inferiore a quello degli SCSI (ma esistono molte eccezioni).
E'  uno  dei  responsabili  del crollo di prestazioni che si
manifesta  quando  per  caricare  i  dati  si eseguono molti
accessi  di  piccola  entita'  invece  di  pochi  ma  grandi
(l'altro  e'  l'algoritmo  di  gesione della cache interna).
Poiche'  e'  un  parametro  ancora  poco  noto,  non tutti i
produttori si stanno impegnando per ridurlo:  ci sono grosse
differenze  tra  disco  e disco.  Sfortunatamente la maggior
parte  dei  programmi  per  Amiga carica i dati a blocchi di
appena   4   kilobyte,   quindi   degrada   notevolmente  le
prestazioni  del sistema a dischi.  Chi scrive programmi che
manipolano   grosse   quantita'   di  dati  farebbe  bene  a
modificare le opzioni di default del compilatore.
La  natura  della  RAM  da  cui  provengono i dati (o devono
essere  inseriti)  e' fondamentale per le prestazioni; nella
rubrica  Transaction  si  e'  parlato  a  piu' riprese degli
aspetti  teorici.  Qualche mese fa abbiamo anche spiegato su
queste pagine come CPU e scheda acceleratrice influenzano il
comportamento dell'hard disk (sia con controller interno che
su scheda), poiche' cambiano le temporizzazioni di boot e il
numero  di  stati di attesa necessari per ogni trasferimento
dati.   Anche  la  modalita' di funzionamento delle cache ha
importanza.
Infine, quando il controller lavora in DMA, il transfer rate
massimo  sara'  limitato  anche da tempo di elaborazione del
comando e velocita' del suo DMA controller.
Ai   fattori   che   limitano   il  transfer  rate  "grezzo"
dell'hardware si aggiungono i vari strati di software per la
gestione del disco, riuducendolo ulteriormente.
Il  primo  strato e' il device.  Usando il sistema operativo
non  e'  possibile un accesso legale al controller a livello
piu'  basso  (quindi  non  c'e'  modo  di  conoscere il vero
transfer  rate  "fisico").  Al di sopra opera il filesystem:
con  il sistema operativo e' fornito FFS, ma per ottenere le
migliori    prestazioni   bisogna   ricorrere   a   prodotti
commerciali o shareware.  Di FFS esistono molte versioni; le
piu'  vecchie  oltre ad essere lente non funzionano bene con
il 68040 (provocano corruzione sporadica dei dati).


Main Previous Next