Demak parallel oqimlar yordamida hisoblashlarni parallellashtirishning mavjud


Download 30.48 Kb.
Sana31.01.2024
Hajmi30.48 Kb.
#1828631
Bog'liq
Mustaqil ish


Demak parallel oqimlar yordamida hisoblashlarni parallellashtirishning mavjud
kutubxonasi protsedura va funksiyalardan foydalanishga nisbatan taklif etilgan
algoritmlardan foydalanish samaradorlikni oshirish imkoni ni berar ekan. Ushbu
mulohazalarni inobatga olib, parallelsikl jarayonlarini tashkil qilish va to„liq
nazoratga olish uchun JAVA dasturlash tilida faqat splayn-funksiya usullari uchun
maxsus protseduralar yaratildi va tizimli dastur sifatida kutubxonaga joylashtirildi.
Agar protsessor bitta bo’lsa, u izlashni M1 dan MN gacha bo’lgan yacheykalarda, aniqrog’i butun ro’yxatda olib boradi. Shuning uchun bitta protsessorda bu algoritm ketma-ket ikkilangan izlashga kelib qoladi. Demak uning qiymati O(log N) ga teng, bajarilish vaqti ham O(log N) ga teng.
N ta protsessor ishlatilganda esa, biz qiymati O(N) va bajarilish vaqti O(1) bo’lgan birinchi parallel variantga qaytamiz. Oraliq variantlarda esa biz har biri N/p ta elementdan tarkib topgan p ta ro’yxat bilan ish ko’ramiz. Bu variantning bajarilish vaqti O(log (N/p)), qiymati esa O(p log (N/p)) ga teng. Lekin p – log TV bo’lgan holatni alohida qarash lozim, bunda log (N/log TV) = log N log (log N). Bu holatda qiymat O((log N)*(log N)) = O(log2 N) bo’lganda, bajarilish vaqti O(log N).
Parallel algoritmning bajarilish vaqti tartibi ketma-ket ikkilamchi izlash tartibiga to’g’ri keladi, lekin baholashdagi konstanta kamroq bo’ladi, shu sababdan parallel algoritm tezroq bajariladi. O(log2 N) qiymat optimal ketma-ket izlashning O(log N) qiymatini oshirib yuboradi, lekin bu parallel algoritm ma’nosini yo’qotadigan darajaga bormaydi.
Misol parallel algoritm
boshlash
N
P[1] M[1] ga qiymatni kiritadi
k=2…p
P[k] M[1] dan qiymatni o’qiydi
Parallel Start
Parallel end
Tamom
P[k] M[k-procloc] ni o’qiydi
P[k] M[k] ga yozadi
Parallel end
procLoc=procLoc*2
Tamom
boshlash
N
P[1] M[1] ga qiymatni kiritadi
procLoc=1
j=1…log p
arallel Start
k= procLoc+1 … 2* procLoc
ha yo’q
boshlash
N
count=N/2
i=1 … log(count)+1
Parallel Start
j=1 … count
P[j] M[2j] ni X ga va M[2j+1] ni Y ga o’qiydi
X >Y
P[j] Х ni M[j] ga yozadi
P[j] Y ni M[j] ga yozadi
Parallel end
procLoc=procLoc*2
Tamom
boshlash
N
Parallel Start
j = 1 … N/log N
P[j] M[l+(j-1)*log N] dan M[j * log N] gacha yacheykalarning maksimum qiymatini ketma-ket algoritm bilan topadi
Parallel end
P[j] M[j] ga topilgan maksimumni yozadi
P[j] Х ni M[j] ga yozadi
X >Y
count=N/2
i=1 … log(count)+1
Parallel Start
j=1 … count
P[j] Y ni M[j] ga yozadi
Parallel end
count=count/2
Tamom
Ha
Yo’q
boshlash
N
Parallel Start
j=1 … N
P[j] M[j] ni Х ga va M[N+1] ni target ga o’qiydi
X=target
j ni M[N+2] ga yozadi
Parallel end
Tamom
boshlash
P
Parallel Start
j=1 to p
P [j] М[(j-l)*(N/p)+l] dan M[j*(N/p)] gacha bo’lgan yacheykalardaketma-ket ikkilangan izlashni bajaradi va X tarkib topgan yacheyka nomerini M[N+2] ga yozadi
Parallel end
Tamom
Xulosa
Xulosa qilib shuni ta‟kidlab aytish mumkin, ko„p yadroli protsessorlarda
signallarga raqamli ishlov berishda splayn-funksiyalar usullari shunisi bilan
qulayki,ular har qanday signalni bazisli funksiya koeffitsiyentiga ko„paytirish va
ko„paytmalarni jamlash ko„rinishida tasvirlash imkonini beradi.Bu esa ko„p yadroli
arxitektura yordamida hisoblashlarni samarali algoritmlarini yaratish imkonini beradi.
Open MP dasturiy vositasi yordamida ko„p yadroli protsessor yadrolariga va maxsus
xotira turlariga murojaatlarni to„g„ri yo„lga qo„yish mumkin. JAVA dasturlash tilida
esa parallel hisoblash jarayonlarini tashkil qilish uchun Thread, Runnable va Stream
sinflari mavjud bo„lib, parallel oqimlar bajarilishiga ajratilgan vaqtlarni nazorat qilish
va optimallashtirish imkonini beradi.
Splaynning parametrlarini topishda lokal hisoblash formulalaridan foydalanish
algebraik tenglamalar sistemasini yechishdan xalos qiladi.Lokal formulalar usuli
boshqa usullarga nisbatan hisoblashlar sonini keskin kamaytirish imkonini
Odamlar allaqachon ko’p hollarda 2 ta odam ishni alohida bajarganga nisbatan birgalikda tezroq bajarishlarini tushunganlar. Amaliyotda ham parallellik anchagina keng qo’llaniladi. Katta hajmdagi ma’lumotni bir necha ishchiga bo’lib berganda tezroq tartiblash mumkin. Yoki chelak to’la suvni qo’lma-qo’l uzatganda bir joydan ikkinchisiga yugurgandan ko’ra tezroq yuborish mumkin.
Parallel dasturlashda ham xuddi shunga o’xshash holatlar qo’llaniladi. Shunday ko’p funksiyali sistemalar mavjudki, ularda har qaysi protsessor bir xil operatsiyani turli xil berilganlar bilan bajaradi. Konveyer sistemalarida har qaysi protsessor vazifaning faqatgina bir qadaminigina bajaradi va navbatdagi qadamni qo’yish uchun natijani keyingi protsessorga yuboradi. Shunday qilib, ma’lumotlar oqimi bilan ishlovchi sistemalar ma’lum bir vazifani bajarishga mo’ljallangan protsessorlar ketma-ketligidan iborat.
Download 30.48 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling