Parallel ishlov berish




Download 94.01 Kb.
Pdf ko'rish
Sana24.12.2023
Hajmi94.01 Kb.
#127817
Bog'liq
pdf Mustaqil ish-2 Parallel ishlov berish
93b54032-6464-4fa1-948e-b05dbd732421 (1), AQSH MEDIA TALIMINING KINOTALIM BILAN UYGUNLASHUV MASALASI, tarjimaiy xol lotin new.. , PORTLAND SEMENT ISHLAB CHIQARISH USULLARI, 2 kan (4), Fizika Sh, 3 geo (3), Aral 8 (2), pdf Mustaqil ish-2 Parallel ishlov berish, Mustaqil ish-4 Katta ma\'lumotlarni qayta ishlash texnologiyalari va usullari, Mustaqil ish-3 Katta ma\'lumotlarni qayta ishlash texnologiyalari va usullari, 3-Amali ish Katta ma\'lumotlarni qayta ishlash texnologiyalari va usullari , 2-Mustaqil ish, 3-Mustaqil ish


KI-11-19(S) GURUH TALABASI
MUZAFFAROV MANSURNING
“PARALLEL ISHLOV BERISH ”
FANIDAN TAYYORLAGAN
MUSTAQIL ISH-2


Reja:
1. Dasturiy taqdimot sathi, mashina kodi, mnemakod va dasturlash tillari.
2. Dasturning unumdor ishlashi uchun qo'yiladigan shartlar va yuqori
unumdorlik.
3. Unumdorlikni oshirish: konveyr va superskalyar qayta ishlash, VLIW-
arxitekturasi. Birinchi superkompyuterlar.
4. Parallel kompyuterlar: umumiy va ajratilgan xotirali multiprosessorlar
va multikompyuterlar.
5. Xotiraga bir xil boʻlmagan ruxsatlilik texnologiyasi, NUMA va
CCNUMA arxitekturasi, kesh mustahkamligi.
1)Dasturiy taqdimot sathida, quyidagi tillar va kodlash vositalari
foydalanilishi mumkin:
1. Mashina Kodi (Machine Code):
Mashina kodi dasturlash tillaridan biridir. U eng past darajadagi,
kompyuter tomonidan tushuniladigan instruksiyalar jamlanmasidir.
Mashina kodida, instruksiyalar va ma'lumotlar binar formatda
ifodalangan bo'ladi. Ular processor tomonidan o'qiladi va bajariladi.
Mashina kodi yozish uchun xususiy sintaksis va qoidalar mavjudligi
mumkin.
2. Mnemakod (Assembly Code):
Mnemakod, mashina kodini o'qishni osonlashtiradigan dasturlash
tillaridan biridir. U mashina kodi instruksiyalarini o'qish hamda yozishga
imkon beradi. Mnemakod instruksiyalari, processor tomonidan direkt
ravishda tushunilishi va bajarganda mashina kodi sifatida ishlatilishi
mumkin. Mnemakod dasturlash tilida, instruksiyalar haqida oson
tushuntiruvchi nomlar va ko'rinishlar ishlatiladi.
3. Dasturlash Tillari (Programming Languages):
Dasturlash tillari, dasturlarni yozish uchun ishlatiladigan formal tillardir.
Ularning xususiyati, insonlar tomonidan yozilgan va tushunilgan bo'lishi,
keyin esa ma'mul qilinadigan mashina kodiga o'girilishi mumkin bo'lgan
kodlarni yaratishda yordam berishlari. Mashhur dasturlash tillari
misollaridan ba'zi quyidagilardir:
- C++
- Java
- Python
- JavaScript
- Ruby
- PHP


- Swift
- Kotlin
- Go
- C#
- va hokazo
Bu tillar har birining o'z sintaksis va qoidalari mavjudligi, shuningdek,
o'ziga xos imkoniyatlari va o'zaro foydalanish sohalarining farqliliklari
bor.
2)"Dasturning unumdor ishlashi uchun qo'yiladigan shartlar va yuqori
unumdorlik" ifodasining ma'nosi dastur yaratish va unumdorlik darajasi
haqidagi masalalarni yoritadi. Bu masalalar dastur muhandislik sohasida
muhimdir. Quyida dasturning unumdor ishlashi uchun qo'yiladigan
shartlar va yuqori unumdorlikning bir necha muhim tushunchalari
keltirilgan:
1. To'liq tayyorlangan bajariladigan vazifalar: Dastur muvaffaqiyati
uchun dastur to'liq tayyorlangan vazifalarni aniq va tushunarli shaklda
bajarishi kerak. Bu vazifalarni tushunish, tahlil qilish, to'liqroq vaqt
ichida bajarish uchun qo'llanmalar va boshqalar tomonidan tayyorlangan
bo'lishi zarur.
2. Intizomli arxitektura va kod yozish standartlari: Dastur muvaffaqiyati
uchun intizomli arxitektura va kod yozish standartlari qo'llanilishi kerak.
Bu standartlar dastur tomonidan yozilgan kodni tushunishni
osonlashtiradi, kodni to'liqroq yaxshilanishini ta'minlaydi va jamoatchilik
yoki boshqalar bilan ishlab chiqarishni osonlashtiradi.
3. Yaxshi testlash va debaggirlash: Dastur yaratish jarayonida yaxshi
testlash va debaggirlash muhimdir. Bug'altirish jarayonida yozilgan kodni
to'g'ri ishlayotganligini va xato manbalarini aniqlash uchun keng ko'lamli
testlar yozish zarur. Debaggirlash jarayonida dasturda yuzaga keladigan
xatolar aniqlanishi, tahlil qilinishi va to'g'rilanishi kerak.
4. Yaxshi dokumentatsiya: Dastur to'g'rimi, qo'llanmalari, interfeysi va
boshqa elementlariga oid yaxshi dokumentatsiya yaratish zarur. Bu
dokumentatsiya dastur ishchilari tomonidan tushunilishi, o'rganilishi va
dasturni yaxshi tushunishga yordam beradi.
5. Yuqori unumdorlik va ishchi to'garaklilik: Dastur muvaffaqiyati uchun
yuqori unumdorlik va ishchi to'garaklilik zarur. Dastur yaratishda


ishlayotgan dasturchilarning yuqori unumdorlik darajasi, ma'lumotlarni
tushunish va ularni dasturda aniq vaqtda va to'g'ri qo'llashiga qaratilgan.
6. Dasturning behatari: Dasturning behatari unumdorlik darajasini
oshirish uchun muhimdir. Behatari jarayonida dasturda yuzaga keladigan
xatolar aniqlanishi, xatolarni to'g'rilash va dasturni optimallashtirish
uchun takliflar berilishi kerak.
Shuningdek, dastur yaratishda tajribali dasturchilarning jamlanishi,
ishbirlik qilish, motivatsiya va qo'shimcha resurslarni ta'minlash ham
muhimdir. Yuqori unumdorlik va dastur muvaffaqiyati uchun bu amallar
dastur yaratish jarayonida qo'llaniladi.
3)Unumdorlikni oshirish uchun konveyr va superskalyar qayta ishlash va
VLIW (Very Long Instruction Word) arxitekturasidan foydalanish
mumkin. Bu texnikalar superkompyuterlarning ishlab chiqish tezligini va
bajarish samaradorligini oshirishga yordam beradi.
Konveyr va superskalyar qayta ishlash, bir nechta instruksiyalarni bir
vaqtning o'zida bajarish imkonini beradi. Konveyr arxitekturasi
dasturlarning barcha qadamini birma-bir bajarishga imkon beradi. Dastur
bajarilayotgan jarayonni birinchi qadamdan oxirgi qadama qadar bo'lgan
qollanma bo'lib, har bir qadamda bir nechta jarayon bajarilishi mumkin.
Bunda bajarilayotgan instruksiyalar o'zaro bog'liqligi yo'q va jarayonlar
parallel ravishda bajariladi. Bu usul superkompyuterlarda ishlab chiqish
tezligini oshirish uchun amalga oshiriladi.
Superskalyar arxitektura esa bir taklifni o'z ichiga oladi. Ushbu
arxitekturada bir taklif oxirgi natijani kutyotgan bo'lsa, keyingi taklif
bajarilishi uchun birinchi taklif bajarilishini kutishga loyiq emas.
Superskalyar arxitekturada bir nechta ishlem bir vaqtning o'zida
bajarilishi mumkin, shuning uchun instruksiyalar parallel ravishda ishga
tushirilishi mumkin. Bu usul ham superkompyuterlarda ishlab chiqish
tezligini oshirish uchun qo'llaniladi.
VLIW (Very Long Instruction Word) arxitekturasi esa bir taklifda bir
nechta instruksiya mavjud bo'lgan arxitekturadir. VLIW arxitekturasida
dastur instruksiyalari uchun bir to'plam (VLIW so'zi ma'nosida) yaratiladi,
va bu to'plamda bir vaqtning o'zida bajarilishi mumkin bo'lgan dasturlar
joylashadi. Har bir instruksiya o'zining o'ziga xos ish rejimini o'z ichiga
oladi va birga bajarilishi kerak bo'lgan instruksiyalar bir to'plamda
joylashadi. VLIW arxitekturasi superkompyuterlarda ishlab chiqish
samaradorligini oshirish uchun qo'llaniladi.


Birinchi superkompyuterlar esa kompyuterlar tarixidagi ilk
superkompuyterlardir. 1960-yillarda va keyingi yillarda birinchi
superkompyuterlar yaratildi. Ulardan ba'zilari konveyr va superskalyar
qayta ishlash va VLIW arxitekturasini qo'llagan.
Bular barcha texnikalar unumdorlikni oshirish va superkompyuterlarning
ishlab chiqish tezligini oshirishga yordam beradigan usullardir. Shu bilan
birga, har bir usulning o'ziga xos afzalliklari va chegaralari mavjud bo'lib,
ularni mahsulot turlari va ish stili bo'yicha to'g'ri keluvchi usullardir.
4)Parallel kompyuterlar, bir nechta ishlarni bir vaqtda bajarish uchun
xususiy tasarufga ega kompyuter sistemalardir. Bu sistemalar, umumiy va
ajratilgan xotirali multiprosessorlar (shared memory multiprocessors) va
multikompyuterlar (distributed memory multicomputers) deb ikkita
asosiy kategoriya bo'lib turadi.
1. Umumiy va ajratilgan xotirali multiprosessorlar: Bu turlar
kompyuterlar, o'zaro bir xotirali (memory) bo'lgan bir nechta o'zaro
aloqador multiprosessorlardan iborat bo'lib, har bir ishning o'z xotirasiga
kiradi. Bu turlar kompyuterlarda xotira, ma'lumotlar, vaqtni ulashishning
o'zaro birlashganligi, bir ishning boshqa ishlarga tegishli ma'lumotlarga
kirishini ta'minlashda juda foydali bo'ladi. Bunda, o'zaro aloqador
multiprosessorlar o'zaro bir xotiraga kirish mumkinligini ta'minlaydi. Bu
turlar kompyuterlarda paralellik va ishlar o'rtasida ma'lumot almashishga
imkon beradi.
2. Multikompyuterlar: Bu turlar kompyuterlar, bir nechta ajratilgan
xotirali multiprosessorlardan iborat bo'lib, har bir multiprosessor o'z
xotirasiga kiradi va o'z ishlarini bajaradi. Bu turlar kompyuterlarda har bir
multiprosessor o'zining o'zaro aloqador xotira va resurslarga ega bo'lishi
mumkin. Multikompyuterlar o'zaro aloqador kompyuterlar to'plamidan
iborat bo'lib, ularda har bir kompyuter o'z xotirasiga ega bo'lishi mumkin.
Ularning o'rtasida ma'lumot almashish uchun tarmoqlar yordamida
axborot almashish amalga oshiriladi.
Umumiy va ajratilgan xotirali multiprosessorlar va multikompyuterlar
o'rtasidagi asosiy farq, xotira va resurslarning qanday tarzda ajratilganligi
bo'lib, bu asosiy qofiyaga ta'sir qiladi. Umumiy va ajratilgan xotirali
multiprosessorlarda barcha multiprosessorlar o'zaro bir xotirani ulashish
mumkinligini ta'minlaydi, buning natijasida bir ishning o'zida boshqa
ishlarga tegishli ma'lumotlarga kirish mumkin bo'ladi. Biroq,
multikompyuterlarda har bir multiprosessor o'zining o'zaro aloqador


xotira va resurslarga ega bo'lishi mumkin, shuning uchun ma'lumotlarni
almashish uchun tarmoqlar yordamida axborot almashish amalga
oshiriladi.
Asosan, umumiy va ajratilgan xotirali multiprosessorlar o'zaro bir
xotirani ulashish mumkinligi hisobida, ma'lumot almashishda tezlik va
ishlar o'rtasidagi aloqalar osonlik bilan bajariladi. Multikompyuterlarda
esa har bir kompyuter o'zining o'zaro aloqador xotira va resurslarga ega
bo'lishi mumkinligi hisobida, systema xavfsizligi va o'zaro ishlarni
ta'sirga olish mumkinligi ortib bormoqda. Shuning uchun, bu turlar
kompyuterlar bir nechta ishlarni bir vaqtda bajarish uchun foydali bo'lishi
mumkin.
5)Xotiraga bir xil boʻlmagan ruxsatlilik (Non-Uniform Memory Access,
NUMA) va Keshdan tashqari bir xil boʻlmagan ruxsatlilik (Cache
Coherent Non-Uniform Memory Access, CCNUMA) arxitekturalar, kesh
mustahkamligi (Cache Coherency) va xotira ruxsatlilik boʻyicha
foydalaniladigan texnologiyalar hisoblanadi. Ulardan har birini qisqa
tariflashga harakat qilaylik:
1. Xotiraga bir xil boʻlmagan ruxsatlilik (NUMA): NUMA arxitekturasi,
xotiraning fizikaviy toʻplamlar halidagi boʻlimlariga boʻlingan kompyuter
sistemalarida qoʻllaniladi. Har bir boʻlimning oʻz xotirasi va xotira
kontrolerlari mavjud boʻlib, ular oʻzaro aloqada emas. Buning natijasida,
boʻlimlarning bir-biriga nisbatan yondashuv va kirish vaqti farqlanishi
mumkin. Agar kerak boʻlsa, maʼlumotlar bir boʻlimdan boshqa bir
boʻlimga oʻtkazilishi kerak boʻlsa, bu jarayonning boshqarishini amalga
oshirish uchun koʻrsatkichlar (interconnects) ishlatiladi.
2. Keshdan tashqari bir xil boʻlmagan ruxsatlilik (CCNUMA): CCNUMA
arxitekturasi, keshlar (caches) yordamida xotiraga bir xil boʻlmagan
ruxsatlilikni taʼminlaydi. Bu arxitekturada, har bir xotira boʻlimining
oʻziga xos keshi (private cache) mavjud boʻlib, shuningdek, barcha
xotiralarni birlashtiradigan umumiy kesh (shared cache) ham mavjud
boʻladi. Maʼlumotlar bir boʻlimdan boshqa bir boʻlimga oʻtkazilishida,
ular avval keshga yuklanadi va keyin qolgan boʻlimlarga koʻchiriladi. Bu
usul, keshlardagi maʼlumotlarning toʻplamining kattalashishini va
maʼlumot almashinuvini kamaytiradi.
3. Kesh mustahkamligi: Kesh mustahkamligi, kompyuter sistemalaridagi
keshlar toʻplamining maʼlumotlarning xotiradagi nusxasini saqlashga
qodirligi va bu maʼlumotlarga toʻgʻri va tez kirishni taʼminlashga
bogʻliqdir. Kesh mustahkamligi yuqori darajada muhimdir, chunki


keshlar xotiradagi maʼlumotlarga kirish vaqtlarini kamaytiradi. Kesh
mustahkamligi, maʼlumot almashinuvi va amaliyotlar tezligini oshirishda
katta muhim ahamiyatga ega boʻladi.
Bu texnologiyalar kompyuter sistemalaridagi xotiraga kirish va maʼlumot
almashinuvini boshqarishda muhim rol oʻynaydi. Xotiraga bir xil
boʻlmagan ruxsatlilik, kesh mustahkamligi va NUMA va CCNUMA
arxitekturalari, sistemalar yoki serverlarning yuqori darajada parallel
ishlashini, maʼlumot almashinuvini va amaliyotlar tezligini oshirishni
taʼminlashga yordam beradi.

Download 94.01 Kb.




Download 94.01 Kb.
Pdf ko'rish