TurinysĮvadas 3
Virtualios atmintinės optimizavimas, panaudojant dedikuotą skirsnį 4
Metodo esmė 4
Testavimas 5
Testuojamoji sistema 5
Naudota programinė įranga: 6
Testavimo etapai 7
Našumo tyrimas esant kritiniam apkrovimui 7
Našumo tyrimas imituojant kasdieninį darbą 10
Įvadas
Viena iš įkyriausių problemų, susijusių su asmeniniais kompiuteriais – tai
operatyviosios atmintinės trukumas. Ši bėda nėra aktuali didesnėms
sistemoms, pavyzdžiui, tarnybinėms stotims, tačiau paprastam vartotojui,
neįgalinčiam įsigyti didelės talpos atmintinės, – tai iš tikro gan didelis
stabdis darbe.
Šią bėda ekonomišku būdu imtasi spręsti gan seniai. Buvo sugalvotas
programinis būdas kaip išorinę atmintį (kietąjį diską) panaudoti kaip
operatyviąją atmintinę (RAM). Žinoma, kietasis diskas yra žymiai lėtesnis
už operatyviąją atmintinę, bet tuo pačiu ir žymiai talpesnis. Jau 1992
metais Microsoft Windows 3.1 vartotojai galėjo naudotis šiuo metodu:
sukuriamas tam tikro dydžio failas, kuris panaudojamas kaip operatyvioji
atmintinė, o jo dydis (talpa) pridedamas prie tikrosios atmintinės. Tokiu
būdu praplėsta atmintinė vykdomoms programoms atrodo vientisa. Tokia
atmintis dažnai vadinama virtualiąja (Virtual Memory).
Virtualioji atmintinė yra naudojama ne tik Windows 3.x sistemose, bet ir
kitose Windows versijose ar operacinėse sistemose. Dabar paplitusios
sistemos yra pagrįstos 32 bitais. Tai reiškia, kad didžiausias atminties
kiekis, kurį tokia sistema sugeba naudoti, siekia apie 4GB (232 baitų).
Taigi virtualioji atmintinė vis dar reikalinga, atsižvelgiant į tai, kad
šiandieninio paprasto vartotojo kompiuterio atmintinės kiekis retai viršija
1GB.
Nors virtualioji atmintinė gan sėkmingai išsprendžia operatyviosios
atmintinės trukumą, tačiau taip pat ji labai lėtina visos sistemos darbą,
nes kietasis diskas nėra pritaikytas dideliems (lyginant su RAM) duomenų
mainams. Tad iškyla uždavinys, kaip optimizuoti virtualiąją atmintinę, kad
kompiuteris dirbtų kuo našiau. Šiame darbe ir bus aptariamas vienas iš
virtualiosios atmintinės optimizavimo būdų.
Virtualios atmintinės optimizavimas, panaudojant dedikuotą skirsnį
Metodo esmėŠis optimizavimo metodas yra gana paprastas. Tereikia patalpinti Windows NT
(5.x) virtualiosios atmintinės failą pagefile.sys į jam dedikuotą disko
skirsnį. Šiame darbe neapžvelgsime veiksmų kaip tai padaryti, nes šis
darbas labiau sutelktas į našumo, kuris atsiranda dėl šio metodo, tyrimą.Virtualiosios atmintinės dedikuoto skirsnio reikalavimai:
1. Skirsnis turi būti disko pradžioje;
2. Skirsnis turi būti NTFS formato su 64KB blokais.Privalumai:
1) Disko pradžia laikoma išorinė disko dalis, o galas – disko dalis arti jo
centro. Remiantis fizika, gan nesunkiai galima įrodyti, kad taškas esantis
rato išorėje juda greičiau, nei arti centro, todėl ir informacija esanti
disko išorėje yra skaitoma ir rašoma greičiau nei kitose disko dalyse.
2) Kadangi kietasis diskas yra magnetinis įrenginys, tai jame informacijai
skaityti ir rašyti naudojamos galvutės. Šios galvutės reikiamos disko
vietos paiešką pradeda nuo disko išorės, todėl informacija disko pradžioje
randama žymiai greičiau.
3) Windows NT bandydama rasti failą, jo ieško po visą katalogų medį. Didelė
laiko dalis sugaištama didelėje failų sistemoje ieškant nuorodos į
duomenis. Diską suskaldžius į skirsnius, kiekvienam skirsniui sukuriama
atskyra failų sistema. Nedidelis dedikuotas skirsnis su vienu failu
(pagefile.sys) turės ir beveik tuščią failų sistemą, todėl paspartės
informacijos paieška.
4) Dideli skirsniai kenčia nuo fragmentacijos, kai failų dalys išsimėto po
visą diską. Galvutės negali nuosekliai skaityti duomenų, todėl gaištamas
laikas. Skirsnyje su vienu failu fragmentacija neegzistuoja.
5) NTFS failų sistemos standartinis bloko dydis yra 4 KB. Toks dydis
laikomas optimalus nes turi gerą greičio ir ekonomiškumo santykį. Kuo
didesnis bloko dydis – tuo greitesnė failų sistema, tuo labiau iššvaistoma
disko vieta. Nes kartais išnaudojama visa bloko talpa. Tai ypač būdinga
sistemoms su daug failų. Kadangi dedikuotas virtualiosios atmintinės
skirsnis turės tik vieną failą, todėl iššvaistymas nėra baisus.
Suformatavus šį skirsnį 64KB dydžio blokais, skirsnis pagreitės keliais
MB/s. Atlikus bandymą su testuojama sistema (žiūrėti tolimesnius puslapius)
buvo gauti tokie rezultatai:|Dedikuotas skirsnis |
|Grynasis greitis (be Windows Cache) |47 MB/s |
|Kreipties laikas |6 ms |
|Sisteminis skirsnis |
|Grynasis greitis (be Windows Cache) |44 MB/s |
|Kreipties laikas |7 ms |
Rezultatai gauti SiSoftware Sandra Lite programa.
Testavimas
Testuojamoji sistema
Optimizavimo metodo tyrimui buvo panaudota žemiau nurodyta sistema.
Informacija gauta remiantis
SiSoftware Sandra Lite programa. Lentelėse
pateikiamas tik bandymui įtakos turinčios įrangos sąrašas.|Procesorius |
|Pavadinimas |AMD Duron (Morgan) |
|Taktinis dažnis |1000 MHz |
|Magistralės (FSB) dažnis |100 MHz (200 MHz DDR) |
|Technologija |0,18 μm |
|Maksimalus adresacijos lygis |32 bitai |
|L1 spartinančioji atmintinė |128 KB (64 KB duomenų + 64 KB |
| |instrukcijų) |
|L2 spartinančioji atmintinė |64 KB (integruota į procesorių) |
|Papildomos instrukcijos: |MMX, SSE, EMMX, 3D Now!, Extented 3D Now!|
|Pagrindinė plokštė |
|Modelis |DFI AK36-EC |
|Valdiklių rinkinys (chipset) |VIA KM133 |
|Magistralės (FSB) dažnis |100 MHz (200 MHz DDR) |
|Magistralės plotis |64 bitai |
|Kreipties gylis (IO Queue Deph) |4 |
|Atmintis |
|Tipas |SDRAM DIMM |
|Dažnis |133 MHz |
|Moduliai |256 MB 16x(16Mx8) CL3 |
| |256 MB 8x(32Mx8) CL3 |
|Bendras atminties kiekis |512 MB |
|Išorinė atmintis |
|Magistralė |ATA IDE |
|Kaupikliai: |
|Pavadinimas |Seagate ST3120026A |
|Tipas |Kietasis diskas |
|Pozicija |Primary master |
|Darbo rėžimas |UDMA5 (100 MB/s) |
|Apsukos (per minutę) |7200 |
|Talpa |120GB |
|Vidinė spartinančioji atmintinė |8MB |
| |
|Pavadinimas |Seagate ST340810A |
|Tipas |Kietasis diskas |
|Pozicija |Primary slave |
|Darbo rėžimas |UDMA5 (100 MB/s) |
|Apsukos (per minutę) |5400 |
|Talpa |40GB |
|Vidinė spartinančioji atmintinė |2MB |
| |
|Pavadinimas |NEC NR7900 |
|Tipas |CDRW |
|Pozicija |Secondary Master |
|Darbo rėžimas |UDMA3 (33 MB/s) |
|Vaizdas |
|Magistralė |AGP |
|Versija |2.0 |
|Rėžimai |x2/x4 (aktyvus x4) |
|Grafinė plokštė |NVIDIA GeForce4 MX-440 SE |
|Atmintinės kiekis |64 MB |
|Atmintinės dažnis |300 MHz DDR |
|Grafinio procesoriaus dažnis |250 MHz |
|Aparatūriškai palaikoma DirectX |7.0 |
|versija | |
|Garsas |
|Modelis |AC’97 (integruota į pagrindinę plokštę) |
|Garso kokybė |16 bitų / 44 kHz |
Naudota programinė įranga:
|Operacinė sistema |
|Pavadinimas |Windows 2000 SP4 Advanced Server |
|Virtualios atmintinės dydis |1024 MB |
|Informacinė |
|SiSoftware Sandra Lite |Informacija apie aparatūrinę ir |
| |programinę įrangą. |
|Testavimo |
|PassMark BurnInTest Pro 4 |Kritinių kompiuterio apkrovimo |
| |situacijų simuliacija. |
|PCMark2002 |Kompiuterio našumo
|
|Windows Performance Counters |Sistemos našumo parametrų |
| |registravimas |
Testavimo etapai
Virtualioji atmintinė yra tvarkoma operacinės sistemos lygyje, kuri pati