專利名稱:計算能力增強的可重構微服務器的制作方法
技術領域:
本發明涉及計算技術領域,更具體地說,本發明涉及一種計算能力增強的可重構微服務器。
背景技術:
隨著數據中心和企業級領域的服務器規模的不斷增大,數據中心和大系統能效低下的問題愈發突出和嚴重,系統功耗無謂消耗和浪費,數據中心的功耗利用率不足10%,由此帶來的總體成本問題也越發突出。有數據顯示,全球每年服務器消耗的能源費用已經占到了服務器采購費用的一半。在這樣的背景下,微服務器(Micro Server)逐漸進入人們的視野,其概念的提出最早可以追溯到2009年,它是在英特爾關于云數據中心對低功耗服務器需求的基礎上倡導的一種創新理念,包括英特爾、AMD、ARM在內的主要處理器廠商都推出了面向微服務器應用的低功耗處理器,HP、Dell等主要服務器廠商也相繼推出了其微服務器產品。微服務器采用新型的低功耗處理器,相比傳統服務器能效更高,體積更小,因此在相同尺寸的機箱內集成密度更高,目前主要用于對計算資源需求較小的獨立主機、靜態Web頁面支持等網絡服務。目前的微服務器為了提高系統的能效和節點密度,主要采用低功耗處理器或其它低功耗小型化器件來構建系統,導致其在計算能力、存儲能力、I/o能力等各方面的絕對性能低于現有的標準服務器,限制了微服務器的應用和推廣。因此,希望能夠提供一種計算能力增強的并且不會造成系統功耗無謂消耗和浪費的服務器。
發明內容
本發明所要解決的技術問題是針對現有技術中存在上述缺陷,提供一種計算能力增強的并且不會造成系統功耗無謂消耗和浪費的服務器。根據本發明,提供了一種計算能力增強的可重構微服務器,包括微處理器、系統總線、內存、可重構加速部件以及輸入輸出外設;其中,微處理器、內存和輸入輸出外設連接至系統總線,從而微處理器通過系統總線與內存和輸入輸出外設進行數據交換;而且,微處理器直接連接至可重構加速部件;并且,可重構加速部件連接至系統總線,從而通過系統總線與內存和輸入輸出外設進行數據交換;其中,可重構加速部件包括可重構指令擴展單元、可重構硬件線程單元以及可重構任務加速單元中的至少一個。優選地,可重構加速部件采用可編程邏輯器件實現。優選地,可重構指令擴展單元直接與微處理器相連,用于將特定運算或操作以特定的指令擴展單元的形式實現;而且,可重構指令擴展單元直接與微處理器的數據通路相連,并且直接執行以特定的指令擴展單元的形式實現的特定運算或操作。優選地,可重構硬件線程單元中包含的多個硬件線程,所述多個硬件線程在可重構加速部件上運行以便實現與軟件線程相同的運算功能,從而通過硬件線程的方式實現對軟件應用的線程級加速。優選地,可重構任務加速單元用于實現對應用的任務級加速,并且被重構為具有實現完整應用任務能力的專用硬件邏輯單元,并且可重構任務加速單元直接通過系統總線或可重構加速部件的私有接口來控制和訪問內存和輸入輸出外設,從而將整個應用負載從微處理器轉移到可重構加速部件。本發明提供了一種將低功耗微處理器和可重構加速部件緊密耦合的可重構微服務器系統架構,能夠通過對可重構加速部件進行硬件重構,實現面向目標應用需求的可重構運算加速模塊,增強系統的運算能力,提高系統性能和效率。而且,本發明提供的可重構微服務器系統在指令級、線程級、任務級從低到高三個邏輯層次增強系統計算能力的結構和方法,實現對各種規模不同特征的應用優化與運算加速。
結合附圖,并通過參考下面的詳細描述,將會更容易地對本發明有更完整的理解并且更容易地理解其伴隨的優點和特征,其中圖1示意性地示出了根據本發明第一實施例的計算能力增強的可重構微服務器的功能框圖。圖2示意性地示出了根據本發明第二實施例的計算能力增強的可重構微服務器的功能框圖。需要說明的是,附圖用于說明本發明,而非限制本發明。注意,表示結構的附圖可能并非按比例繪制。并且,附圖中,相同或者類似的元件標有相同或者類似的標號。
具體實施例方式為了使本發明的內容更加清楚和易懂,下面結合具體實施例和附圖對本發明的內容進行詳細描述。隨著半導體技術和計算理論的發展,一些非傳統的計算形式也逐漸興起,可重構計算就是非常重要的一類。傳統計算機系統中硬件是固定的,不可改變,人們通過對運行在其硬件之上的軟件進行編程來實現計算等功能,可重構計算采用FPGA (現場可編程門陣列)等可編程邏輯器件,能夠通過對其硬件邏輯進行編程,改變系統中硬件的結構和功能,從而極大的提高了系統的靈活性,通過實現面向特定應用的專用硬件結構,能夠極大的提高系統的總體性能和效率。同時,可重構計算所采用的FPGA等可編程器件的功耗也相對較低,如果能夠與微服務器相結合,必然能夠在保持低功耗的同時,極大的提高微服務器的處理能力。而且,在指令級、線程級、任務級從低到高三個邏輯層次實現系統計算能力增強的結構和方法,能夠靈活組合與重構,實現對各種規模、不同特征的應用優化與運算加速,充分發揮可重構微服務器的可重構運算加速能力。由此,本發明提供了一種將低功耗微處理器和可重構加速部件緊密耦合的可重構微服務器系統架構,能夠通過對可重構加速部件進行硬件重構,實現面向目標應用需求的可重構運算加速模塊,增強系統的運算能力,提高系統性能和效率。而且,本發明提供的可重構微服務器系統在指令級、線程級、任務級從低到高三個邏輯層次增強系統計算能力的結構和方法,實現對各種規模不同特征的應用優化與運算加速。〈第一實施例〉圖1示意性地示出了根據本發明第一實施例的計算能力增強的可重構微服務器的功能框圖。根據本發明實施例的計算能力增強的可重構微服務器包括微處理器10、系統總線100、內存20、可重構加速部件40以及輸入輸出外設(以下簡稱I/O外設)30。其中,微處理器10、內存20和輸入輸出外設30連接至系統總線100,從而微處理器10通過系統總線100與內存20和輸入輸出外設30進行數據交換。微處理器10直接連接至可重構加速部件40 ;并且,可重構加速部件40連接至系 統總線100,從而通過系統總線100與內存20和輸入輸出外設30進行數據交換。例如,I/O外設30包括但不限于硬盤、網絡、USB等設備。其中,例如,可重構加速部件40包括可重構指令擴展單元41、可重構硬件線程單元42以及可重構任務加速單元43。也就是說,可重構加速部件能夠重構為可重構指令擴展單元41、可重構硬件線程單元42、可重構任務加速單元43等可重構運算加速模塊,從而實現在指令級、線程級、任務級三個層次的計算加速。而且,雖然在上述具體實施例中,示出了可重構加速部件40包括可重構指令擴展單元41、可重構硬件線程單元42以及可重構任務加速單元43的示例,但是應該理解的是,在具體實現時,可重構加速部件40可能只包括可重構指令擴展單元41、可重構硬件線程單元42以及可重構任務加速單元43中的一個或者兩個。其中,可重構指令擴展單元41直接與微處理器相連,用于將特定運算或操作以特定的指令擴展單元的形式實現;而且,可重構指令擴展單元41直接與微處理器的數據通路相連,并且直接執行以特定的指令擴展單元的形式實現的特定運算或操作。對于一些應用中常用的運算或操作,可以將其抽象為擴展指令,在可重構指令擴展單元中實現,作為微處理器的指令集擴展實現運算加速。可重構指令擴展單元41通過微處理器接口直接與微處理器緊密相連,能夠將一些常用或效率較低的運算或操作以特定的指令擴展單元的形式實現,通過硬件流水或并行的方式優化和提高原有操作的執行性能和效率。而且,可重構指令擴展單元41直接與微處理器的數據通路相連,當處理器固有指令效率較低或運算資源受限時,可以將這部分指令操作在可重指令擴展單元41執行,從而擴展了微處理器的運算資源,增強了其運算能力。可重構硬件線程單元42中包含的多個硬件線程(例如圖1中的硬件線程1、硬件線程2、…、硬件線程3、硬件線程4),所述多個硬件線程在可重構加速部件上運行以便實現與軟件線程相同的運算功能,從而通過硬件線程的方式實現對軟件應用的線程級加速。可重構硬件線程單元42通過硬件線程的方式實現對傳統軟件應用的線程級加速。硬件線程運行在可重構加速部件上,能夠實現與軟件線程相同的運算功能,可以將應用中一些計算量大,性能受限的線程轉移到可重構硬件線程單元中,以硬件線程的形式實現。可重構硬件線程單元42的運算加速能力主要體現在兩個方面,一方面是能夠提高線程的并行度,傳統軟件線程運行在微處理器中,雖然在概念上是并行執行的,但實際上只能復用處理器內部的有限的計算資源,而在可重構硬件線程單元內,能夠實例化大量的硬件線程單元,為每個線程提供獨立的計算資源,實現真正的線程并行;另一方面是能夠提高單個線程的運算性能和效率,可重構硬件線程單元能夠重構為針對應用優化的專用硬件邏輯結構,避免了指令調度、進程切換等帶來的額外開銷,還可以通過流水、并行等方式提高運算性能,實現線程執行效率的提高和運算性能的增強。可重構任務加速單元43用于實現對應用的任務級加速,它能夠根據實際應用需求,重構為具有實現完整應用任務能力的專用硬件邏輯單元。并且,可重構任務加速單元43可以直接通過系統總線或可重構加速部件的私有接口來控制和訪問內存20和輸入輸出外設30,從而將整個應用負載從微處理器轉移到可重構加速部件,減小了微處理器的運算負載,同時還可以通過流水化、并行化等硬件優化方法提高其運算性能,實現應用的任務級運算加速。在可重構微服務器的應用中,上述三種功能部件可以根據應用特點和實際需求,靈活組合與重構,實現微處理器與可重構加速部件的高效協同,提高系統的整個運算性能的效率。<第二實施例>圖2示意性地示出了根據本發明第二實施例的計算能力增強的可重構微服務器的功能框圖。與圖1所示的第一實施例不同的是,在圖2所示的根據本發明第二實施例的計算能力增強的可重構微服務器中,可重構加速部件30可以連接獨立的內存21、獨立的I/O外設31和其它擴展接口,從而擴展和增強系統資源和能力。此外,需要說明的是,除非特別指出,否則說明書中的術語“第一”、“第二”、“第三”等描述僅僅用于區分說明書中的各個組件、元素、步驟等,而不是用于表示各個組件、元素、步驟之間的邏輯關系或者順序關系等。可以理解的是,雖然本發明已以較佳實施例披露如上,然而上述實施例并非用以限定本發明。對于任何熟悉本領域的技術人員而言,在不脫離本發明技術方案范圍情況下,都可利用上述揭示的技術內容對本發明技術方案作出許多可能的變動和修飾,或修改為等同變化的等效實施例。因此,凡是未脫離本發明技術方案的內容,依據本發明的技術實質對以上實施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發明技術方案保護的范圍內。
權利要求
1.一種計算能力增強的可重構微服務器,其特征在于包括微處理器、系統總線、內存、可重構加速部件以及輸入輸出外設; 其中,微處理器、內存和輸入輸出外設連接至系統總線,從而微處理器通過系統總線與內存和輸入輸出外設進行數據交換; 而且,微處理器直接連接至可重構加速部件; 并且,可重構加速部件連接至系統總線,從而通過系統總線與內存和輸入輸出外設進行數據交換; 其中,可重構加速部件包括可重構指令擴展單元、可重構硬件線程單元以及可重構任務加速單元中的至少一個。
2.根據權利要求1所述的計算能力增強的可重構微服務器,其特征在于,可重構加速部件采用可編程邏輯器件實現。
3.根據權利要求1或2所述的計算能力增強的可重構微服務器,其特征在于,可重構指令擴展單元直接與微處理器相連,用于將特定運算或操作以特定的指令擴展單元的形式實現;而且,可重構指令擴展單元直接與微處理器的數據通路相連,并且直接執行以特定的指令擴展單元的形式實現的特定運算或操作。
4.根據權利要求1或2所述的計算能力增強的可重構微服務器,其特征在于,可重構硬件線程單元中包含的多個硬件線程,所述多個硬件線程在可重構加速部件上運行以便實現與軟件線程相同的運算功能,從而通過硬件線程的方式實現對軟件應用的線程級加速。
5.根據權利要求1或2所述的計算能力增強的可重構微服務器,其特征在于,可重構任務加速單元用于實現對應用的任務級加速,并且被重構為具有實現完整應用任務能力的專用硬件邏輯單元,并且可重構任務加速單元直接通過系統總線或可重構加速部件的私有接口來控制和訪問內存和輸入輸出外設,從而將整個應用負載從微處理器轉移到可重構加速部件。
全文摘要
本發明提供了一種計算能力增強的可重構微服務器,包括微處理器、系統總線、內存、可重構加速部件以及輸入輸出外設;其中,微處理器、內存和輸入輸出外設連接至系統總線,從而微處理器通過系統總線與內存和輸入輸出外設進行數據交換;而且,微處理器直接連接至可重構加速部件;并且,可重構加速部件連接至系統總線,從而通過系統總線與內存和輸入輸出外設進行數據交換;其中,可重構加速部件包括可重構指令擴展單元、可重構硬件線程單元以及可重構任務加速單元中的至少一個。
文檔編號G06F15/76GK103020008SQ201210575648
公開日2013年4月3日 申請日期2012年12月26日 優先權日2012年12月26日
發明者謝向輝, 吳東, 原昊, 錢磊, 張昆, 臧春峰, 郝子宇, 張魯飛, 李璽, 嚴忻凱, 鄔貴明, 方興, 葉楠, 胡蘇太, 韋海亮, 周浩杰, 陶志榮 申請人:無錫江南計算技術研究所