Demak parallel oqimlar yordamida hisoblashlarni parallellashtirishning mavjud
Download 30.48 Kb.
|
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
ma'muriyatiga murojaat qiling