25-Ma’ruza. Parallel ishlov berish vositalari Reja: 1. Buyruqlar sathidagi parallellik
2. Parallel ishlov berish vositalari
Tayanch iboralar:konveyerli, superskalyar,ko‘p yadroli protsessor, matritsali.
Avvalgi paragraflarda ko‘rib o‘tilgan buyruqlar sathidagi parallellik asosida qurilgan – konveyerli va superskalyar arxitekturali protsessorlar kompyuterlarning ishlash tezliklarini, ya’ni kompyuterning ish unumini yoki unumdorligini odatda 5-10 barobar oshirish imkonini berar ekan. Kompyuterlar unumdorligini 50, 100 barobar va undan ko‘proq oshirish uchun – bir nechta protsessorlardan iborat kompyuterlarni yoki bir nechta kompyuterlardan iborat kompyuter tizimlarini yaratish kerak ekan. Ushbu sohaga oid adabiyotlarda – tizim iborasi, bir nechta kompyuterlardan iborat kompyuterlar jamlanmasiga nisbatangina emas, balki bir nechta protsessorlardan iborat kompyuterga nisbatan ham ishlatiladi. Hozirda bunday kompyuterlarni – ko‘p yadroli protsessorga ega kompyuterlar yoki tizimlar deb atalmoqda. Matritsali kompyuterlar. Fizika va texnika fanlarida echilishi kerak bo‘lgan masalalarda – matritsalar shaklidagi massivlar yoki turli xil tartiblangan strukturalar ustida amallar bajarish talab etiladi. Ko‘p hollarda ana shu xildagi to‘plamlar tarkibiga kirgan turli ma’lumotlar to‘plamlari ustida – bir vaqtda bir xil hisoblashlarni bajarish kerak bo‘ladi. Bunday hisoblashlarni bajarish uchun yaratilgan dasturlarning tartiblanganligi va strukturalanganligi, ularning alohida-alohida bo‘laklarini parallel tarzda bajarish bilan hisoblashlarni anchagina tezlashtirish mumkin ekan. Kattakatta ilmiy dasturlarni bajarilishini tezlashtirishning ikki xil sxemasi mavjud:
1. Bitta protsessorni kengaytirish.
2. Hisoblashlarni bajaruvchi ko‘p protsessorlardan foydalanish.
Birinchi sxema asosida qurilgan protsessorlar matritsali va vektorli protsessorlar deb ataladi. Bunday protsessorlar asosida qurilgan kompyuterlar esa matritsali kompyuterlar deb ataladi. Matritsali protsessor (Array processor) deganda – bir vaqtda ko‘p sonli ma’lumotlar, ya’ni matritsaning elementlari ustida, bir-xil ketmaketlikdan iborat buyruqlarni, ya’ni bir hil amalni bajaradigan ko‘p sonli protsessorlar tushuniladi. Ushbu g‘oya asosida qurilgan dastlabki kompyuter, 1972 yili AQSHning Illinoys universitetida qurilgan ILLIAC IV kompyuteri hisoblanadi.
Fon-neyman arxitekturasidan anchagina farq qiladigan ushbu arxitektura,
Flin klassifikatsiyasiga asosan SIMD (Single Instruction-stream Multiple Data-stream) ko‘p ma’lumotlar oqimiga ega bitta buyruqlar oqimi arxitekturasi deb ataladi (rus tilida - один поток команд с несколь- кими потоками данных). Ko‘p protsessorli kompyuter hisoblangan vektor protsessorli (vector processor) kompyuterga misol qilib – Cray Research firmasi tomonidan ishlab chiqarilgan Cray-1 (1974 yil) superkompyuterini keltirish mumkin. Matritsali va vektor protsessorlarni qurishda ishlatilgan tamoillardan zamonaviy kompyuterlar protsessorlarini ishlab chiqishda ham foydalanilmoqda. Ular asosida Pentium oilasi mansub protsessorlarning buyruqlari to‘plamlariga kiritilgan MMX va SSE-buyruqlari ishlab chiqilgan. MMX (Multi Media eXtension) – tovush va video ma’lumotlarni ishlash tezligini oshiruvchi buyruqlar to‘plami. SSE (Streaming SIMD Extensions) – multimedia ma’lumotlarni oqimlar tarzida ishlovchi qo‘shimcha buyruqlar to‘plami. Bu buyruqlar to‘plamlari yordamida multimediali dasturlarning tezkor bajarilishi amalga oshirilmloqda. Ma’lumotlarni parallel ishlashning ikkita asosiy shakli mavjud:
1.Buyruqlar sathidagi parallellik.
2.Protsessorlar sathidagi parallellik.
Birinchi holatda unumdorlikni oshirish uchun, har bir sekundda ko‘proq buyruqlarni bajarilishini yo‘lga qo‘yish kerak bo‘ladi. Ikkinchi holatda unumdorlikni oshirish esa, bitta topshiriqni bajarishni, bir vaqtda bir necha protsessorlarga yuklash bilan erishiladi.
Konveyer tezligini oshirishning bir necha yo'li mavjud. Birinchidan, mashina yo'riqnomalarini qayta ishlash tsiklining har bir bosqichini bir nechta podstansiyalarga ajratish tufayli konveyer aylanishi kamayadi va chastota shunga mos ravishda oshadi. Ikkinchidan, protsessorda bir-birining ustiga chiqish bilan ishlaydigan bir nechta quvurlar. Birinchi usulga superkonveyorizatsiya deyiladi, ikkinchisi - superskalalar bilan ishlov berish.
Hisoblash tizimida parallel ishlaydigan bir nechta protsessorlar bo’lishi mumkin. Bunday tizimlar – ko’p protsessorli tizimlar deb ataladi.
Hyper-Threading (HT) texnologiyasidan foydalanilganda bir mavjud prosessor operasion sistema tomonidan ikki vitual prosessorlar kabi qabul qilinadi, bu server platformasi har bir prosessoriga ko'p oqimli server qo'shimchalarining baravariga ikki oqimini bajarish imkonini beradi. HT texnologiyasi qo'shimchalar hisoblash ehtiyojlari o'zgarishi bo'yicha prosessor o'rtasida ularning resurslarini qayta taqsimlaydi. Ko'p oqimli qo'shimchalari bilan oqimlarni parallel bajarishga imkon berib u prosessor resurslaridan maksimal samarali foydalanishni ta'minlaydi va aniq vaqt davomida ko'proq ish bajarishni amalga oshirishga yordam beradi.
HT texnologiyasi prosessor resurslaridan foydalanishni samarasini oshiradi, ma'lumotlarni ishlab chiqish tezligi va sistemaning umumiy mahsuldorligini oshiradi. Ikki oqimga ijrochi resurslar bir to'plamini berib u ikkinchi oqimga faqat bir oqimni bajarishda ishsiz turgan resurslardan foydalanish imkonini beradi.
Bu tashkilotlar eng talabchan korporatv qo'shimchalarni bajarishlari mumkinligini, shu bilan bir vaqtda sistemalar tez ishlashini ta'minlanadi. HT texnologiyasi 2002 yilda taqdim etilgan va o'tgan vaqt davomida ish joyi kompyuterlari, noutbuklar va HT texnologiyasini ta'minlaydigan serverlar uchun 50 milliondan ortiq Intel prosessorlari sotilgan.
Parallel kompyuterlar, taxminan, apparatlarning parallellikni qo'llab-quvvatlash darajasiga qarab tasniflanishi mumkin ko'p yadroli va ko'p protsessor bir nechta kompyuterlar ishlov berish elementlari bitta mashina ichida esa klasterlar, MPPlarva panjara bitta topshiriq ustida ishlash uchun bir nechta kompyuterlardan foydalaning. Ixtisoslashgan parallel kompyuter arxitekturalari ba'zida an'anaviy vazifalarni tezlashtirish uchun an'anaviy protsessorlar bilan birga qo'llaniladi.
Parallel hisoblash, boshqa tomondan, muammoni hal qilish uchun bir vaqtning o'zida bir nechta ishlov berish elementlaridan foydalanadi. Bunga har bir ishlov berish elementi boshqalar bilan bir vaqtda algoritmning bir qismini bajarishi uchun muammoni mustaqil qismlarga ajratish orqali erishiladi. Qayta ishlash elementlari xilma-xil bo'lishi mumkin va bir nechta protsessorlarga ega bo'lgan bitta kompyuter, bir nechta tarmoq kompyuterlari, ixtisoslashtirilgan qo'shimcha qurilmalar yoki yuqoridagi har qanday kombinatsiya kabi manbalarni o'z ichiga oladi.[8] Tarixiy parallel hisoblash ilmiy hisoblash va ilmiy muammolarni simulyatsiya qilish uchun ishlatilgan, ayniqsa tabiiy va muhandislik fanlari, masalan. meteorologiya. Bu parallel apparat va dasturiy ta'minotni loyihalashtirishga olib keldi.