a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 可重構計算:高效靈活的計算技術

可重構計算:高效靈活的計算技術

作者: 時間:2010-08-18 來源:網絡 收藏

第二種情況是利用有限的資源處理大規模應用。如果某個規模較大的應用在實現時所需的邏輯資源超過了邏輯器件可以供給的最大資源量,這時系統會將大的應用劃分為多個在執行時具有先后次序的子部分。在應用執行過程中,某個先執行的子部分完成工作后,可以在其占據的器件資源上按次序配置后續的應用子部分,以此來保證應用的正確實現,如圖4所示。

本文引用地址:http://www.j9360.com/article/191609.htm


運行時可重構技術研究的深入和成熟還能夠促進其他相關領域的技術得到長足進展,例如進化硬件和系統容錯技術等。但在當前,運行時可重構技術還面臨著一些關鍵問題亟待解決:

可重構邏輯器件的支持。可重構技術的發展對可重構邏輯器件有著很強的依賴性。當前的器件功能和性能都有了很大提升,已經能夠對運行時可重構技術提供相關支持。例如,運行時可重構需要能夠在不影響任務正常執行的情況下,對器件的空閑資源進行配置。相應的,當前的商業可重構邏輯器件能夠提供部分重構(partial-reconfiguration)的能力。但是現在存在的最大問題在于器件配置過程耗費的時間比較長。隨著芯片上的可重構邏輯資源數量越來越多,相應的配置文件規模也越來越大,配置過程需要毫秒量級的時間,但是可重構邏輯器件上的應用是以微/納秒量級的時間在執行,因此配置過程成為了整個系統的瓶頸。經常會發生應用執行到一半,但后續功能還沒有配置好的情況。這時候應用的執行可能會使用到錯誤的配置,因此它必須等待,這極大地降低了系統性能。還有一種可重構邏輯器件能夠為運行時可重構技術提供支持,它被稱做多上下文(multi-context)器件。這種器件的特點在于,它將器件的多個配置文件存儲在芯片上,當需要發生功能切換時,能夠在單周期內完成器件的配置。但是這種器件技術目前尚未成熟。

軟/硬件任務的劃分。在可重構計算系統中,存在著可重構邏輯器件和通用處理器兩大部分。如何使一個應用高效運行在可重構計算系統上,首先就需要對應用進行任務劃分,將軟/硬件任務分別映射到通用處理器和可重構邏輯器件上執行。在任務的劃分中,要充分考慮到任務執行的特征,把那些負擔繁重并且性能要求高的計算任務劃分為硬件任務,同時把那些不適合用硬件加速執行的任務和對硬件資源進行管理的任務劃分為軟件任務。軟/硬件任務間的通信是一個需要重點思考的問題。當前的很多可重構計算系統采用的都是軟/硬件任務非并行執行的方式。當軟件任務執行到某個點的時候,會將應用執行的控制權交給可重構邏輯器件,然后軟件任務會一直等待可重構邏輯器件將計算結果和控制權返回給通用處理器再繼續執行。這無疑降低了系統的性能。更先進的做法是軟件任務可以和硬件任務并行執行,兩者間以中斷或者其他方式互相通告狀態和傳遞數據。但是這么做會引入數據一致性、任務間同步等問題,加大了系統管理的難度。軟/硬件任務的劃分一直以來都是在嵌入式系統研究中的難點,它的好壞直接影響到了應用的執行性能,但至今還是缺乏成熟的算法支持。

任務調度的支持。任務調度是傳統操作系統中的關鍵技術。在運行時可重構計算系統中,調度算法的好壞也直接影響到系統性能的高低。特別是針對大規模應用中的硬件任務不能夠一次性地配置到器件上的情況,任務調度顯得尤其重要。任務調度主要有兩個目的:一個是優化器件的配置序列,另一個是充分利用器件上的資源。任務調度器應該盡可能地將要同時執行或者先后執行次序比較緊密的任務一次性地調度到器件上,同時在將任務調出器件的時候也要考慮到任務是否會在后續執行中又被使用到。調度器對配置序列進行優化,能夠減少配置過程帶來的時間開銷,減輕配置時間太長給系統帶來的瓶頸影響。器件上的資源是非常寶貴的,在任務繁重的時候應該保證有盡可能多的資源加入到計算當中。而且在對器件進行部分配置的時候,也要重點考慮將那些當前空閑的資源配置為新的功能,以減少后面可能會導致的“抖動”(器件上的現有功能被新的配置覆蓋后,應用執行過程又需要該功能時只能再次將該功能重新配置到器件上)。另外,如果應用對于能耗要求較高,任務調度還需要注意到器件上各個時鐘域里的資源利用情況,可以將功能集中實現在某一區域以達到降低能耗的目的。在后續的運行時可重構技術的研究探索中,還有可能涉及到軟/硬件任務遷移(migration)的情況,這就對調度器提出了更高的要求。

未來方向

上述是當前的運行時可重構研究中需要解決的幾個關鍵問題,國內外已經有很多的機構都在潛心研究,希望能有所突破。雖然目前可重構已經有了很大的發展,但是為了能夠將它應用到更廣闊的空間,還需要做更多的工作。

并行的可重構計算系統架構。雖然可重構計算系統有著較高性能和極強的靈活性,但在很多應用場合中,還是會碰到一些問題。首先還是器件問題。相對于通用處理器,當前的主流可重構邏輯器件的頻率仍舊較低,這就對進一步加快應用執行性能產生了阻礙。其次,可重構計算系統不能很好地處理大型應用。因為系統處理能力和資源數量的約束,可重構計算系統對于大型應用的實現還存在著很多問題。最后是應用領域的獨特需求。目前在很多可重構計算系統適用的應用領域中,如穿戴計算、汽車電子等,系統分布化已經成為了趨勢,可重構計算系統務必要能夠滿足應用需求。基于以上幾點,開發并行的可重構計算系統架構已經成為今后必然的趨勢。并行的可重構計算系統中包含有多個可重構計算系統,它們彼此間以可重構的網絡相連接。并行可重構計算系統中存在著三個層次上的并行:第一是單個系統中可重構邏輯器件上的多個硬件任務間的并行;第二是單個系統中通用處理器上的軟件任務和可重構邏輯器件上的硬件任務間的并行;第三是各個系統間軟/硬件任務的并行。并行可重構計算系統中還存在著兩個層次上的重構:一個是單個系統內部的器件重構,另一個是各個系統間的互連重構。并行可重構計算系統的結構要比傳統的分布式并行系統復雜很多,給系統管理和應用帶來了很多新的難題。

統一的應用開發模型。當前可重構計算系統沒有被廣泛應用,還有一個很重要的因素就是現在的可重構計算系統并沒有提供給應用開發者統一的應用開發模型。因為可重構計算系統中有軟件任務和硬件任務的區分,而在應用開發者中占絕大多數的軟件程序員們缺乏對硬件平臺的理解和編寫硬件任務的能力。同時,軟件程序員和硬件設計者之間的溝通又往往不夠充分。這些都導致了應用開發者利用可重構計算技術時的困難重重。又因為目前可以構成可重構計算系統的硬件資源門類繁多,在一個系統上開發的應用缺乏良好的移植性,所以沒有一個很好的方法能夠幫助開發者們快速高效地開發應用。基于以上兩點,現在需要做的是將可重構計算系統的底層實現對應用開發者透明化,通過提供給應用開發者們統一的應用開發模型,使他們能夠按照慣常的開發流程進行可重構計算系統上的應用開發。他們編寫的代碼具有一定的可移植性,經過可重構系統集成開發環境處理后,可以直接在相應的可重構計算系統上運行。這個“統一化”的過程是復雜和困難的,但是如果希望可重構計算技術能夠深入人心,讓廣大應用開發者認可并使用可重構計算技術,那么這個過程就是必需的。

可重構計算技術是一項新興的能夠有效提高系統計算能力的技術。它的誕生是為了滿足人們對計算性能永無窮盡的需求,在很多領域都有著廣闊的應用前景。目前,可重構計算技術的研究尚處于初級階段,還有很多技術難題沒有得到圓滿解決。但是在可以預見的將來,伴隨著可重構邏輯器件技術的不斷進步,可重構計算技術一定能夠在更多的場合被應用,發揮出更多的效用。


上一頁 1 2 3 4 下一頁

評論


相關推薦

技術專區

關閉