Mustaqil ishi fan: Parallel ishlov berish

MUSTAQIL ISHI
Fan: Parallel ishlov berish
Mansurov Sharof
1. Parallel hisoblash uchun mo‘ljallangan masalalar.
2. Parallelashtirish – ishlov berish tezligini oshirishning bir yo‘li.
3. Parallel qayta ishlash, ma’lumotlarni taqdim etish va buyruqlarni
amalga oshirishda apparat vositalarning vazifalari,
4. Xotirani tashkillashtirish va xotira turlarining asosiy xususiyatlari.
Parallel hisoblash uchun mo‘ljallangan masalalar. Eng avvalo
kompyuterda parallel dasturlash kerakmi degan savolga javob olish kerak.
Lekin bu savol javob olishni istagan yagona savol emas. Aynan shuning
uchun ham, parallel hisoblash dunyosini tushunish qiyin bo'lgan sodda,
tushunarli, tushunarli dunyodan navbatdagi hisob-kitoblardan nima o'tish
kerakligini tushunish ham muhimdir. Parallel hisoblashning afzalliklari
nimadan iborat va parallel hisobga yo'naltirilgan dasturlarni yaratishda
dasturchi uchun qanday muammolar kutilmoqda. Ushbu savollarga javob
berish uchun keling, kompyuterni rivojlantirish tarixini tezroq ko'rib
chiqamiz.
Birinchi kompyuterlar Fon Neyman tomonidan ishlab chiqilgan
printsiplarga muvofiq qurilgan. Ularning uchta asosiy komponenti bor edi:
xotira, protsessor va kirish va chiqish ma'lumotlarini beruvchi tashqi
qurilmalar to'plami.
Xotira ko'p darajali va tashqi xotirasi va ichki xotirasi bo'lgan
birinchi kompyuterlar uchun - operatsion va ro'yxatga olish xotirasi.
Tashqi xotira (magnit lenta, punch karta, disklarda) kompyuterning
yoqilgan yoki yoqilmaganligidan qat'iy nazar, dastur va ma'lumotlarni
saqlash imkonini berdi. Ichki xotira faqat kompyuter bilan sessiya davri
uchun ma'lumot saqlanadi. Kompyuterni o'chirib qo'ysangiz, ichki
xotiraning mazmuni g'oyib bo'ldi.
Dastur kompyuterda bajarilishi uchun u RAMga yuklanishi kerak
edi. U o'sha dasturda ishlangan ma'lumotlar kabi saqlangan. Xotirada
saqlangan dasturning printsipi Von Neumann kompyuterlarining asosiy
tamoyillaridan biridir.
Ro'yxatdan o'tish xotirasi hisoblash vaqtida ishlatilgan. Ma'lumotlar
bo'yicha ba'zi operatsiyalarni bajarishdan oldin, ma'lumotlar registrlarda
joylashtirilishi kerak. Ushbu tezkor xotira turi ma'lumotlar bo'yicha
operatsiyalarni bajarishda zarur tezlikni ta'minladi.
Barcha operatsiyalarni bajarish - hisoblash jarayonini boshqarishda
ma'lumotlar va operatsiyalar bo'yicha operatsiyalarni protsessor amalga
oshirdi. Kompyuter protsessori o'ziga xos ko'rsatmalarga ega edi. Ushbu
to'siq potentsial hisoblash funktsiyasini hisoblash uchun universal edi.
Boshqa tomondan, ushbu vosita odamlarning yozish dasturlarining nisbiy
soddaligini ta'minladi.
Dastlabki kompyuterlar uchun dasturlar, amaldagi protsessor
buyruqlar majmuasiga kiritilgan qator buyruqlarni ifodalaydi. Dasturni
kompyuterda ijro etish juda oddiy edi. Har safar kompyuterda bitta dastur
bajarilgan. Protsessor, dasturga muvofiq ketma-ket navbatdagi buyruqlar
ketma-ketlikda bajarildi. Barcha kompyuter resurslari - xotira, protsessor
vaqti, barcha qurilmalar - dasturning to'liq tasarrufida edi va hech narsa
uning ishiga aralashmasdi (albatta odamni hisobga olmagan). Parallelizm
ko'zga ko'rinmasdi.
Bu idial juda uzoq vaqt davomida juda qimmat bo'lmagan
kompyuter resurslari samarasiz ishlatgani tufayli uzoq davom etmadi.
Kompyuterlar o'chirilmadi, bitta dastur boshqasini o'zgartirdi.
Yaqin orada kompyuter protsessor bilan birga markaziy protsessor
deb nomlanuvchi qo'shimcha protsessorlarga, eng avvalo, sekin
komutlarni bajarish uchun mas'ul bo'lgan kirish / chiqish qurilmalarining
maxsus protsessorlariga ega edi. Bu esa, bir vaqtning o'zida bir nechta
dastur kompyuterda ishlayotgani - dastur natijalarini nashr etishi,
ikkinchisi - bajarilishi va uchinchisi - masalan, magnit tasmasi yoki
boshqa tashqi vositadan ma'lumotlarni kiritish uchun dasturni
bajarishning ommaviy rejimini tashkil etishga imkon berdi.
Inqilobiy qadam 1964 yilda IBM - OS 360 operatsion tizimining
paydo bo'lishi bo'ldi. Kompyuterda paydo bo'lgan operatsion tizim uning
mutlaq egasi bo'ldi - barcha resurslari menejeri. Endilikda foydalanuvchi
dasturi faqat operatsion tizim nazorati ostida bajarilishi mumkin.
Operatsion tizim ikkita muhim vazifani hal etishga imkon berdi: bir
tomondan, bir vaqtning o'zida kompyuterda ishlashning barcha
dasturlariga zarur xizmatni taqdim etish, ikkinchidan, mavjud resurslarni
ushbu resurslarga da'vo qilayotgan dasturlar orasida samarali foydalanish
va tarqatish. Operatsion tizimlarning paydo bo'lishi bitta dasturli rejimdan
ko'p dasturli rejimga o'tishga olib keldi, bir vaqtning o'zida bir xil
dasturda bir nechta dastur mavjud. Ko'p dasturlash parallel dasturiy emas,
biroq bu parallel hisoblash uchun bir qadamdir.
Ko'p dasturlash - bir nechta dasturlarni parallel bajarish. Ko'p
dasturlash sizga ularni bajarish uchun umumiy vaqtni kamaytirish
imkonini beradi.
Parallel hisoblashda bir xil dasturni parallel bajarish nazarda tutiladi.
Parallel hisoblash bir dasturning bajarilish vaqtini kamaytirish imkonini
beradi.
Ko'p dasturlash uchun kompyuterning bir nechta protsessorlarga ega
bo'lishi juda muhim. Ko'p dasturlashni amalga oshirish uchun
protsessorlarning o'zaro ishlashini tashkil qiluvchi operatsion tizim
mavjudligi etarli.
Parallel hisoblash uchun dasturning o'zi uchun zarur bo'lgan
qo'shimcha talab mavjud - dastur hisoblarni parallellashtirish
imkoniyatini yaratishi kerak, chunki operatsion tizimning ko'rinishi
kompyuterni apparat (xotira, protsessorlar, boshqa qurilmalar) deb
hisoblash mumkin emasligini anglatadi. Endi u ikki qismga ega: qattiq
(qattiq) va yumshoq (yumshoq) - bir-birini to'ldiruvchi apparat va
dasturiy komponentlar. Yarim asrdan ko'proq vaqt mobaynida
komponentlar
tez
rivojlana
boshladi,
asbobuskunalar
uchun
eksponentsional o'sishni odatiy holga keltirdi, bu Murning taniqli ampirik
qonunida aks ettirilgan - barcha muhim belgilar kattalashib ketgan -
barcha darajalarda xotira hajmi, xotiraga kirish vaqtini kamaytirish,
protsessor tezligi. Murning qonuniga ko'ra (Gordon Moore Intelning
asoschilaridan biri), xarakterli qiymatlar har yarim yilda ikki baravarga
ko'paydi. Kompyuterga kiritilgan protsessorlarning soni ham ortdi.
O'zgarildi va kompyuter arxitekturasi. Ushbu o'zgarishlar ko'p jihatdan
hisoblarni parallellashtirishga qaratilgan qadamlar edi. Bu erda
parallelizatsiya jarayoni bilan bevosita bog'liq bo'lgan protsessor
arxitekturasidagi o'zgarishlarning bir qismi:
Buyruqlar chizig'ini qayta ishlash. Protsessor tomonidan buyruqlar
oqimini bajarish jarayoni endi buyruq buyrug'i ketma-ket ravishda
bajarilmasligi sifatida ko'rilmaydi. Buyruqlar oqimini qayta ishlash
jarayoni quvur liniyasida amalga oshirildi, shuning uchun bir nechta
buyruqlar bir vaqtning o'zida bajarishga tayyorlandi. Bir-biriga bog'liq
bo'lmagan buyruqlar bir vaqtning o'zida bajarilishi mumkin, bu
allaqachon haqiqiy parallelizmdir. "Uzoq buyruqlar".
Ba'zi bir kompyuterlarning arxitekturasi bir nechta protsessorlarni
o'z ichiga olgan bo'lib, ular mantiqiy va arifmetik operatsiyalarni butun
sonlar bo'yicha bajarish imkonini beradi, bir nechta protsessorlar
suzuvchi nuqtali raqamlarda operatsiyalarni amalga oshiradi. Uzoq
buyruq bitta buyruqda mavjud protsessorlarning har biri bajarishi kerak
bo'lgan amallarni ko'rsatishga imkon berdi. Bu esa, apparat darajasida
parallelizmni amalga oshirish imkonini berdi Vektorli va matritsali
protsessorlar. Ushbu protsessorlarning ko'rsatmalar to'plami vektorlar va
matritsalar bo'yicha asosiy operatsiyalarni o'z ichiga oladi. Masalan, bitta
guruh ikkita matritsani qo'shishlari mumkin. Bunday buyruq parallel
hisoblashlarni amalga oshiradi. Ushbu operatsiyalar ma'lumotni qayta
ishlash asoslarini tashkil etuvchi ilovalar keng tarqalgan.
Ma`lumotlarning parallel ishlashi ushbu klassdagi ilovalarning
samaradorligini sezilarli darajada oshirishi mumkin. Dasturiy ta'minot
darajasida parallel ijro etiladigan dasturlarning yana bir muhim turi -
grafik tasvirlar bilan intensiv ishlash. Ushbu ishlash grafik ishlovchilar
tomonidan amalga oshiriladi. Grafik tasvirni ballar to'plami sifatida
ko'rish mumkin. Rasmni qayta ishlash ko'pincha hamma punktlarda bir
xil operatsiyani bajarish uchun kamayadi. Ushbu vaziyatda ma'lumotlar
parallelizatsiyasi osongina amalga oshiriladi.. Shu sababli, grafik
protsessorlar avvaldan ko'p yadroli bo'lib, bu jarayonni parallellash va
tasvirni samarali ishlash imkonini beradi. Superkompyuterlar hozirgi
vaqtda eng yuqori ko'rsatkichlarga ega bo'lgan kompyuterlarni o'z ichiga
oladi. Ular yuz minglab protsessorlardan iborat. Superkompyuterlardan
samarali foydalanish hisob-kitoblarning eng keng tarqalgan parallelligini
o'z ichiga oladi ..
Ilmiy tadqiqotlarda va yangi texnologiyalarda mavjud hisoblash
tizimlarining barcha kuchini talab qiluvchi vazifalar mavjud.
Mamlakatning ilmiy salohiyati ko'p jihatdan o'zining superkompyuterlari
mavjudligi bilan belgilanadi. Superkompyuterning kontseptsiyasi
nisbatan nuqtai nazardir. O'n yillik superkompyuterning xususiyatlari
odatdagi kompyuterning xususiyatlariga mos keladi. Bugungi
superkompyuterlar petafloplarda (1015 dona perimetrli operatsiyalar)
o'lchovlarda ishlaydi. 2020 yilga qadar superkompyuterlarning ishlashi
1000 barobarga oshadi va eksaflopslarda o'lchov qilinadi Kompyuterlar
tasniflash Kompyuterlar dunyosi miniatyura o'rnatilgan kompyuterlardan
individual binolarni ishlaydigan ko'p tonna superkompyuterlarga qadar
farq qiladi. Ular turli yo'llar bilan tasniflanishi mumkin.
Birinchi va eng sodda tasniflardan biri - Flynn tasniflashini ko'rib
chiqing, bu ma'lumotlar kompyuterda qanday ishlashga asoslangan.
Ushbu tasnifga ko'ra, barcha kompyuterlar (komp'yuter komplekslari)
to'rtta sinfga bo'linadi - arxitekturali kompyuterlar: SISD (Single
Instruction stream - yagona ma'lumotlar oqimi) - bitta ma'lumot oqimi -
bitta ma'lumot oqimidir. Bu sinf, programma buyruqlar ketma-ket
bajarilganda, keyingi ma'lumotlar elementini qayta ishlashda von
Neumann arxitekturasiga ega oddiy "ketma-ket" kompyuterlarni o'z
ichiga oladi SIMD (bitta yo'riqnoma oqimi - bir nechta ma'lumotlar oqimi)
- bitta buyruq xartasi - bir nechta ma'lumotlar oqimi.
Vektorli va matritsali protsessorlarga ega kompyuterlar ushbu turga
tegishli: MISD (bir nechta yo'riqnoma oqimi - yagona ma'lumotlar oqimi)
- bir nechta buyruqlar oqimi - bitta ma'lumot oqimi. Ushbu turdagi
ma'lumotlarni o'tkazishning konveyer turiga ega kompyuterlar bo'lishi
mumkin. Masalan, kompyuter juda katta muammolarni, masalan,
maksimal kattalikdagi matritsali chiziqli algebraik tenglamalar tizimini
yechadi. Agar Gauss usuli ishlatilsa, elementlar eng xil tartibda chiqarib
tashlanishi
mumkin. Shu bilan birga, amalga oshirilgan arifmetik operatsiyalarning
umumiy soni bir xil bo’lib qoladi yoki 2-3 martadan ortiq o’zgarmaydi.
Shu bilan birga, bir xil tizim uchun usulning turli xil versiyalarini ataylab,
muammoni hal qilishning umumiy vaqti o’n barobar yoki undan ko’p
bo’lishi mumkinligini ta’kidlaymiz. Yana bir haqiqiy holat.
Gauss usulining har qanday variantini aniqlasin, ammo hozirda turli
o’lchamdagi tizimlar hal qilinmoqda. Bunday holda, muammoni
hal qilishning umumiy vaqti arifmetik operatsiyalar umumiy soniga
mutanosib ravishda o’zgaradi. Ammo bu holda kutilmagan hodisalar
mavjud.
Ba’zan , ayrim buyruqlar uchun muammoni hal qilish vaqti ancha
uzoq bo’lishi mumkin.
Muammoni hal qilishning umumiy vaqti ko’pgina omillarga ta’sir qiladi.
Ammo ularning asosiylari arifmetik operatsiyalarni bajarish vaqti va
xotira bilan o’zaro aloqa qilish vaqti. Gauss tipidagi usullarda, arifmetik
operatsiyalarning butun majmui oldindan ma’lum. Shuning uchun,
masalani muayyan sabablarga ko’ra hal qilish vaqti keraksiz bo’lsa, unda
xotiradan foydalanishda ma’lum bir noto’g’ri ma’lumotlar mavjud. Bu
degani, xotira tuzilishi va uni qo’llash tamoyillarini chuqurroq muhokama
qilish
uchun
sabablar
mavjud.
Ayniqsa,
katta
muammolarni hal qilish kerak bo’lsa.
Xotira kompyuterda qanday bo’lishidan qat’i nazar, axborotning har bir
biti modellashtirilgan ikki davlatni oladi eng oddiy texnik element.
Bunday elementlarning zichligi juda yuqori. Misol uchun, elektron xotira
qurilmasi holatida, bir yongada elementlarning soni millionlab kishilarga
yetishi mumkin.
Biroq, bu xotira o’zboshimchalik bilan katta
bo’lishi mumkin degani emas. Xotiraning asosiy talabi - alohida so’zlarga
qisqacha kirish vaqti. Umuman olganda, so’zlar bo’yicha operatsiyalarni
bajarish uchun zarur bo’lgan vaqtdan, o’ta og’ir holatlarda, unga mos
keladigan vaqtdan ancha qisqa bo’lishi kerak. Xarakterli kirish vaqti
operatsiyalarni bajarish vaqtidan sezilarli darajada qisqartiriladigan
xotiraning bir qismi tez deb nomlanadi, qolganlari sekinlashadi. Katta
qismi adreslanadigan xotirani tashkil qiladi, kichikroq qismi esa
manzilsiz hisoblanadi. Manzilning xotirasida har bir so’zda manzil
mavjud. Xotiraning bu qismi foydalanuvchi uchun mavjud. U bilan
ishlashingiz
uchun
siz
ikkala
ma’lumotni yozishingiz va o’qishingiz mumkin. U shuningdek, tasodifiy
erkin xotira (RAM) deb nomlanadi va tegishli texnik
qurilmalar
tasodifiy
erkin
xotira
(RAM)
deb
ataladi.
Noma’lum xotira foydalanuvchilar uchun mavjud emas. U doimiy xotira
va ultrafast xotira o’rtasida farq qiladi. Hech narsa doimiy xotiraga yozil
maydi, lekin bundan oldin yozib olingan ma’lumotlarni bir necha bor
o’qib chiqish mumkin. Odatda, kompyuterni ishga tushirish buyruqlar,
turli foydali dasturlar, va hokazolarni saqlaydi. Optik texnologiyalardan
foydalanish katta doimiy xotira yaratish imkoniyatini ochadi. Bu holatda,
masalan, ko’p maqsadli dasturlarning kutubxonalaridagi barcha yuklarni
saqlab
qolish
mumkin
bo’ladi.
Ultra
tez
xotira, operatsion xotiradan sezilarli darajada kam kirish vaqti bilan farq
qiladi. Ko’pincha 1-2 darajaga ega. Eng tezkor daraja - bu xotirani
saqlash. Birlik yoki o’nlab so’zlar bilan o’lchangan juda oz miqdori
bor. Operatsiyani bajarish natijalari, bajariladigan bajarishdan darhol buy
ruqni bajarish uchun kerak bo’ladi. Aslida, ro’yxatga olish xotirasi ALU
ning ajralmas qismi hisoblanadi. Kesh deyarli tez. Bu registr xotirasi va
RAM
orasida
bir
turdagi
bufer.
Zamonaviy kompyuterlarda uning miqdori bir million so’zga
yaqinlashadi. Tez orada bajarilgan buyruqlar bajaradigan buyruqlarni
bajarish uchun zarur bo’lgan operatsiya natijalarini saqlaydi. Ultrafastli
xotira boshqaruvini ishlatishini nazorat qiladi. Dasturlarni kompyuter
kodiga aylantirish bosqichida derleyici buyruqlar yordamida ultrafastli
xotiradan
foydalanish
samaradorligini
maksimal
darajada
oshirishi mumkin. Lekin bu har doim ham bajarilmaydi.
RAMga qisqa vaqt ichida erishish uchun ko’plab shartlarni bajarish
kerak, xususan, uning elementlariga boshqaruv signallarining o’tishini ka
maytirish. Boshqa narsalar bilan bir qatorda, mavjud texnologiyalarda u
ulanishlarning uzunligiga bog’liq. Ko’pgina elementlar bilan nazariy
jihatdan ulanishning uzunligi bir xil darajada kichik bo’lishi mumkin
emas. Bundan tashqari, noaniqlik ko’proq, elementlarning soni ham katta.
Bunday holat faqatgina xotiraning unumsizligi va uning ishlatilishiga
olib kelishi kerak. Tasodifiy erkin foydalanish xotirasini loyihalashda
turli xil texnik echimlar katta kirish vaqtining tarqalishining
salbiy
ta’sirini
kamaytirish
uchun
qo’llaniladi.
Xususan, RAM ierarxik tarzda amalga oshiriladi, bu xotirani kublar, blokl
ar, bo’limlar, sahifalar va hokazolarga bo’lishiga mos keladi. Ierarxiya d
arajasi ancha yuqori bo’lsa, ushbu darajadagi bitta xotira qismining alohi
da so’zlari uchun kirish vaqtlarining tarqalishi qancha kichikroq. Eng yu
qori darajada, bir vaqtning o’zida yoki minimal vaqt farqiga ega bo’lgan
so’z guruhlari mavjud. Ko’pincha ular ketma-ket jismoniy manzillar yoki
doimiy qadam bilan o’zgaradigan manzillar bo’lgan so’zlardir.
Shunday qilib, "oddiy" kompyuterning RAMini etarli darajada
kengaytirish istagi uning tuzilishining murakkablashishiga olib keladi.
O’z
navbatida,
bu
muqarrar
ravishda
erkin so’zlarni tarqatish vaqtini alohida so’zlar bilan to’ldiradi. RAM
bilan ishlashning eng yaxshi usuli odatda ikkala operatsion tizim va
kompilyator tomonidan ham quvvatlanadi. Lekin har qanday dastur
uchun
u
har
doim
amalga
oshirilmaydi.
Buni
ishlatish
uchun programmuvchi oldindan ma’lum bo’lishi kerak bo’lgan aniq
belgilangan
qoidalarga
amal
qilish
kerak.
Agar
algoritmni
amalga
oshirish
uchun
faqatgina
biron-
bir dasturni yaratish emas, balki imkon qadar tez ishlashini ta’minlash
zarur bo’lsa, ushbu qoidalarga rioya qilish sezilarli ta’sirga ega bo’lishi
mumkin. Yuqorida aytib
o’tilganidek, ko’plab kompyuterlar tezda jismoniy manzillarga ega
bo’lgan so’zlarga tezlik bilan kirishadi. Misol uchun, dastur Fortran tilida
yozilgan. Ushbu til nuqtai nazaridan satrlar yoki ustunlar qatori
elementlarini qayta ishlash muhim emas. Olingan dasturning
murakkabligi jihatidan ahamiyatga ega emas. Barcha tafovutlar faqat bitta
holatda biz ba’zi matrisalarning elementlarini konvertatsiya qilish bilan,
ikkinchisida esa - ularga transpozitsiya bilan shug’ullanishimiz bilan
bog’liq. Xotiradan foydalanishning o’ziga xos xususiyatlarini hisobga
olgan
holda,
Fortran
tilidagi
kompilyatorlar
doimo jismoniy xotirada, manzillar, ustunlar
ustuni, chapdan o’ngga va yuqoridan pastgacha ketma-ketlikda bo’ladi.
Gauss usulida lineer algebraik tenglamalar tizimlarini yechish uchun
algoritmni qo’llashni nazarda tuting. Bunday holda, dasturning vaqti uch
o’lchamli tsikllar bilan belgilanadi. Tizimning matrisi ustunlar yoki
qatorlar qatorida o’rnatiladigiga qarab, dasturning ichki aylanishi ham
kolonlarning elementlarini ustunlar yoki satrlarda ishlov beradi. Ikkala
variantni amalga oshirish vaqti juda sezilarli, ba’zan bir necha marta farq
qilishi mumkin. Tegmaslik dasturlarni ishlab chiqishda esa bu
muhim ahamiyatga ega. Muhokama qilingan masala, asosan, muammola
rni hal qilishda tezkor RAMni
tezkor ravishda ishlatish bilan
chegaralanishi
mumkin
bo’lgan
holatlar
bilan bog’liq. Sekin xotiradan foydalanish kerak bo’lsa, vaziyat ancha m
urakkablashadi.
Dasturlash tillarining aksariyati xotira hajmining kontseptsiyasiga ega em
as.
Buning sababi, dasturlarni kompyuter parametrlariga bog’liq
bo’lmagan holda
qilishdir. Biroq, ma’lum bir kompyuterda
foydalanuvchi faqat cheklangan hajmdagi xotira bilan ta’minlanishi
mumkin. Uning hajmini maksimal darajada oshirish istagi nafaqat tezkor
RAMni,
balki
xotirani
sekinlashtirishni
ham
talab
qiladi.
Zamonaviy
kompyuterlarda
sekin
xotira
tez-
tez
qattiq
disklarda
qo’llaniladi. Uning hajmi RAM hajmidan bir necha barobar katta. Biroq,
kirish vaqti bir necha bor ko’proq. Juda katta muammolarni hal qilishda
ma’lumotlarning katta qismi muqarrar ravishda sekin xotirada saqlanishi
kerak. Ammo har qanday kompyuterda operatsiyalar faqat tez xotirada
saqlangan ma’lumotlarga ko’ra amalga oshiriladi. Shu sababli,
katta muammolarni hal qilish jarayonida, odatda, ma’lumotlar bir necha
marta sekin va tezkor xotiraga uzatilishi kerak. Bu katta muammolarni
hal qilishning muddati ikkita komponent tomonidan belgilanadi: algoritm
operatsiyalari bajarilish vaqti va sekin va tezkor xotira o’rtasida
almashinuvni
bajarish
vaqti.
Sekin
xotiradan foydalanishning asosiy muammo - bu ikkinchi guruhning
birinchisini o’nlab, yuzlab, hatto minglab marotaba oshib ketishiga olib
kelishi mumkin. Eslatib o’tamiz, RAM bilan ishlashning muvaffaqiyatsiz
tashkil etilishi algoritmni amalga oshirish vaqtini bir necha bor oshirishi
mumkin. Sekin va tezkor xotira o’rtasidagi almashinuvning
malakali tashkil etilishi uchta asosiy tamoyilga asoslangan: sekin
xotiraga imkon qadar kamroq kirish, almashinuvni iloji boricha ko’proq
ma’lumotni uzatish va tezkor xotiraga har bir uzatish uchun iloji boricha
ishlov berish. Ushbu printsiplarning maqbul muvozanatini saqlash juda
murakkab vazifadir. O’z qarorini o’ylamaslik uchun, foydalanuvchi
odatda
virtual
xotira
bilan
ishlashga taklif etiladi. Ushbu xotira shartli. Yaxshi belgilangan o’lcham
va aniq so’zlashuv tizimi mavjud. Virtual xotira bir hil yoki bir necha tuz
ilishga ega bo’lishi mumkin.
Buning uchun axborotni oldindan joylashtirish uchun qoidalar tizimi
ishlab chiqilishi mumkin. Jismoniy xotirada virtual xotira qanday
aniqlanadi va sekin va tezkor xotira o’rtasidagi almashinuvlar, operatsion
tizimga biriktirilgan algoritmlarga bog’liq. Ushbu algoritmlar haqida
kompyuterning hujjatlarida topish mumkin. Shunga qaramasdan, odatda,
ular odatiy bo’lib, shuning uchun ham umuman hisobga olinmaydi yoki
ma’lum dasturlarning xususiyatlarini hisobga olmaydilar. E’tibor bering,
M-20 va BESM-6, bu hisoblash texnologiyasi kashshoflari "oddiy"
kompyuterlar sinfiga tegishli. Lekin yuqorida muhokama qilingan barcha
muammolar bir xil sinfdagi zamonaviy kompyuterlar uchun dolzarbdir.
Buni hamma ham osongina ko’rish mumkin. Shaxsiy kompyuteringiz
va M-20 ning ish faoliyatini solishtiring.
Endi sizning kompyuteringiz Gauss usuli bo’yicha 200-
darajali chiziqli algebraik tenglamalar tizimini belgilab oling va uni hal
qilish uchun vaqtni o’lchaylik. Keyinchalik, ikkala kompyuter uchun
tizimning ishlash muddatini va tizimning ishlash muddatini solishtirish.
Va taqqoslash sizning kompyuteringiz foydasiz emasligiga ishonch hosil
qiling. Keyin nima uchun bunday bo’lishi mumkinligi haqida savol berish
oqilona. Agar qattiq disk yordamida sekin xotira sifatida katta tartibli
tizimni tanlasangiz, tizimlar tartibidagi farqlarni hisobga olgan holda
taqqoslash natijasi bundan ham yomonroq bo’ladi. Yana o’zingizga
shunday
savol
bering.
Bu
erda
muhokama qilingan narsa, faqat javob izlashga to’g’ri keladi.
|