Već nekoliko meseci ozbiljno se bavimo problemom brzine modernih hard diskova: isprobali smo čitav niz ploča i diskova koji podržavaju UltraATA prenos, ali ubrzanje nismo detektovali. Začudom pokazalo se da je problem manji na starim Pentium pločama nego na novim Pentium II i Celeron sistemima. Uobičajeno mišljenje da će kontroleri ugrađeni na samu matičnu ploču omogućiti optimalne performanse stvorilo nam je pravu noćnu moru: iako smo testirali proverene UltraATA i Ultra2 SCSI diskove, nismo mogli da postignemo deklarisane brzine njihovih interfejsa. Ovo se u početku uglavnom odnosilo samo na prenos baferovanih podataka koji nije prelazio 12 MB/s (1 MB=1.048.576 bajtova) na Pentium i 8 MB/s (!!!) na Pentium II računarima. Najveća brzina neprekidnog prenosa podataka na najnovijim modelima diskova svih proizvođača uveliko prevazilazi ovu granicu.
Gde je usko grlo?
Usko grlo je rezultovalo paradoksom da brži diskovi efektivno imaju slabije performanse. „Brzi“ disk pokušava da šalje podatke svojom velikom brzinom računaru, koji ih iz nekog razloga ne može tako brzo prihvatiti. Zbog toga se bafer diska puni, pa disk mora da prekine sa čitanjem i gubi dragoceno vreme i rotaciju ploča – kada se bafer oslobodi, disk mora ponovo da čeka upravo izgubljeni red sektora. Nasuprot tome, ako disk nije tako brz i računar „stiže“ da uzima sve podatke na vreme, problem se ne javlja, a disk ne gubi red čitanja sektora. Usled toga može da postigne bolje rezultate.
| Promise FastTrak ATA/IDE RAID kontroler |
Napravimo analogiju sa automobilskim saobraćajem: na pravoj, širokoj i dugačkoj jednosmernoj ulici ima mnogo semafora. Semafori su podešeni tako da ako svi voze 60 km/h neće morati da stanu ni na jednom (sem eventualno na prvom) od njih. Ako neki „trkač“ pokuša da ide brže, moraće da ukoči i da sačeka zeleni signal, dok će oni koji idu brzinom od 60 km/h stići do semafora tačno u trenutku paljenja zelenog svetla i neće morati da usporavaju. Kako je „trkač“ morao da stane, svi će ga preteći iako možda imaju sporije automobile. U našoj analogiji automobili predstavljaju podatke koji idu od hard diska ka računaru – što je brzina saobraćaja bliža predviđenoj, to će efektivna brzina biti veća. Dijagrami prenosa izabranih diskova vrlo lepo pokazuju šta se dešava.
Znamo šta je posledica, ali šta je uzrok? Ovo je pitanje na koje odgovore i dalje pronalazimo u delovima. Ustanovili smo da se problem javlja jedino u slučaju diskova priključenih na on-board kontrolere. Svi brzinski testovi, na svim vodećim operativnim sistemima, pokazali su značajno ubrzanje kada se disk priključi na kontroler u vidu PCI kartice. Ovo je bilo relativno lako utvrditi za SCSI, ali su ATA diskovi jeftiniji i dovoljno dobri za većinu primena. Ne možemo jednostavno uzeti ATA kontroler i staviti ga u PCI slot, zato što takvih kontrolera na našem tržištu nema. Nekako smo, nezvanično, dobili Promise FastTrak ATA/IDE RAID kontroler (što je mnogo više od običnog ATA kontrolera) i ustanovili da funkcioniše. Do sada smo mogli da zaključimo da nisu u pitanju operativni sistemi, test programi, proizvođači BIOS-a, čak ni proizvođači ploča. Ipak, utvrdili smo da se usko grlo prenosa podataka sa hard diska značajno razlikuje među različitim setovima čipova.
Sagledati i rešiti problem
| Primer krive brzine transfera za disk koji svojom brzinom ne premašuje brzinu uskog grla. |
Na osnovu informacija koje smo dobili, mogli smo samo da zaključimo da je Intel optimizovao svoj set čipova za brzinu rada sa memorijom i periferijama, a diskovima je dao niži prioritet na sistemskoj magistrali. Tako, čak i ako sam ugrađeni disk interfejs podržava velike brzine, one prestaju da budu moguće već na korak bliže procesoru. Detaljniji opis ovoga, nažalost, nismo uspeli da dobijemo od Intel-a – rečeno nam je da su Pentium II računari više optimizovani za procesnu brzinu nego za komunikaciju sa diskom. Uz to, Pentium II je brži od običnog Pentium-a pa više okupira sistemsku magistralu.
Kako rešiti problem? Ako ciljate na SCSI, zaobiđite ploče sa ugrađenim kontrolerima – isti kontrolerski čip će vam mnogo više ponuditi na PCI kartici, jer je PCI karticama dat dovoljan prioritet. Ovo smo pažljivo probali i potvrdili – izbor SCSI adaptera na našem tržištu je veliki, pa nema potrebe za opsežnijom potragom.
Sa druge strane, da bismo došli do „eksternog“ UltraATA kontrolera, morali smo da se obratimo direktno jednom renomiranom proizvođaču, firmi Promise Technology. Promise nam je od ranije poznat po izuzetnim ATA hard disk kontrolerima, koji se nadmeću sa SCSI sistemima po pitanju performansi, uz istovremenu nižu cenu. Ovaj put smo želeli da testiramo njihov najjednostavniji kontroler, Ultra33, da bismo utvrdili da li on predstavlja rešenje problema i adekvatnu zamenu za on-board kontroler.
Ishod
Osnovni i referentni test računar smo izabrali tako da predstavlja konfiguraciju koja se u Beogradu najčešće kupovala u poslednje vreme: CPU:Celeron 300A, M/B:Chaintech 6BTM (BX), RAM:64 MB SDRAM, PC-100, HDD:Western Digital Caviar AC313100B, grafika:Intel i740. Platforma namerno ne sadrži komponente koje nisu neophodne za sam test i koje bi mogle na bilo koji način da utiču na rezultate (mrežna kartica, dodatni diskovi, zvučne kartice...). Da bismo objektivno procenili isplativost Ultra33, sistem smo testirali ne samo našim HardProbe, već i ostalim test programima.
| Primer krive brzine transfera za disk koji svojom brzinom premašuje brzinu uskog grla. |
Ultra33 se u svakom testu pokazao nadmoćnim nad on-board kontrolerom – bez njega, većina merenih operacija traju 30% do 100% duže. U ekstremnim slučajevima se sistem Ultra33 pokazao do 2000% (nema greške, dvadeset puta) bržim! Ne samo da Promise Ultra33 uklanja problem uskog grla (postignut je neprekidan prenos od izvanrednih 26.1 MB/s), već obezbeđuje i inteligentniji pristup disku. Pomenućemo samo jednu kritičnu operaciju koja se dovoljno često može desiti pri intenzivnom radu sa bazama podataka, a to je čitanje podataka unatrag. Nijedna kombinacija disk-kontroler (ATA ili SCSI) nije pokazala bolje rezultate od 90 KB/s (nije greška – kilobajta) dok Ultra33, verovatno uz pomoć pre-fetch i reordering tehnike, postiže čitavih 1 MB/s!
Pomislićete da ne može sve biti tako lepo, tj. da se negde mora platiti cena ili pojaviti problem. Mi ga nismo pronašli: sama PCI kartica je toliko mala da ne smeta ostalima, prihvata do četiri diska (dva ATA konektora) i koegzistira sa on-board kontrolerom – uz Ultra33 u računaru, možete da priključite do osam ATA uređaja! Za sve to „troši“ jedan IRQ, 16 KB prostora u Upper Memory Block-u (UMB) za ROM i na zanimljiv način mapira nekoliko I/O adresa.
Nema dileme: Ultra33 predstavlja ne samo rešenje našeg problema, već i značajno unapređenje kvaliteta i brzine komunikacije sa hard diskom. Karticu toplo preporučujemo kao izuzetno isplativo (možemo slobodno reći i jeftino) rešenje – sa nestrpljenjem očekujemo „jači“ model, Ultra66.
Korisna adresa
Promise Technology Europe B.V, Luchthdvenweg st. unit 1.25, 5657 EA. Eindhoven, Holandija, www.promise.com
|