20-Ma’ruza. Buyruqlar darajasidagi parallel vektorli tizimlar (PVP), klasterli tizimlar Reja: 1. Buyruqlar darajasidagi parallellik
2. Parallel vektorli tizimlar
3. Klasterli tizimlar
Tayanch iboralar: buyruqlar,vektor, PVP arxitektura,
Raqamli kompyuter bu berilgan buyruqlar asosida masalalarni echa oladigan mashinadir. Masala echimini bayon qiladigan buyruqlar ketma ketligi dastur deb ataladi. Har bir kompyuterning elektron sxemasi cheklangan sondagi buyruqlar majmuasini taniydi va bajara oladi. Barcha dasturlar bajarilishidan oldin qo‘yidagilardan murakkab bo‘lmagan buyruqlar ketma ketligiga aylantiriladi:
- Ikkita sonni qo‘shish;
- Son nol emasligiga tekshirish;
- Ma’lumotning biror qismini kompyuter xotirasining bir qismdan ikkinchi qismiga ko‘chiradi. Bu sodda buyruqlar majmuasi insonlarning kompyuter bilan muloqatini ta’minlovchi tilni tashkil etadi. Bunday til mashina tili deb ataladi. Yangi kompyuter yaratuvchilari kompyuterning mashina tiliga qanday buyruqlarni kiritish kerakligi masalasini hal qiladilar.Bu kompyuterning ishlatilish maqsadiga bog‘liq bo‘ladi, ya’ni kompyuter qanday masalalarni echishga muljallanganligiga. Odatda mashina buyruqlarini mumkin qadar sodda qilishga harakat qilinadi. Bu kompyuter konstruksiyasi murakkablashuvi oldini oladi va zaruriy elektronikaga nisbatan xarajatlarni kamaytiradi. Ko‘pchilik mashina tillari o‘ta sodda bo‘lib, ularni ishlatish murakkab va mashaqqatlidir. Oddiy kuzatishlar vaqt o‘tishi bilan turli darajadagi abstraksiyalarni yaratishga olib keldi. Har bir abstraksiya o‘zidan qo‘yi darajadagi abstraksiya ustiga quriladi. Huddi shunday yo‘l bilangina kompyuter bilan bo‘ladigan muloqat mashaqqatini engib o‘tish mumkin. Inson kompyuter muloqatiga bunday yondoshuvni kompyuter tashkil etilishidagi ko‘psathlilik deb ataladi. Parallel kompyuterlar, taxminan, apparatning paralellikni qo'llab-quvvatlash darajasiga qarab tasniflanishi mumkin, ko'p yadroli va ko'p protsessorli kompyuterlar bitta mashina ichida bir nechta ishlov berish elementlariga ega, klasterlar, MPP va tarmoqlar bir xil kompyuterda ishlash uchun bir nechta kompyuterlardan foydalanadi. Ixtisoslashgan parallel kompyuter arxitekturalari ba'zida an'anaviy vazifalarni tezlashtirish uchun an'anaviy protsessorlar bilan birga qo'llaniladi. Ba'zi hollarda parallellik dasturchi uchun shaffof, masalan, bit darajasidagi yoki buyruq sathidagi parallellikdagi, ammo aniq parallel algoritmlarni, xususan, parallellikni ishlatadiganlarni yozish ketma-ketlikdan ko'ra qiyinroq, chunki bir xillik bir nechta yangi mumkin bo'lgan dasturiy ta'minot xatolarining sinflari, ulardan poyga sharoitlari eng keng tarqalgan. Turli xil kichik topshiriqlar orasidagi aloqa va sinxronizatsiya odatda dasturning optimal parallel ishlashini ta'minlash uchun eng katta to'siqlardan biridir. Parallellashtirish natijasida bitta dasturni tezlashtirishning nazariy yuqori chegarasi Amdahl qonuni bilan ifodalanadi.
Kompyuter dasturlari an'anaviy ravishda ketma-ket hisoblash uchun yozilgan. Bu shuni anglatadiki, muammoni hal qilish uchun algoritm muammoni kichikroq ko'rsatmalarga ajratadi. Ushbu alohida ko'rsatmalar keyinchalik kompyuterning markaziy protsessor qismida birma-bir bajariladi. Faqat bitta ko'rsatma tugagandan so'ng, keyingisi boshlanadi. Parallel hisoblashning afzalliklari shundaki, kompyuterlar kodni yanada samarali bajarishi mumkin, bu esa "katta ma'lumotlar" ni har qachongidan ham tezroq saralash orqali vaqt va pulni tejashga imkon beradi. Parallel dasturlash yanada murakkab muammolarni hal qilishi, jadvalga ko'proq resurslarni keltirishi mumkin. Bu quyosh energiyasini yaxshilashdan tortib moliya sohasi qanday ishlashini o'zgartirishgacha bo'lgan dasturlarda yordam beradi.