Architecting Parallel Applications(1)

總結了一下個人看Berkeley的《 Architecting Parallel Applications》課程ppt的學習心得:

 

Lecture1: Introduction and Overview

 

並行的目的Motivation of parallelism

1、  在硬件上,單處理器性能的提高受到了三方面的壁壘:

功耗、內存以及指令級並行性(ILP),各方面具體內容可參考James Reinders的並行介紹http://www.builder.com.cn/video_intel/video_intel.shtml

2、  Small is beautiful"smallness within bigness"的思想,提出分而治之的概念,執行一個大的工作任務就等於執行一組相關的小工作任務。

3、  並行化硬件的未來趨勢:future general-purpose processors will be built from small (5-9 stage pipeline) energy efficient processing elements

4、  同時在軟件並行編程上我們必須滿足:Productively: programmer’s time, time-to-marketEfficiently: meeting performance targets that the hardware should be able to realizeCorrectly: software meets its functional specification

 

目前未能解決的難題How not to solve the problem

有了多核體系架構的支持,我們在並行編程上遇到以下幾種可能以及挑戰

1、在原有代碼上不斷地修改並監測其性能,但是經常會失敗並且性能難以提高。

 

 

 

2、通過一個新的並行語言來編程,目前200種並行語言仍未有合適所有應用的。

 

 

 

3、通過編寫一個超級編譯器來將代碼編譯爲並行執行。

 

 

在將來,並行編程並不是在於訓練編程人員學習如何寫並行程序。而是在於各領域的專家去使用並行應用框架來編寫應用程序。

 

解決方法Our approach

以滿足productivity efficiency correctness爲前提,建立起軟件架構-編程模型與環境-編程語言-編譯器與調試器-硬件架構,其中的關鍵在於設計模式design patterns和模式語言pattern language

 

 

 

Example: CBIR

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章