Amaliy ish №13 mavzu: biosfera holati bilan axborot jarayonlarini o’zaro aloqasi. Bug’ tenglamalari. Mavzu
Download 397.67 Kb.
|
13 - 18AMALIY ISH (1)
- Bu sahifa navigatsiya:
- Ishni bajarish tartibi
- Nazorat savollari
Beqaror ish yuklanishi.
Sinxronlashtirish – paralell dasturlashda barcha oqimlarning hamohang tarzda tartiblanishiga aytiladi. Sinxnonlash sodda qilib aytganda bajarilayongan vazifalarni bir tekisda chiziqqa joylashtib yo’naltirishdir. Bajarilayotgan ish uchun eng yaxshi sinxronlash usuli: • Keskin qism • Mahalliy obyekt • Shu jarayon ichida thread uchun mavjudlik • (mutexdan 8X tezroq) Mutex bu – dasturlash tilidagi amallarni tez bajarish uchun ishlatiladigan tushuncha. • Yadro obyekt • Turli jarayonlar davomida iplar uchun kirish • Qulflashga xavfsizlik (faqat egasi tomonidan ozod qilinishi mumkin). Umumiy optimallashtirish - olingan umumiy natijalarni ketma-ketligini buzmasdan optimallashtirish. Uning imkoniyatlari quyidagilar: • Sinxronlash obyekt tushunmovchiliklarni kamaytirish. • Ortiqcha yuklamalardan qutilish • Funksional harakat Prodsessorlar sonini oqimlar soniga solishtirish. Ishni bajarish tartibi 1. Yuqorida keltirilgan ma'lumotlardan va qo'shimcha adabiyotlardan nazariy qismini o'rganish. 2. Demo-ga qarang. 3. O'qituvchidan vazifani bajarishning bir variantini oling. 4. Vazifani tahlil qiling. 5. Muammoning echimini aniqlang. Nazorat savollari: Timeline View qanday dastur? Mutex nima? Umumiy optimallashtirish deganda nimani tushunasiz? Intel thread Profilerda xotirani sinxronlash deganda nimani tushunasiz? Web Serverlar va ma’lumotlar bazasi tushunchalariga ta’rif bering. Dasturni kompilyatsiya qilishni tushuntirib bering. Client-server bu qanday tizim? Dastur arxitekturasini o’zgartirish deganda nimani tushunasiz? Nazorat savollarga javoblar Timeline View, parallel dasturlash jarayonida yuzaga keladigan sinch va aloqalarni ko'rsatuvchi profiling vositasidir. Bu profiling vositasi, dasturchilarga parallel dasturlash jarayonida yuzaga keladigan kamchiliklarni aniqlash uchun yordam beradi. Timeline View profiling jarayoni davomida yuzaga kelgan har bir threadning aktivligini va har bir aloqani chizish imkonini beradi. Bu profiling oynasida dasturchilar profiling jarayonida yuzaga kelgan dasturlarning nima vaqtda bajarilganligini, sinchlarning qanday vazifalarni bajarayotganini, aloqalar orqali dasturlar orasidagi yo'nalishni va boshqa ma'lumotlarni ko'rishlari mumkin. Timeline View profiling ma'lumotlarini vizualizatsiyalash yordamida, dasturchilar profiling jarayonida yuzaga kelgan kamchiliklarni aniqlash uchun shunchaki profiling ma'lumotlarini ko'rishlari mumkin emas, balki har bir profiling jarayonida yuzaga kelgan ma'lumotlar bilan birgalikda kamchiliklarni aniqlash uchun profiling ma'lumotlarini tahlil qilishlari kerak bo'ladi. Intel Thread Profiler dasturi Timeline View profiling oynasini yaratish yordamida dasturchilar profiling jarayonida yuzaga kelgan kamchiliklarni aniqlash uchun yaxshi imkoniyatlar taqdim etadi. Mutex (MUTual EXclusion) parallel dasturlashda yararlaniladigan sinch mekanizmalaridan biridir. Bunda, bitta resursni bitta vaqtida faqat bir thread ishlatishi mumkinligi ta'minlanadi. Boshqa so'zlar bilan, bir mutex obyekti o'z ichiga nomlangan resurs uchun maxsus bir kalitni (lock) saqlaydi va faqatgina bitta thread ushbu resursni ishlatishi mumkin bo'ladi. Agar boshqa threadlar ushbu resursni ishlatmoqchi bo'lsa, ular mutex obyektiga xuddi shu kalitni olishga harakat qilishadi. Lekin agar kalit avvalgi thread tomonidan ochilmagan bo'lsa, bu holatda yagona thread resursni ishlatish huquqiga ega bo'ladi va kalitni olishga imkon topmaydi. Bu xususiyat mutex obyektini xavfsiz qiladi va resurs ishlatishni to'g'ridan-to'g'ri boshqa threadlar uchun to'xtatadi. Mutexlar parallel dasturlashda kritik bo'lgan kod qatorlarini sinchlaydi va parallel dasturlashda bog'liq kamchiliklarni yechishda muhim rol o'ynaydi. Umumiy optimallashtirish, dasturlashda amaliy maqsadlarni yetkazish uchun dasturlarni yuqori darajada ishlab chiqishni ta'minlash maqsadida amaliy optimallashtirish jarayonlarini joriy etishdir. Bu jarayonlar natijasida dasturlar bo'sh vaqtni va operativ xotirani kamaytiradi, dastur ishga tushirish tezligi oshadi va boshqa amaliy muammolarni hal qilish uchun kerakli muammolarni bartaraf qilish uchun kerakli darajada optimallashtirilgan kod yaratiladi. Umumiy optimallashtirishda, dasturlash tilining va dastur manbai tilining xususiyatlaridan foydalaniladi. Masalan, C++ dasturlash tilida optimallashtirish uchun, inline funksiyalar, pass-by-reference, va const funksiyalardan foydalanish mumkin. Shuningdek, kodning alg'oritmik tuzilishlari, matematik va ishlovchi operatsiyalar, pamfletlar va massivlar kabi kerakli tuzilishlar o'zgaruvchilar, fonksiyalar va turli manbalardan yuqori darajada optimallashtirilgan kod yaratishda qo'llaniladigan amaliy qadamlardir. Umumiy optimallashtirish jarayonlari foydali natijalarga olib keladi. Bu natijalar orasida, kodni ishlatish tezligini oshirish, dastur ishga tushirish vaqtini kamaytirish, operativ xotirani tejamkorligi oshirish va boshqa foydali xususiyatlarga ega bo'lish kabi ma'lumotlar kiritiladi. Download 397.67 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling