Parallelizm turlari
Ko'p yadroli dasturlash tushunchasi bir nechta tizim vazifalarini parallel ravishda bajarishdir. Parallelizm turlariga quyidagilar kiradi:
Ma'lumotlar parallelligi
Vazifa parallelligi
Quvurlarni yotqizish
Malumotlar parallelligi
Ma'lumotlar parallelizmi bir nechta ma'lumotlarni parallel ravishda mustaqil ravishda qayta ishlashni o'z ichiga oladi. Protsessor ma'lumotlarning har bir qismi bilan bir xil amallarni bajaradi.
Rasmda bu parallelizm uchun vaqt diagrammasi ko'rsatilgan. Kirish A, B, C va D to'rt qismga bo'linadi. F()Bu qismlarning har biriga bir xil amal qo'llaniladi va chiqish mos ravishda O A , O B , O C va O D bo'ladi. Barcha to'rtta vazifa bir xil va ular parallel ravishda ishlaydi.
malumotlar parallelligi
Ma'lumotlar parallelizmidan farqli o'laroq, vazifa parallelizmi kirish ma'lumotlarini ajratmaydi. Buning o'rniga, dasturni bir nechta vazifalarga bo'lish orqali parallellikka erishadi. Vazifa parallelizmi dastur ichidagi vazifalarni bir nechta ishlov berish tugunlari bo'ylab taqsimlashni o'z ichiga oladi. Ba'zi vazifalar boshqalarga ma'lumotlarga bog'liq bo'lishi mumkin, shuning uchun barcha vazifalar bir vaqtning o'zida bajarilmaydi.
To'rt funktsiyani o'z ichiga olgan tizimni ko'rib chiqing. F2a() va F2b() funksiyalari parallel, ya’ni bir vaqtda ishlashi mumkin. Vazifa parallelizmida siz hisoblashni ikkita vazifaga bo'lishingiz mumkin. F2b() funktsiyasi 1-topshiriqdan Out1 ma'lumotlarini olgandan so'ng alohida ishlov berish tugunida ishlaydi va u 1-topshiriqda F3() ga qaytadi.
Vazifaning paralleligi
2-topshiriq 1-topshiriqdan Out1 ma'lumotlarini olmaguncha bajarilmaydi. Demak, bu vazifalar parallel ravishda to'liq bajarilmaydi. Tsikl vaqti deb nomlanuvchi protsessor sikli uchun olingan vaqt
t = tF1 + max(tF2a, tF2b) + tF3.
Dostları ilə paylaş: |