View Full Version : Velocità effettiva Canali
Demonius
11-05-2007, 17:13
Ciao a tutti, volevo avere una risposta ad un mio dubbio.
So che esistono le modalità Ultra Ata 66 (che dovrebbe teoricamente trasferire 66 mb/s, se sbaglio corregetemi), Ultra Ata 100 ( che dovrebbe teoricamente trasferire 100 mb/s, se sbaglio corregetemi) Ultra Ata 133 (che dovrebbe teoricamente trasferire 133 mb/s, se sbaglio corregetemi).
Ma in pratica, le tre modalità quanti dati riescono a trasferire al secondo? Ci sono delle differenze tra tutte e tre.
vi prego rispondetemi.
Grazie
P.s So che ormai si parla di Sata, ma giusto per conoscenza personale
Demonius
12-05-2007, 06:52
up
in effetti e' la velocita' di trasferimento che e' possibile tra' periferica (disco) e controller.
in effetti, piu' o meno, queste velocita' si raggiungono, ma solo tra' caches del disco e controller;
la velocita' del disco e' invece limitata dalla meccanica.
velocita' dei piatti del disco per la sua posizione fisica sul disco ( essendo un piatto, si parla di velocita' angolare) e la sua densita' dati portano ad una velocita' di lettura sequenziale piu' alta, ma e' una velocita' fittizia, in quanto non si avra' mai un dato sequenziale.
gli spostamenti della testina portano dei notevoli ritardi, e visto che il transfer rate si misura in secondi, aggiungi latenze senza leggere dati e percio' abbassi il transfer massimo.
generalmente, la velocita' di un 3.5" da 7200 rpm con teconologia della testina perpendicolare, ha una velocita' reale media non superiore a 20MB/s, mentre i WD raptor, che hanno una velocita' di 10000 rpm, ma una densita' per piatto molto bassa, abbassano le latenze, ed alzano la velocita' reale di pochi MB/s; sono pero' molto piu' reattivi, per via del fatto che in generale abbassano le latenze.
Demonius
12-05-2007, 12:44
Quindi possiamo dire che un ultra ata66 ha le prestazioni di un sata?
Hmm' quindi in una lan domestica con dei controller gigabit (133 MB\sec) si sfrutterebbe la larghezza di banda al 30% max?
in una lan dipende anche dalla lunghezza e qualita' del cavo, oltre che dalla prontezza degli switch, e comunque si parta di 1000MBit, che sono di gran lunga meno di quanto hai scritto tu, e poi ci devi mettere anche i bit che servono al protocollo per comunicare, quindi il trasferimento utile teorico e' inferiore 100MB/s.
un CAT 7e ti garantisce una banda da 1GB per almeno 10 metri, ma visto che un disco e' limitato al massimo a 30 MB/s, quello e' il limite che otterrai.
il discorso cambia se giochi con un set RAID (0, 5 o 10) da tutte e due le parti (host e client).
comunque, con i dischi normali io non ho mai superato i 30, e sono piu' prossimo ai 25Mb/s.
se hai velocita' inferiori dipende o dal cavo, o dallo switch che mette troppe latenze, o dalla potenza del PC, che non ce la fa' a trattare contemporaneamente il trasferimento dei dati e il driver ethernet della scheda lan.
per questo, molte volte ci si affida a schede di rete che abbiano un controller fisico, e non solo software, scaricando la CPU dal lavoro della comunicazione.
Scusami ma 1000 mbit non sono 1000/8=125?
Quindi possiamo dire che un ultra ata66 ha le prestazioni di un sata?
nella pratica hanno le stesse prestazioni, in quanto e' la meccanica che limita.
l'unica differenza e' data dalla caches, che comunica effettivamente a quella velocita'; i SATA hanno caches da 16MB, i PATA non superano gli 8MB, ed il trasferimento dei dati tra' caches e controller avviene alla velocita' di 66MB/s per l'ATA66, e 150MB/s per SATA (300 per SATA2).
su SATA ci sono poi gli algoritmi di sistemazione dei dati NCQ, che permettono di storare i dati nella caches, e avere una logica migliore nel sistemarli e nell'andare a prenderli, cercando di evitare di far muovere la testina il meno possibile, ossia:
devo prendere 10MB di dati composti da piu' file sul disco ma questi sono sistemati in cluster sparsi un po' all'inizio del piatto,un po' alla fine; la logica allora cerca di recuperare i 10MB organizzando il minor spostamento della testina per i vari cluster, cioe' legge prima tutti quelli all'inizio del piatto e poi quelli alla fine, invece di far vagare la testina sul piatto cercando di leggere la sequenza corretta dei cluster che compongono il file.
questo vantaggio porta ad avere un cospicuo risparmio di tempo e percio' velocita' leggermente superiori.
all'atto pratico, pero', conta principalmente la meccanica.
Demonius
12-05-2007, 15:18
Grazie, un ultima cosa per quanto riguarda invece i dischi Scsi?come funziona il discorso?
il discorso per i SCSI o SAS e' lo stesso, ossia quello che viene indicata e' la velocita' del bus di connessione tra' disco e controller.
c'e' da dire pero' che le meccaniche degli scsi sono molto piu' performanti;
non hanno un transfer rate molto superiore a quello dei dischi EIDE, pur avendo anche il doppio della velocita' di rotazione, perche' hanno densita' per piatto molto piu' basse, pero' hanno latenze medie molto inferiori, anche di un fattore 5, il che porta ad una reattivita' reale (che possiamo definire transfer rate reale) molto superiore.
se un disco ATA usato intensamente ha un transfer rate reale di 18-20MB/s, uno SCSI puo' anche raddoppiarlo, anche se poi la velocita' in lettura/scrittura sequenziale dei due dischi e' molto simile.
si puo' fare lo stesso discorso anche con i solid disk fatti con memoria flash;
questi, pur avendo una velocita' non molto elevata (dovuta essenzialmente all'ordinamento ed al tipo di flash usato), hanno latenze 10-20 volte inferiori agli SCSI, ed effettivamente la loro massima velocita' in scrittura sequenziale e' paragonabile al transfer rate che si ottiene nell'uso reale.. un bel vantaggio prestazionale.
generalmente, poi, gli SCSI sono da considerare piu' robusti, in quanto sono HW adibito ad uso professionale, e quindi garantiti per un uso h24 per 365 giorni, ossia sempre accesi e funzionanti al massimo delle prestazioni.
la differenza e' comunque dovuta al bus dati, almeno per il classico SCSI, in quanto e' un bus seriale e non punto punto, percio' sullo stesso bus possono convivere fino a 8 periferiche, anche in configurazioni RAID (anche se in questo modo i 320MB/s dell'UltraWide possono comunque risultare pochi).
questo ora avviene anche su SATA2, ma non e' molto diffuso, in quanto ci vogliono delle schede particolari per lo smistamento dei dati; forse in futuro saranno integrate direttamente nelle schede degli HD, ed avremmo gli HD con 2 connettori SATA (IN/OUT), per attaccare in serie piu' dischi sullo stesso canale.
Demonius
12-05-2007, 20:07
Quindi vediamo se ho capito, se io collegassi 8 periferiche Scsi sullo stesso bus ed ogni periferica comporta un trasferimento di circa 40mb/s, facendo una moltiplicazione di 8*40 avrei come risultato che anche un ultra Wide 320 sarebbe insufficente, giusto?
Inoltre mi chiedevo se il controller Ultra Wide320 conviene collegarlo su slot pci32(a proposito quanti dati riesce a trasferire?)o su pci-x( questo quanti ne riesce a trasferire?)
si, con un RAID 5 o RAID 0 con 8 dischi SCSI sullo stesso canale avresti 2 limitazioni:
1) il RAID sarebbe limitato al massimo a 320MB/s (in effetti un po' di meno), avendo una disponibilita' massima di 320/8=40MB/s per disco;
2) il RAID sarebbe comunque limitato dal controller RAID.
in effetti il limite dei 320MB/s e' difficile poterlo raggiungere, perche' parlando di una array RAID devi anche considerare la qualita' del controller e com'e' settato; per un RAID a 8 dischi, dovresti avere una caches sulla scheda raid molto ampia.
invece, perquanto riguarda la velocita' massima, e' piu' importante considerare l'altro estremo, ossia la velocita' massima inferiore, quella che avresti in lettura sequenziale all'inizio dei piatti.
gli 80-100 MB/s di transfer rate massimo si hanno sulla periferia del piatto, nella parte piu' interna questo valore diminuisce fino alla meta', arrivando, su un buon SCSI, a meno di 40MB/s; e questa e' una velocita' in lettura/scrittura sequenziale..
i 40 MB/s offerti dal bus sono piu' che sufficienti a garantirti un adeguato transfer rate per singolo disco, e sarebbe limitativo solo nel caso in cui i dati che trasferisci sul set RAID vengano messi sequenzialmente alla periferia del dei dischi; in quella ciscostanza perderesti il 50% e piu' delle prestazioni.
comunque non e' un reale problema.. hai sempre 320MB/s disponibili, e a meno che non sei su un nodo internet2 e non hai un controller con un processore a 1Ghz e 1GB di caches DDR400, coadiuvato da un PCI-ex 16x, su una macchina a 8 processori, ed un collegamento in doppia fibra con una bella scheda, non credo che ti troverai mai nella situazione di saturare 320MB/s sul reparto dischi.
per quanto riguarda il collegamento alla scheda madre, uno SCSI UW320 soffrirebbe parecchio su PCI 32.
di solito si mettono su PCI-X, ora su PCI-express, prima su PCI-64bit a 133mhz, invece dei 33 canonici del PCI 32.
in quella situazione il PCI 64/133 garantisce un trasfer di 1GB/s, contro i 128mb/s teorici del PCI 32/33mhz.
ma ormai c'e' il PCI-express, che con un 4X garantisce la stessa banda con un bus punto-punto, non condiviso, e senza la limitazione del verso in cui si mandano i dati (il PCI non puo' fare in contemporanea in/out).
la principale limitazione del PCI e' che e' un BUS condiviso con diverse periferiche, e che puo' servirne una sola alla volta e per un verso solamente, ecco perche' alcune schede per server di qualche anno fa' avevano il controller PCI ed uno a parte per PCI64, per un eventuale RAID.
Demonius
13-05-2007, 12:21
Grazie molte Lucusta per la tua disponibilità, avrei solamente altre due cose da chiederti:
1) Ammettiamo che io ho un controller che gestisce 2 attacchi sata )(come si dice ognuno ha un proprio indirizzo quindi non nasce la necessità di settarli come gli Eide), io vorrei attaccare 2 hard disk in Raid, la banda che viene occupata è quella del controller? cioè io ancora non ho capito se quando si dice che l'nterfaccia sata riesce a trasferire 150mb/s vuol dire che è il controller che offre questa banda? Scusami ma ho molta confusione.
si, e' il controlle ad avere la massima possibilita' di andare a 150MB/s per singolo canale.
poi, logicamente, se il controlle e' attaccato al bus PCI 32, sara' limitato al massimo a 128MB/s di questo, o se il canale e' occupato da un disco da 3.5" da 7200 rpm, sara' questo a limitare la velocita' effettiva.
in effetti pero' un controller SATA, e il relativo cavo, e' adatto per trasferire fino a 150MB/s teorici per singolo canale, mentre il SATA2 arriva a 300MB/s.
se il controller e' implementato direttamente sul chip northbridge, allora' avra' un collegamento tale che, per i chipset in commercio oggi, gli consente l'effettiva velocita' (non ci sara' il collo di bottiglia del collegamento del controller).
i nuovi dischi solid state potrebbero rabidamente arrivare e superare questa velocita', in quanto questi sono gia' degli array di memorie flash, percio' basta che invece che serialmente, i chip vengano messi paralleli, aumentando il fattore velocita' per quante parallelizzazioni si effettuano.
e' una questione di controller anche qui, quello della scheda del solid disk;
in pratica ora sono un array JBOD (una concatenazione di dischi), domani potrebbero diventare RAID 0.
se conti che un singolo chip puo' essere di 2GB di capacita', e che i migliori arrivano a 40 MB/s in lettura scrittura, per avere almeno 16GB ne servirebbero 8, quindi si potrebbero avere velocita' di 320MB/s.
in effetti gia' esistono solid disk cosi' veloci, ed anche molto capienti (fino a 128GB), ma il costo e' poibitivo anche per una web-farm...
Demonius
13-05-2007, 16:39
Adesso penso di aver capito :D .
Io credevo che il controller offrisse 150mb/s 0 300mb/s in totale (quindi collegando più periferiche sullo stesso controller si andava a saturare la banda, ma da come dici il controller offre 150mb per singolo canale quindi a meno che non si faccia una configurazione raid(in questo casa la banda occupata diventerebbe maggiore perchè i due hard disk andrebbero ad occupare quella dello stesso canale, giusto?) oppure più dischi scsi che andrebbero ad occupare lo stesso canale giusto?.
scusami se ti rompo ma mi manca quel qualcosa per completare il quadro
per ora il SATA e' essenzialmente usato come cllegamento punto-punto, e percio' per ogni canale avrai 150MB/s ed una sola periferica.
in futuro puo' darsi che verra' usato anche come bus multi periferica, quindi lo stesso canale convidera' piu' dischi in serie; la banda massima rimane comunque di soli 150MB/s per tutte le periferiche del canale.
stessa cosa per lo SCSI, e per il piu' aggiornato SAS.
il parallelo PATA, invece, puo' avere solo 2 periferiche ed usarne uno per volta in un senso e basta (o legge o scrive sulla periferica).
lo stesso identico discorso che c'e' tra' PCI e PCI express.
Demonius
13-05-2007, 20:38
Ah grazie ti prometto che è l' ultimissima domanda. Adesso ho capito il perchè non si usano i controller ultra 320 dei dischi scsi su semplice pci perchè limitano la banda.
Anche se un dubbio vorrei togliermelo, ammettiamo che io voglia mettere solo un disco scsi da 15.000 giri potrei mettere benissimo un controller ultra 320 su scheda pci semplice in quanto un singolo disco scsi non mi andrebbe neanche ad occupare 100mb/s (diciamo che avrei lo spreco del controller) discorso inverso se dovessi collegare più periferiche scsi oppure creare un raid scsi, giusto?
solitamente dovresti usare un controller UW per il semplice fatto che difficilmente trovi dischi recenti a 15000 che non siano UW320.
per gli scsi la differenza e' anche il bus, se a 8 o 16 bit (tutti retrocompatibili), ma comunque la differenza di prezzo per un controller semplice non e' eccessiva.
il costo del controller dipende dalle possibilita' che puo' avere in RAID; cpu, caches installabile, software di gestione, qualita', sono questi i parametri che si vanno a guardare.
per un solo disco SCSI, il PCI32 e' piu' che sufficiente, anche se ti limiti per la questione che usi un bus ormai obsoleto..
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.