بخشی از پاورپوینت
--- پاورپوینت شامل تصاویر میباشد ----
اسلاید 1 :
زمان: 1960-70
مشکل: برنامه نويسي به زبان اسمبلي
نياز به تجريد و قابليت جابه جايي بدون از دست دادن کارايي برنامه ها
راه حل: زبان هاي سطح بالا مانند فرترن و c
اسلاید 2 :
زمان: 1980-90
مشکل: ناتواني در ساخت و نگهداري برنامه هاي کاربردي پيچيده که به صورت گروهي ايجاد مي شوند
کامپيوترها مي توانستند برنامه هايي با پيچيدگي بالاتر را اجرا کنند
نياز به قابليت انعطاف و قابليت نگهداري براي برنامه ها
کارايي بالا مطرح نبود با توجه به قانون مور (Moor) بدست مي آمد
اسلاید 3 :
راه حل:
برنامه نويسي شي گرا
متدولوژي هاي نرم افزاري بهتر
ابزارهاي بهتر براي ايجاد برنامه ها
اسلاید 4 :
برنامه نويسان چيزي در مورد پردازنده نمي دانند!
زبانهاي سطح بالا به صورت انتزاعي پردازنده ها را مخفي مي کنند
بايت کد جاوا مستقل از ماشين است
بر مبناي قانون مور به منظور بدست آوردن سرعت بالاتر نيازي نيست برنامه نويسان چيزي در مورد پردازنده ها بدانند
برنامه اي که 30 سال پيش به زبان c نوشته شده است همچنان کار مي کند و بر روي کامپيوترهاي امروزي بسيار سريعتر اجرا مي شود
اسلاید 5 :
زمان: 2005-…
مشکل: کارايي برنامه هاي ترتيبي!! (قانون مور!)
نياز به بهبود کارايي منطقي و پيوسته براي برنامه ها
براي پشتيباني جنبه هاي جديد و حجم بالا و در حال رشد داده ها
پردازنده هاي چند هسته اي!
مدل هاي برنامه نويسي موازي
تبديل برنامه هاي بازمانده ترتيبي به موازي
اسلاید 6 :
برنامه همرند
مجمرعه اي از نخ هاي ترتيبي که به صورت موازي (منطقي) اجرا مي شوند
پياده سازي
چند برنامگي
اجراي نخ ها بر روي يک پردازنده با تعويض اجراي آنها
چند پردازنده اي
اجراي نخ ها بر روي يک سيستم چند پردازنده اي يا چند هسته اي
پردازش توزيع شده
اجراي نخ ها بر روي چند ماشين مختلف
اسلاید 7 :
همروندي فقط اجراي موازي نيست!
همروندي به صورت اجراي interleaved
پردازش همزمان منطقي
اجرا بر روي يک پردازنده
اجراي موازي
پردازش همزمان فيزيکي
اجرا بر روي چند پردازنده
اسلاید 8 :
تمامي حالات اجرايي نخ ها، اجراي صحيح و قابل قبول نيستند
مکانيسم هاي همگام سازي براي محدود کردن حالات مختلف اجرايي
همگام سازي با دو هدف صورت مي گيرد
امن بودن برنامه در به روز رساني هاي مشترک
جلوگيري از شرايط مسابقه! (race conditions)
هماهنگي اعمال نخ ها
اسلاید 9 :
دسترسي همزمان چند نخ به منبع مشترک
امن اگر:
تمامي دسترسي ها اثري بر منبع نداشته باشند
خواندن يک متغير
يا دسترسي ها خنثي (idempotent) باشند
يا تنها يک دسترسي در هر زمان
انحصار متقابل (mutual exclusion)
اسلاید 10 :
پوشش (coverage) يا ميزان بخش هاي موازي
دانه بندي (granularity) بخش ها ميان پردازنده ها
محلي بودن (locality) محاسبات و ارتباطات