|
Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali “kompyuter injiniringi” fakulteti
|
bet | 1/13 | Sana | 25.05.2024 | Hajmi | 143,49 Kb. | | #253828 |
Bog'liq 1-amaliy ish
RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
QARSHI FILIALI
“KOMPYUTER INJINIRINGI” FAKULTETI
I-Bosqich MKI-11-23 Guruh magistranti
MURODOVA YULDUZNING
“PARALLEL HISOBLASH TIZIMLARI”
fanidan tayyorlagan
1-Amaliy ishi
Bajardi: Murodova. Yu
Qabul qildi: Zohirov. Q
Qarshi-2024
Ketma-ket va parallel hisoblash masalalari;
2. C++ dasturlash tilining PPL kutubxonasi
Parallel Patterns Library (PPL) miqyoslilikni ta'minlovchi va parallel ilovalarni ishlab chiqish qulayligini yaxshilaydigan imperativ dasturlash modelini taqdim etadi. PPL kutubxonasi bir vaqtning o'zida ishlash vaqtini rejalashtirish va resurslarni boshqarish komponentlariga asoslangan. U dastur kodi va asosiy oqim mexanizmi o'rtasida mavhumlik qatlamini yaratadi va ma'lumotlar bilan parallel ravishda ishlaydigan umumiy, turdagi xavfsiz algoritmlar va konteynerlarni ta'minlaydi. Bundan tashqari, PPL umumiy holatga muqobil variantlarni taqdim etish orqali miqyosda ilovalarni ishlab chiqish imkonini beradi.
PPL quyidagi xususiyatlarni taqdim etadi.
Vazifa parallelligi : Parallel ravishda bir nechta ish elementlarini (topshiriqlarni) bajarish uchun Windows ThreadPool tepasida ishlaydigan mexanizm.
Parallel algoritmlar: ma'lumotlar to'plamini parallel ravishda ishlatish uchun parallellik ish vaqtining tepasida ishlaydigan umumiy algoritmlar
Bir vaqtning o'zida konteynerlar va ob'ektlar : ularning elementlariga xavfsiz bir vaqtda kirishni ta'minlaydigan umumiy konteyner turlari
Misol
PPL C++ standart kutubxonasiga o'xshash dasturlash modelini taqdim etadi. Quyidagi misol PPL ning turli funktsiyalarini ko'rsatadi. U bir nechta Fibonachchi raqamlarini ketma-ket va parallel ravishda hisoblab chiqadi. Ikkala hisob ham std::array obyektida ishlaydi . Ushbu misolda ikkala hisob-kitobni konsolga bajarish uchun zarur bo'lgan vaqt ham ko'rsatilgan.
Seriya versiyasi massivni aylanib o'tish va natijalarni std::vektor ob'ektida saqlash uchun C++ standart kutubxonasi algoritmidan std:::for_each foydalanadi . Parallel versiya bir xil vazifani bajaradi, lekin PPL ::p arallel_for_each parallellik algoritmidan foydalanadi va natijalarni parallellik ob'ektida saqlaydi::concurrent_vector . Sinf tsiklning har bir iteratsiyasiga konteynerga sinxronlashtirilgan yozishni talab qilmasdan bir vaqtning o'zida elementlarni qo'shish imkonini beradi.concurrent_vector
Bir vaqtning o'zida ishlaganligi sababli parallel_for_each, ushbu misolda qo'llaniladigan dasturning parallel versiyasi concurrent_vectordasturning ketma-ket versiyasi bilan bir xil natijalarni berish uchun ob'ektni saralashi kerak.
E'tibor bering, misol Fibonachchi raqamlarini hisoblash uchun soddalashtirilgan usuldan foydalanadi, ammo bu usul parallel ish vaqti uzoq hisob-kitoblarni amalga oshirishda tizim ish faoliyatini qanday yaxshilashi mumkinligini ko'rsatadi.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali “kompyuter injiniringi” fakulteti
|