JARAYONLAR
|
0
|
1
|
2
|
3
|
4
|
5
|
ITERATSIYA
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
-
|
-
|
-
|
-
|
Barcha jarayonlarning sinxronizatsiyasi.
Barcha jarayonlarning qisman yig'indilarini birlashtirish.
Ildiz jarayoni bilan integral qiymatni hisoblash.
Jarayonlarni sinxronlashtirish.
Ildiz jarayonidan barcha jarayonlarga ajralmas qiymatni translyatsiya qilish.
Tashqi tsiklning keyingi o'tishi uchun hosil bo'lgan ballar sonini ko'paytiring.
Chiqish holatini tekshirish. Agar yolg'on bo'lsa, tashqi tsiklni to'xtating, agar rost bo'lsa, tashqi tsiklni ko'paytirilgan sonli nuqtalar bilan davom eting.
Olingan integral qiymatni funktsiya bo'yicha qaytarish.
2. Har bir jarayon uchun integratsiya oralig'ini qisqartirish g'oyasiga asoslangan algoritm (protsessor oralig'i) Integral1DMK_par1 (…) funktsiyasida amalga oshiriladi. Ushbu algoritmda, avvalgisida bo'lgani kabi, raqamlar birlashtirilib, L integratsiya oralig'ining hosil qilingan nuqtalar soniga nisbati bilan bir necha qadam bilan hosil qilinadi. Bu erda har bir jarayon integralni o'z bo'limida hisoblaydi (qisman integral), so'ngra bu qiymatlar kamaytirish operatsiyasi bilan birlashtiriladi. Bu avvalgi algoritmda bo'lgani kabi, qadam pasayganda, koordinata o'qi bo'ylab raqamlarning bir tekis taqsimlanishiga erishishga, shuningdek, tor intervalda funktsiya harakatlarini aniqroq o'rganishga imkon beradi. Natijada, hisob-kitoblarning aniqligi bilan bir qatorda usulning yaqinlashishi kuchayadi.
Ushbu algoritmda har bir jarayon quyidagi asosiy bosqichlarni bajaradi:
Ishlayotgan jarayonlarning sonini olish, uning sonini olish.
Har bir jarayonning ishlash oraliqlarini aniqlaydigan o'zgaruvchilarni hisoblash.
Tashqi tsiklning boshlanishi.
Ikki qo'shni takrorlashda integral qiymatini o'z ichiga olgan o'zgaruvchilarni initsializatsiya qilish (chiqish holatini tekshirish uchun).
Jarayon raqami va joriy vaqt bilan psevdo-tasodifiy sonlar generatorini ishga tushirish.
Raqamlarni yaratish bosqichini hisoblash.
Tasodifiy nuqta hisoblangan ichki tsikl, shu nuqtadagi funktsiya qiymati va qisman yig'indisi yig'iladi.
Jarayon bo'yicha qisman integralni tor oraliqda hisoblash.
Tashqi tsiklning keyingi o'tishi uchun hosil bo'lgan ballar sonini ko'paytiring.
Barcha jarayonlarning sinxronizatsiyasi.
Barcha jarayonlarning qisman integrallarining birlashishi.
Jarayonlarni sinxronlashtirish.
L da integralning asosiy jarayonidan barcha jarayonlarga translyatsiya qilish.
Chiqish holatini tekshirish. Agar yolg'on bo'lsa, tashqi tsiklni to'xtating, agar rost bo'lsa, tashqi tsiklni hosil bo'lgan nuqtalar sonining ko'payishi bilan davom eting.
Olingan integral qiymatni funktsiya bo'yicha qaytarish.
3. Har bir jarayon uchun integratsiya oralig'ini qisqartirish va ushbu bo'limda to'liq integralni hisoblash g'oyasiga asoslangan algoritm Integral1DMK_par2 (…) funktsiyasida amalga oshiriladi. Ushbu algoritmda, avvalgilarida bo'lgani kabi, raqamlar birlashtirilib, L integratsiya oralig'ining hosil bo'lgan nuqtalar soniga nisbati bilan bir necha qadam bilan hosil qilinadi. Bu erda har bir jarayon o'z qismidagi integralni ma'lum bir aniqlik bilan qiymatlarni olguncha hisoblab chiqadi, so'ngra bu qiymatlar tashqi tsikl tugagandan so'ng kamaytirish operatsiyasi bilan birlashtiriladi. Bu avvalgi algoritmlarda bo'lgani kabi, qadam pasayganda, koordinata o'qi bo'ylab raqamlarning bir tekis taqsimlanishiga erishishga, shuningdek, tor intervalda funktsiya harakatlarini aniqroq o'rganishga imkon beradi. Bundan tashqari, xabarlar faqat bir marta almashinadi. Natijada, usulning yaqinlashishi kuchayadi, hisob-kitoblarning aniqligi oshadi va ba'zi funktsiyalar sinflari uchun hisoblash vaqti qisqaradi.
Ushbu algoritmda har bir jarayon quyidagi asosiy bosqichlarni bajaradi:
Ishlayotgan jarayonlarning sonini olish, uning sonini olish.
Har bir jarayonning ishlash oraliqlarini aniqlaydigan o'zgaruvchilarni hisoblash.
Tashqi tsiklning boshlanishi.
Ikki qo'shni takrorlash bo'yicha integral qiymatini o'z ichiga olgan o'zgaruvchilarni initsializatsiya qilish (chiqish holatini tekshirish uchun).
Jarayon raqami va joriy vaqt bilan psevdo-tasodifiy sonlar generatorini ishga tushirish.
Raqamlarni yaratish bosqichini hisoblash.
Tasodifiy nuqta hisoblanadigan ichki tsikl, shu nuqtadagi funktsiya qiymati va qisman yig'indisi yig'iladi.
Jarayon bo'yicha qisman integralni tor oraliqda hisoblash.
Tashqi tsiklning keyingi o'tishi uchun hosil bo'lgan ballar sonini ko'paytiring.
Chiqish holatini tekshirish. Agar yolg'on bo'lsa, tashqi tsiklni to'xtating, agar rost bo'lsa, tashqi tsiklni ko'paytirilgan sonli nuqtalar bilan davom eting.
Jarayonlarni sinxronlashtirish.
Barcha protsessor intervallarida to'liq integrallarni kamaytirish.
Olingan integral qiymatni funktsiya bo'yicha qaytarish.
Biz yana bir bor ta'kidlaymizki, psevdo-tasodifiy sonlar ketma-ketligi tarkibi yoki boshqacha qilib aytganda uning sifati usulning yaqinlashishini oshirishda muhim rol o'ynaydi.
3.3. Tajriba. Samaradorlik tahliliamalga oshirilgan algoritmlarning bir qismi
Ishlab chiqilgan algoritmlarning samaradorligini o'rganish quyidagi komponentlar bilan MPI klasterida olib borildi: protsessor - Pentium 1 gigagertsli, operativ xotira - 128 MB, tarmoq - tezkor chekilgan.
Eksperimentlarda integral integral sinovdan o'tkazildi. Integratsiya chegaralari a = 0, b = 1e6 edi.
3.3.1-jadvalda turli funktsiyalar algoritmlarini sinash natijalari keltirilgan. 1 va 5 protsessor tizimlarida hisoblash natijalarini taqqoslash
Rasm 3.3.1
Do'stlaringiz bilan baham: |