Ishlash ... Protseduralar va ma'lumotlar tuzilmalari kabi ketma-ket dasturlash mavhumligi samaralidir, chunki ularni Neumann von kompyuterida sodda va samarali namoyish etish mumkin. Vazifalar va kanallar ko'p kompyuterda xuddi shunday to'g'ridan-to'g'ri taqsimotga ega. Vazifa bitta protsessorda ketma-ket bajarilishi mumkin bo'lgan kod qismini anglatadi. Agar kanalni ulashadigan ikkita vazifa boshqa protsessorlarda paydo bo'lsa, kanal aloqasi protsessor protsessori sifatida amalga oshiriladi; agar ular bitta protsessorda paydo bo'lsa, yanada samarali mexanizmlardan foydalanish mumkin.
Tarqatish mustaqilligi ... Vazifalar pozitsiyasidan qat'i nazar, vazifalar bir xil mexanizm (kanallar) dan foydalanganligi sababli dastur tomonidan hisoblangan natija topshiriq qayerda bajarilayotganiga bog'liq emas. Shuning uchun, algoritmlar ular ishlaydigan protsessorlar soni haqida qayg'urmasdan ishlab chiqilishi va amalga oshirilishi mumkin; aslida, algoritmlar ko'pincha protsessorlarga qaraganda ko'proq vazifalarni yaratishga mo'ljallangan. Bu kengaytiriladigan darajaga erishishning oson usuli: protsessorlar soni ortib borishi bilan har bir protsessorga topshiriladigan vazifalar soni kamayadi, ammo algoritmni o'zi o'zgartirishga hojat yo'q. Agar protsessorlar aloqa uzilishlarini niqoblash uchun bajarilishi kerak bo'lgan vazifalardan ko'proq bo'lsa, masofaviy ma'lumotlarga kirish uchun aloqa davom etayotganda bajarilishi mumkin bo'lgan boshqa hisoblashlar taqdim etiladi.
Modullik... Modulli dasturlashda turli xil dasturiy komponentlar mustaqil modul sifatida alohida ishlab chiqiladi va keyinchalik ular to'liq dasturni yaratish uchun birlashtiriladi. Modullarning o'zaro ta'siri aniq belgilangan interfeyslar bilan cheklangan. Shunday qilib, modulli dasturlarni boshqa komponentlarni o'zgartirmasdan o'zgartirish mumkin, va dasturning xususiyatlarini uning modullarining spetsifikatsiyasida va ushbu modullarni bir-biriga bog'laydigan kodda aniqlash mumkin. Modulli dastur muvaffaqiyatli qo'llanilganda dasturiy ta'minot murakkabligi pasayadi va kodlardan qayta foydalanish osonlashadi.
Determinizm... Algoritm yoki dastur aniq bir kirish bilan bajarilganda har doim bir xil natijani beradigan bo'lsa, aniqlanadi. Agar bitta kirish bilan bir nechta bajarilishlar turli xil natijalarni berishi mumkin bo'lsa, bu aniqlanmaydi. Determeterizm ba'zan foydali va qo'llab-quvvatlanishi kerak bo'lsa-da, deterministik dasturlarni yozishni osonlashtiradigan parallel dasturlash modeli juda maqbuldir. Deterministik dasturlarni tushunish osonroq. Bundan tashqari, to'g'riligini tekshirayotganda, parallel dasturni bajarilishining faqat bitta ketma-ketligini hisoblash kerak, ammo bajarilishi mumkin bo'lganlarning hammasi emas.
Do'stlaringiz bilan baham: |