Amdahl定律的應用程序員
提升處理機的性能:編程
一、增長處理機的核心個數ide
改進後系統的加速比:1/[(1-f)+f/n]工具
其中f爲系統可並行執行部分的執行時間佔總系統執行時間的百分比性能
n爲處理器核心的增長倍數。而1-f則爲串行部分部分的執行時間所佔百分比。開發工具
二、提升處理機單一核心的頻率優化
在這種狀況之下,咱們僅僅提升其中一個核心的頻率,而其餘核心保持不變。上式中n變爲核心的頻率提升倍數。雲計算
而當f>0.5,咱們發現只有增長核心的個數纔能有效的提升處理器的性能。spa
當f<0.5時,採用第二種辦法,即提升單一核心的頻率纔能有效提升性能。操作系統
平常使用的最最基本的程序——操做系統——是支持並行處理的,因此,當在多核處理器上同時運行多個單線程程序的時候,操做系統會把多個程序的指令分別發送給多個核心,從而使得同時完成多個程序的速度大大加快。
另外,雖然單一的單線程程序沒法體現出多核處理器的優點,可是多核處理器依然爲程序設計者提供了一個很好的平臺,使得他們能夠經過對原有的單線程序進行並行設計優化,以實現更好的程序運行效果。
雖然多核處理器能夠高效解決咱們現代化生活中的許多問題,可編程性是多核處理器面臨的最大問題。一旦核心多過八個,就須要執行程序可以並行處理。儘管在並行計算上,人類已經探索了超過40年,但編寫、調試、優化並行處理程序的能力還很是弱。
多核處理器的出現增長了並行的層次性能使得並行程序的開發比以往更難。然而當前業內並沒有有效的並行計算解決方案,不管是編程模型、開發語言仍是開發工具,距離開發者的指望都有很大的差距。自動的並行化解決方案在過去的30年間已經被證實基本是死衚衕,但傳統的手工式的並行程序開發方式又難覺得普通的程序員所掌握。Intel、微軟、SUN、Cray等業內巨頭正投入大量人力物力進行相關的研究,但真正成熟的產品在短時間內很難出現。可擴展性是雲計算時代並行計算的主要考量點之一,應用性能必須能隨着用戶的請求、系統規模的增大有效的擴展。