Amdahl定理對多核時代的發展的影響。

多核處理器思路的出現源自CPU主頻和功率等的物理極限。通過阿姆達爾定律可以十分清楚地知道多核處理器的性能受到那些因素的限制,即串行執行比例和交互開銷。所以多核處理器的發展趨勢是合理劃分任務、減少核間通信以及加強程序的並行性。根據阿姆達爾定律,爲了提升多核處理器的性能,合理劃分任務和減少核間通信是關鍵點。

1.合理劃分任務 整個系統任務可以按數據、功能等多個維度劃分爲若干子任務,分別由不同的核來執行這些子任務。  數據分解,把不同的數據報文交給不同的核處理。比如,可以按照接收數據報文的接口來劃分任務,不同接口的數據報文由不同的核處理,可以避免不同網段的流量競爭處理器資源,也可以用來保障核心業務。另一種可能的方案是按協議類型來區分,由一到多個核處理HTTP協議,其它核處理其它協議。  功能分解,把不同的功能交給不同的核處理。比如,其中一個核專門負責加解密報文處理,另一個核專門負責病毒掃描等。  靜態調度,相同的核永遠處理相同的任務。靜態調度算法不涉及到任務切換,因此係統開銷較小,但存在任務分配不公平的情況。  動態調度,同一個核可能處理不同的任務。採用動態調度算法的系統可以根據每個核的實際負載情況動態分配任務,這樣可以最大限度的利用每個核的處理能力。  合理的任務分解方案使得不同任務相對獨立,既降低了串行執行比例,也減少了核間通信的需求。

    2.減少核間通信 減少核間通信的技術主要包括異步並行、無鎖編程等技術。  異步並行技術與同步並行技術相對應。後者是同步處理的一般模式,指的是一個核執行任務到某個時刻必須與其它核進行數據交換,然後才能繼續進行;前者是對同步處理的優化,數據交換不必嚴格在某個時刻進行,可以集中進行數據交換,從而減少交互的次數和時間。  無鎖編程是減少核間通信的另一個思路,通過精心設計的數據結構,兩個核可以完全不進行任務同步,同時又能協同進行工作

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