Multiprotsessorli tizimlar ma’ruzachi: Ro’ziboyev Ortik MULTIPROTSESSORLi TIZIMLAR Ma’ruzachi: Ro’ziboyev Ortik Ma’ruza - 10 mundarija Multiprotsessor nima? Multiprotsessorli apparat ta’minoti Multiprotsessorli operatsion tizimlar tiplari Xulosa Foydalanilgan adabiyolar Kalit so’zlar Multiprosessor Shared memory Cache memory UMA NUMA NC-NUMA CC-NUMA Multiprotsessor nima? Multiprotsessor (shared memory multiprosessor) – bu ikki va undan ortiq markaziy protsessorga ega bo’lgan va operativ xotiradan umumiy foydalanadigan kompyuter tizimi hisoblanadi. Multiprotsessorli operatsion tizimda jarayonlar bir nechta protsessorlar tomonidan bajariladi va bunda bitta protsessor xotiraga ma’lumotni yozib qo’ysa, ikkinchi protsessor bu ma’lumotni o’qib oladi yoki aksincha. Hisoblash tizimlari klassifikatsiyasi Oldingiz maruzalarimizda Flynn klassifikatsiyasi turlarini ko’rib o’tgandek. Ularning turlari ko’pligiga qaramasdan deyarli barcha turdagi parallel tizimlar, MIMD guruhiga tegishlidir Multiprotsessorli tizimlar bo’linishining keyingi turlari foydalaniladigan tezkor xotirani rejalashtirish usullariga asoslanadi. o Multiprotsessorli tizimlarning ikki muhim turini ajratish imkonini beradi: multiprotsessorlar (yoki umumiy taqsimlangan xotirali tizimlar), multikompyuterlar (yoki alohida taqsimlangan xotirali tizimlar). Flynn klassifikatsiyasi Vektorli parallel protsessorlar (parallel vector processor or PVP). Masalan: Cray T90, Vektorli parallel protsessorlar (parallel vector processor or PVP). Masalan: Cray T90, Vektorli yoki massivli protsessor markaziy protsessor (CPU) ning bir bo’lagi bo’lib, protsessor amallarini o’z ichiga bir o’lchamli massiv elementlari sifatida joylashtiradi va bu massivni vektor deb ataymiz. Bu scalar protsessorga qarama-qarshi hisbolanadi. Vektor protsessorlar ishlash aniqligi va raqamli simulatsion va shunga o’xshash boshqa vazifalarni samarali hal qilish sifati bilan boshqa protsessorlardan ajralib turadi. Simmetrik multiprotsessorlar (symmetric multiprocessor or SMP). Masalan: IBM eServer, Sun StarFire, HP Superdome, SGI Origin. Simmetrik multiprotsessorlar (symmetric multiprocessor or SMP). Masalan: IBM eServer, Sun StarFire, HP Superdome, SGI Origin. Simmetrik multiprotsessorlar bir yoki bir nechta mustaqil protsessorlarni birgalikda ishlatadi va barcha protsessorlar uchun xotira umumiy hisoblanadi. Bunda barcha protsessorlar yagona operatsion tizim yordamida boshqariladi. Hozirgi kunda ko’pgina multiprotsessor tizimlar SMP arxitekturasini ishlatadi. SMP tizimi bir-biriga mustahkam jipslashgan protsessorlar jamlanmasi bo’lib, bu protsessorlar tizim tamonidan boshqarilishi yoki mustaqil ishlashi mumkin. Har bitta protsessor alohida, ya’ni bir biriga aloqasi bolmagan holda dasturlarning ishlashiga javob berishi mumkin. Multiprotsessorli tizim oddiy strukturasi Multiprotsessorli apparat ta’minoti Multiprotsessorli apparat ta’minoti quyidagi ko’rinishlarda namoyon bo’ladi: UMA (Uniform memory access) NUMA (Non-uniform memory access) multiprotsessor UMA multiprotsessorning shinali arxitekturasi Kesh xotirasiz Kesh xotira va lokal xotirali Kesh xotirali umumiy xotiradan foydalanuvchi multiprotsessorlar (shared memory) umumiy xotiradan foydalanuvchi multiprotsessorlar (shared memory) Ma’lumotlarni o’zgartirishda “eski“ protsessor kesh xotiralarini mavjutligini va ulardagi ma’lumotlar saqlanishini tekshirish zarur (apparat darajasida ta’minlangan bo’lishi bilan birga, protsessorlar hajmi oshgani sayin tizim murakkablasha boradi) umumiy xotiradan foydalanuvchi multiprotsessorlar (shared memory) umumiy xotiradan foydalanuvchi multiprotsessorlar… Muammo: Bir vaqtda bajariladigan buyruqlar oqimining o’zaro aloqadorligi mosligi zarurati. Misol sifatida: Protsessorlar N umumiy o’zgaruvchisi ustida buyruqlarni ketmaketlikda bajaradigan bo’lsin. 1 - bajarilish varianti 2 - bajarilish varianti Buyruqlar turlicha bo’lishi mumkin ammo umumiy o’zgaruvchilar bir xil bo’lishi zarur ! N=N+1 Chop etish N NUMA multiprotsessor NUMA tizimli hisoblash tizimlarining quyidagi asosiy uchta xususiyati mavjud va shular bilan boshqa tizimlardan farq qiladi: 1. xotiradagi maydonlar barcha protsessorlar (CPUs) uchun ko’rinib turadi; 2. xotiraga murojaat qilish maxsus LOAD va STORE instruksiyalari orqali amalga oshiriladi; 3. oddiy (umumiy) xotiraga murojaat qilish lokal xotiraga murojaat qilishdan sekinroq bo’ladi. NUMA ikki xil ko’rinishda bo’ladi: o NC-NUMA (no caching NUMA) o CC-NUMA (cache-coherent NUMA) CC-NUMA multiprotsessori arxitekturasi (directory-based multiprocessor) Node – protsessordagi bo’linma interconnection network-tizimlarni o’zaro bog’lovchi tarmoq CPU– protsessor Memory – xotira Local bus – lokal shina Directory – 2^24 bayt (16 MB) ma’lumot sig’imiga ega Fizik bo’linuvchi xotiradan foydalanuvchi multiprotsessorlar... Fizik bo’linuvchi xotiradan foydalanuvchi multiprotsessorlar... Fizik bo’linuvchi xotiradan foydalanuvchi multiprotsessorlar (distributed shared memory or DSM): Fizik bo’linuvchi xotiradan foydalanuvchi multiprotsessorlar (distributed shared memory or DSM): o Xotiraga turli xildagi murojaatlar (non-uniform memory access or NUMA), o Mazkur turdagi tizimlar quyidagilarga ajraladi: cache-only memory architecture or COMA (KSR-1 va DDM tizimlari), cache-coherent NUMA or CC-NUMA (SGI Origin 2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000 tizimlari), non-cache coherent NUMA or NCC-NUMA (Cray T3E tizimi). Multikompyuterlar… Multikompyuterlar… o Tizimda mavjud barcha xotiralarga umumiy murojaatni ta’minlamaydi (noremote memory access or NORMA), o Tizimning har bir protsessori faqat o’zining lokal xotirasidan foydalanadi Multikompyuterlar Multikompyuterlar Mazkur yondashuvdan ko’p protsessorli hisoblash tizimlarining iki muhim turini tashkillashtirishda foydalaniladi: o o massivli-parallel tizimlar (massively parallel processor or MPP), misol uchun: IBM RS/6000 SP2, Intel PARAGON, ASCI Red, transpyuter tizimlari Parsytec, klasterlar (clusters), misol uchun: AC3 Velocity и NCSA NT Supercluster. Multikompyuterlar Multikompyuterlar Klaster – tarmoqqa birlashtirilgan ko’plab alohida kompyuterlar uchun maxsus apparat-dastur vositalari bo’lib, uning yordamida umumlashtirilgan boshqaruv imkoni ta’minlanadi (single system image), ishonchli ishlash (availability) va samarali foydalanish (performance) Multikompyuterlar. Klasterlar… Multikompyuterlar. Klasterlar… Afzalliklari: o o o Iste’molchilarda mavjud bo’lgan alohida kompyuterlar bazasida tashkil etilishi yoki ma’lum turga mansub kompyuter elementlaridan yig’ilishi mumkin; Alohida protsessorlarning hisoblash kuchi oshib borishi nisbatan kam miqdordagi alohida kompyuterlardan klaster qurish imkonini beradi (lowly parallel processing), Algoritmlarda hisoblarni parallel bajarish uchun faqat katta mustaqil qismlarga ajratish kifoya ekanligi (coarse granularity). Foydalanilgan adabiyotlar 1. Andrew S. Tanenbaum, Albert S. Woodhull. Operating Systems: Design and Implementation, Chapter 8. Multipleprocessor systems, 8.1 Multiprosessors 2. http://www.cs.vu.nl/~ast/books/mos2/sample-8.pdf http://fayllar.org