国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用并行計算加速高性能計算應用程序

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Uri Mishol ? 2022-06-14 14:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近年來,某些涉及復雜、大規模數據處理的軟件領域的復雜程度越來越高。因此,現在在現代硬件上處理需要數小時,有時甚至數天或數周。處理各種模擬、能源分析、計算機輔助設計和計算機輔助制造 (CAD/CAM)、圖形渲染、生命科學、財務和數據轉換的軟件尤其如此。加速這些軟件包中的處理功能不僅可以提高用戶滿意度,而且可以在使用該軟件的組織中實現更高的準確性、更好的決策和更高效的工作程序。因此,軟件加速已成為這些領域軟件組織的重中之重。

一種明顯的軟件加速方法是投資于更強大的計算機硬件。隨著處理器技術的不斷改進,這種方法作為短期決策是有效的。然而,從長遠來看,它往往會失敗,因為處理需求也往往會持續增加,并且在許多情況下結果不符合應用要求。對于大規模部署的軟件,對強大服務器的投資可能非常昂貴。由于這些因素,軟件組織越來越多地尋求并行和分布式處理系統作為加速耗時的計算應用程序的經濟有效的方式。

并行計算選項

使用并行計算來加速高度復雜的計算過程并不是一個新概念。這種方法已經過測試和驗證,并且隨著最近價格實惠的多核和基于通用圖形處理單元 (GPGPU) 的技術的涌入,它現在比以往任何時候都更加重要。

然而,選擇正確的技術來加速耗時的計算過程遠非一個簡單的決定。實現并行或分布式系統的各種選項在最終的加速潛力以及直接開發成本和間接/長期成本(維護、基礎設施、能源等)方面存在很大差異。在考慮將現有代碼遷移到并行或分布式架構的平臺時尤其如此。與更好的替代方案相比,選擇不太理想的系統可能會導致直接和間接成本顯著增加。

選擇正確的并行或分布式架構的部分不確定性在于 耗時過程的多樣性,每個過程都涉及不同的要求和考慮。在為特定流程選擇加速方法時,重要的是要考慮所涉及場景的特征和限制。開發人員可以使用一些參數來表征高度計算的過程,然后選擇適當的加速方法。

CPU 密集型與 I/O 密集型進程

某些類型的應用程序(例如數據倉庫和企業資源規劃)以廣泛的數據訪問為特征,而其他類型的應用程序(例如模擬、渲染和地形分析)通常更加強調算法或受 CPU 限制的復雜性。如果要并行執行的應用程序部分是算法而不是數據密集型(也就是說,它們受 CPU 限制多于 I/O 限制),則在本地網絡上并行執行,或者在某些情況下超過應考慮廣域網 (WAN),因為它有效地利用了可用的硬件資源。對于數據綁定較多且涉及讀取和寫入大量數據的進程,所選擇的架構應解決預期的數據瓶頸,重點是高吞吐量磁盤和網絡系統。

高度隔離與環境相關的過程

此特性指的是要并行執行的進程與主機環境之間的交互級別——特別是要并行運行的應用程序的大小和復雜性(可執行文件、庫和二進制依賴項)、文件系統活動、以及訪問其他環境數據庫,例如注冊表和環境塊。一個高度隔離的應用程序涉及最少的此類交互;然而,依賴于運行時環境的應用程序通常需要并行計算體系結構來為相關計算機預先配置所需的全套軟件和數據文件,或者包括一個虛擬化組件來模擬每個計算節點上的運行環境。存在幾種并行計算環境中的虛擬化方法,

令人尷尬的并行與固有的串行過程(以及介于兩者之間的所有過程)

使構建并行計算架構的開發工作變得復雜的一個問題是應用程序是否適合“切片”成多個可并行運行的獨立可執行部分。一些遺留應用程序需要密集的代碼結構重構才能實現這一點。其他人需要很少或根本不需要工作來準備應用程序以進行并行執行。最常見的例子是批量順序數據處理,其中相同的過程一遍又一遍地執行,每次都使用不同的輸入集。此類示例有時被描述為“令人尷尬的并行”,以表明將它們轉換為并行執行模型的相對簡單性。另一方面,一些應用程序“本質上是串行的”,并不適合并行執行。有了這些應用程序,

高端與經濟高效的加速要求

商業并行計算平臺成本差異很大,高端系統比低端系統高幾個數量級。因此,通過遷移到并行計算環境來定義性能改進預期非常重要。根據定義,通過并行計算加速是一種收益遞減的舉措。在許多情況下,將執行時間減少 50% 到 70% 就足以使應用程序性能發生根本性的變化,而將其提高到 80% 到 90% 的額外價值并不值得投資。雖然低端和中端并行計算系統提供了合理的性能改進,但高端系統提供了 10% 到 20% 的額外加速,但其顯著的額外成本并不總是合理的。

舊版應用程序與新開發的應用程序

出于顯而易見的原因,轉換最初設計用于串行執行的遺留應用程序比設計用于并行執行的新應用程序要耗時和昂貴得多。大多數并行計算平臺都提供允許軟件開發人員修改應用程序代碼以利用該平臺的 API。一些 API 比其他 API 更復雜,建議開發人員具有這些 API 的先前經驗,以便與平臺有效集成。

通過并行計算實現軟件加速的方法

如前所述,商業并行計算平臺的定價在低端和高端產品之間存在很大差異。此外,高端系統需要相當復雜的適配和管理,軟件許可和專業服務的綜合成本使價格差異更大,高端系統的成本有時比簡單系統高幾個數量級。

此外,在將現有應用程序遷移到并行計算架構時,重要的是要考慮適應并行計算平臺(專業服務、編程和質量保證)所涉及的遷移成本。因此,建議選擇一種方法,該方法將提供最少的功能集以充分滿足軟件項目的需求,而無需投資于不必要的昂貴的高端系統。

以下概述檢查了當前的并行計算平臺類別,并解釋了每個類別與上一節中介紹的特征的關系。

使用多核和/或 GPGPU 進行本地并行化

近年來,隨著強大的多核 CPU 和 GPGPU 的引入,在單機內使用并行計算資源加速計算過程的潛力已顯著增長。雖然使用這些技術進行本地并行化的能力仍然受到硬件規格的限制,但在許多情況下,它們提供了一種具有成本效益的低端替代全面分布式系統。并行本地化還可以解決投資某些分布式計算技術所需的虛擬化技術的需要。使用多核和/或 GPGPU 的好處包括:

多核利用率:可以修改 CPU 綁定比 I/O 綁定更多的應用程序,以將不同的可執行部分作為單獨的進程并行運行。當今的現代操作系統 (OS) 可以識別多個 CPU 內核,并且可以自動管理并行進程并將每個進程發送到使用不同的內核運行,從而實現有效的并行化。在具有簡單并行分離潛力的應用中,這通常是一種成功的方法。這種方法的主要問題是硬件限制,因為每個系統中的內核數量是有限的,并且通常所有進程只共享一個磁盤驅動器。但是,可以使用 IncrediBuild-XGE(圖 1)之類的系統來避免這些問題,該系統允許并行使用多個內核的應用程序自動使用本地網絡中的所有可用內核。

GPGPU:這些組件正在迅速興起,成為使用 PC 和服務器中現有并行資源實現加速的另一種方式。GPU 最初設計用于與一般處理任務并行處理面向圖形的處理任務,現在可用于處理非圖形處理任務,硬件供應商針對具有多個強大 GPU 的系統來推廣這種方法?;?GPU 的并行計算在線程級別執行(每個進程有多個并行線程,每個線程使用不同的 GPU)并涉及使用專用 API,例如 OpenCL 和 CUDA,這需要專業知識,有時還需要大量的開發工作。

圖 1:使用進程虛擬化將進程分配到本地網絡上的空閑資源。

pYYBAGKoKwuAdH2EAAGoObBOvW4946.png

內部(非通用)分布式計算實現

在涉及簡單并行化挑戰的場景中,其中目標應用程序高度孤立、令人尷尬地并行(或接近它),并且可以在不需要投資高端基礎設施的情況下獲得合理的加速結果,開發一個特定于應用程序的應用程序可能是可行的分布式計算實現。最簡單的示例將涉及在單獨的預定義服務器上并行運行應用程序的不同部分。目標應用程序的相對簡單性可能使創建專有系統所涉及的開發和維護成本與改編商業系統相當,甚至更便宜。

這種方法的另一個優點是在開發專有系統時實現了高度的靈活性。然而,對于除了最簡單的場景之外的幾乎任何場景,在內部開發并行計算實現可能會導致昂貴的持續維護工作和處理通用系統已經解決的問題的復雜性,例如錯誤處理、可用性、可伸縮性、動態資源分配、管理要求和報告。

計算集群

計算集群是一組專用于共享應用程序工作負載的服務器。集群中的服務器運行同構環境,包括最新版本的運行時環境(應用程序和二進制依賴項)和對 I/O 文件的共享訪問。擁有諸如計算集群之類的專用計算環境消除了對虛擬化的需求(參見上一節關于高度隔離與環境相關的進程),并提供了對計算集群的有效集中管理。這種方法的缺點是:

維護運行該軟件的昂貴服務器的專用場會產生額外成本,并且不會利用連接到網絡的現有硬件中未使用的計算能力。

集群通常專用于單個應用程序,不能支持多個應用程序。

將現有應用程序遷移到計算集群平臺通常涉及大量軟件開發以使應用程序適應使用集群 API。

基于集群的系統可以與高吞吐量存儲以及網絡硬件和軟件相結合,以優化具有高端性能要求的數據綁定應用程序的性能。

網格計算

網格計算在某種意義上類似于集群計算,它涉及一組致力于解決一個共同問題的計算機,但不同于集群計算,它允許在同一個網格中混合異構系統(不同的操作系統和硬件)。網格系統也不限制對單個應用程序的使用,并且能夠對連接到網格的系統進行更分布式的控制和管理。最后,就所涉及的節點數量而言,網格允許最大規模的分布式系統架構,大型系統有時會達到數千個互連節點。

一些網格系統不僅利用專用服務器的綜合計算能力,還允許 PC 和工作站在運行其他計算任務時為網格貢獻空閑的處理器周期。例如,使用 Microsoft Word 等文字處理工具編寫文檔的用戶可以同時將 80% 到 90% 的空閑處理能力貢獻給在網格上運行的計算任務。這種同時利用可以顯著提高網格的潛在計算能力;然而,為了實現這一點,在網格上運行的應用程序需要修改以使用網格系統的 API。應用程序對環境的依賴程度越高,應用程序代碼的更改就越廣泛,以允許其利用非專用機器上的可用計算能力。

網格計算系統通常是具有最全面的特性集和功能的分布式并行處理產品。因此,它們在所需的專業知識方面也往往相當復雜,無論是在開發工作(將現有代碼遷移到平臺 API)還是在持續的維護和管理工作中。因此,建議在考慮基于網格的方法時評估這些方面。

網格系統可以是商業的或開源的。開源系統成本較低,但往往會留下項目未涵蓋的開放端(調度、管理和物理實施方面),并且需要內部開發或與項目開發社區合作。因此,仔細評估完成開源系統中缺少的組件所涉及的總擁有成本非常重要。一些商業網格計算產品提供了更完整的功能集。

網格計算產品往往處于并行分布式系統價格范圍的最高端。與基于集群的系統一樣,基于網格的系統可以與高端產品相結合,以優化網絡和存儲瓶頸。

公共計算云

亞馬遜的 EC2 和微軟的 Azure 平臺等公共云是一種計算形式,在這種計算形式中,云用戶通過 Internet 從虛擬化計算場購買計算能力,而不是在存儲在組織位置的計算機上運行的私有云。支付模式靈活,允許用戶根據需求增減算力,只為隨時間使用的算力付費。這大大減少了對現場硬件和基礎設施進行長期投資的需要。公有云傳統上用于業務應用程序,強調負載平衡要求而不是加速計算過程,但公有云高性能計算系統越來越受歡迎。

公有云高性能計算的優勢包括:

靈活的按需付費許可

無需投資和維護專用硬件

不要求高端性能的應用的有效選擇

缺點包括:

隨著時間的推移,服務成本可能會很高

當敏感數據從組織的服務器傳輸到 Internet 時會引發安全問題

在某些情況下,通過 WAN 連接上傳和下載大量數據的延遲可能會造成性能瓶頸

需要維護虛擬系統映像或修改平臺 API 的代碼或兩者兼而有之,這可能非常耗時且需要專業知識

創建對公共云供應商和開放 Internet 連接可用性的依賴

應對異質性挑戰的新方法

在加速與計算環境交互的應用程序(讀/寫文件、二進制可執行文件、動態鏈接庫以及讀取注冊表和環境值)時,傳統分布式計算系統面臨挑戰。

一種方法是專門為分布式應用程序預裝所需的運行時環境和文件的計算集群。這可以滿足應用程序的要求,但需要對專用服務器進行投資,并且不能利用連接到網絡的現有 PC 和工作站中可用的計算能力。它還需要維護集群并確保它始終運行最新版本的運行時和數據環境。

虛擬化允許服務器通過每次加載不同的系統映像來按需更改運行時環境,從而提高可管理性并增加靈活性。但是,虛擬映像初始化形成了一個額外的瓶頸,并且與集群系統一樣,它不能有效地利用現有計算機上有時大量的空閑處理能力。

一些網格平臺提供的 API 在集成到應用程序代碼時允許使用遠程機器資源,而無需對這些機器進行大量預配置。在某些情況下,這有效地使非專用機器能夠連接到電網并貢獻它們的空閑處理能力。但是,這僅適用于某些場景,并且在大多數情況下需要對應用程序代碼進行大量修改。

通過像 IncrediBuild-XGE 這樣的平臺進行流程虛擬化是一種新的并行分布式計算方法,它通過將基于集群的系統的遷移和部署相對容易性與網格系統的計算強度和靈活性相結合來實現軟件加速。

使用進程虛擬化,啟動器機器發送進程以在連接到網絡的其他機器上并行執行。然后,這些進程將與當時在操作系統上運行的任何其他進程一起在這些機器上運行,但將在一個特殊的自包含虛擬環境中運行,該環境完全模擬啟動器的環境,包括已安裝的應用程序、文件系統、注冊表和環境。這些虛擬進程將僅使用遠程機器的空閑處理能力,以免干擾與網格活動無關的并發運行進程。資源協調模塊還確保隨時將進程分配給系統中最強和最可用的節點。

由于虛擬化是在進程級別執行的,因此無需為平臺編寫代碼并將特定于平臺的 API 集成到應用程序源代碼以將應用程序遷移到網格。相反,IncrediBuild-XGE 使用一個緊湊的 XML 定義文件,該文件指定哪些進程應該被外包給網格上的遠程計算機,哪些應該始終在啟動器上運行。與需要大量修改源代碼的系統相比,這使得網格啟用速度明顯加快。例如,轉換已經使用本地并行化(在單臺機器上并行 CPU 或內核中運行的進程)的應用程序通常需要不到一個小時的時間。由于不再需要維護虛擬映像庫或集群環境,因此也降低了持續維護成本。

最終結果是一個分布式處理應用程序加速平臺,可有效加速新舊應用程序,實現快速集成并降低維護成本。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11277

    瀏覽量

    224958
  • 計算機
    +關注

    關注

    19

    文章

    7806

    瀏覽量

    93191
  • 虛擬化
    +關注

    關注

    1

    文章

    403

    瀏覽量

    30921
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    為啥 AI 計算速度這么驚人?—— 聊聊 GPU、內存與并行計算

    提到AI,大家常說它“算得快”,其實是指AI能在眨眼間處理海量數據。可它為啥有這本事?答案就藏在“GPU+高速內存+并行計算”這trio(組合)里。咱們可以把AI要處理的數據,想象成一大堆“小任務
    的頭像 發表于 12-05 14:35 ?849次閱讀
    為啥 AI <b class='flag-5'>計算</b>速度這么驚人?—— 聊聊 GPU、內存與<b class='flag-5'>并行計算</b>

    一文看懂AI大模型的并行訓練方式(DP、PP、TP、EP)

    大家都知道,AI計算(尤其是模型訓練和推理),主要以并行計算為主。AI計算中涉及到的很多具體算法(例如矩陣相乘、卷積、循環層、梯度運算等),都需要基于成千上萬的GPU,以并行任務的方式
    的頭像 發表于 11-28 08:33 ?1849次閱讀
    一文看懂AI大模型的<b class='flag-5'>并行</b>訓練方式(DP、PP、TP、EP)

    提高RISC-V在Drystone測試中得分的方法

    ,使其更好地利用硬件資源,也可以提高Drystone的得分。 并行計算:如果可能的話,利用處理器的并行計算能力(如多核、超線程等)也可以提高性能。
    發表于 10-21 13:58

    神經網絡的并行計算加速技術

    問題。因此,并行計算加速技術在神經網絡研究和應用中變得至關重要,它們能夠顯著提升神經網絡的性能和效率,滿足實際應用中對快速響應和大規模數據處理的需求。神經網絡并行
    的頭像 發表于 09-17 13:31 ?1125次閱讀
    神經網絡的<b class='flag-5'>并行計算</b>與<b class='flag-5'>加速</b>技術

    從自然仿真到智能調度——GPU并行計算的多場景突破

    我們正在參加全球電子成就獎的評選,歡迎大家幫我們投票~~~謝謝支持隨著復雜計算問題的不斷涌現,傳統的CPU串行計算在處理大規模數據與高并發任務時逐漸顯露瓶頸。GPU(圖形處理單元)憑借其高度并行
    的頭像 發表于 09-03 10:32 ?824次閱讀
    從自然仿真到智能調度——GPU<b class='flag-5'>并行計算</b>的多場景突破

    Kintex UltraScale 純 FPGA 開發平臺,釋放高速并行計算潛能,高性價比的 FPGA 解決方案

    璞致電子PZ-KU060-KFB開發板采用Xilinx Kintex UltraScale KU060芯片,提供高密度并行計算能力,配備4GB DDR4內存、20對GTH高速收發器和多種擴展接口
    的頭像 發表于 08-18 13:28 ?720次閱讀
    Kintex UltraScale 純 FPGA 開發平臺,釋放高速<b class='flag-5'>并行計算</b>潛能,高性價比的 FPGA 解決方案

    AI芯片:加速人工智能計算的專用硬件引擎

    人工智能(AI)的快速發展離不開高性能計算硬件的支持,而傳統CPU由于架構限制,難以高效處理AI任務中的大規模并行計算需求。因此,專為AI優化的芯片應運而生,成為推動深度學習、計算機視
    的頭像 發表于 07-09 15:59 ?1564次閱讀

    高性能計算集群在AI領域的應用前景

    隨著人工智能技術的飛速發展,高性能計算集群(HPC)在AI領域的應用前景日益受到關注。HPC提供的計算能力與AI的智能分析能力相結合,為解決復雜問題和推動科學研究提供了新的動力。1、HPC與AI
    的頭像 發表于 06-23 13:07 ?1296次閱讀
    <b class='flag-5'>高性能</b><b class='flag-5'>計算</b>集群在AI領域的應用前景

    使用樹莓派構建 Slurm 高性能計算集群:分步指南!

    在這篇文章中,我將分享我嘗試使用樹莓派構建Slurm高性能計算集群的經歷。一段時間前,我開始使用這個集群作為測試平臺,來創建一個更大的、支持GPU計算高性能
    的頭像 發表于 06-17 16:27 ?1739次閱讀
    使用樹莓派構建 Slurm <b class='flag-5'>高性能</b><b class='flag-5'>計算</b>集群:分步指南!

    芯原可擴展的高性能GPGPU-AI計算IP賦能汽車與邊緣服務器AI解決方案

    芯原股份 (芯原,股票代碼:688521.SH) 日前宣布其 高性能、可擴展的GPGPU-AI計算IP的最新進展,這些IP現已為新一代汽車電子和邊緣服務器應用提供強勁賦能 。通過將可編程并行計算能力
    的頭像 發表于 06-16 10:44 ?1358次閱讀

    邊緣AI廣泛應用推動并行計算崛起及創新GPU滲透率快速提升

    是時候重新教育整個生態了。邊緣AI的未來不屬于那些高度優化但功能狹窄的芯片,而是屬于可編程的、可適配的并行計算平臺,它們能與智能軟件共同成長并擴展。
    的頭像 發表于 06-11 14:57 ?676次閱讀

    高性能計算面臨的芯片挑戰

    高性能計算(簡稱HPC)聽起來像是科學家在秘密實驗室里才會用到的東西,但它實際上是當今世界上最重要的技術之一。從預測天氣到研發新藥,甚至訓練人工智能,高性能計算系統都能幫助解決普通
    的頭像 發表于 05-27 11:08 ?1077次閱讀
    <b class='flag-5'>高性能</b><b class='flag-5'>計算</b>面臨的芯片挑戰

    讀懂極易并行計算:定義、挑戰與解決方案

    GPU經常與人工智能同時提及,其中一個重要原因在于AI與3D圖形處理本質上屬于同一類問題——它們都適用極易并行計算。什么是極易并行計算?極易并行計算指的是符合以下特征的計算任務:任務獨
    的頭像 發表于 04-17 09:11 ?818次閱讀
    讀懂極易<b class='flag-5'>并行計算</b>:定義、挑戰與解決方案

    性能飆升!使用Python并行計算榨干樹莓派算力!

    甚至微型服務器時,你是否也遇到過程序卡頓、視頻處理延遲的尷尬?今天我們就手把手教你用Python并行處理技術,讓樹莓派的性能瞬間翻倍!歡迎在評論區曬出你的優化方案,
    的頭像 發表于 03-26 17:08 ?932次閱讀
    讓<b class='flag-5'>性能</b>飆升!使用Python<b class='flag-5'>并行計算</b>榨干樹莓派算力!

    告別性能瓶頸:使用 Google Coral TPU 為樹莓派注入強大AI計算力!

    使用機器學習的應用程序通常需要高計算能力。這些計算通常發生在顯卡的GPU上。RaspberryPi并不專門設計用于運行計算密集型應用程序。但
    的頭像 發表于 03-25 09:30 ?2061次閱讀
    告別<b class='flag-5'>性能</b>瓶頸:使用 Google Coral TPU 為樹莓派注入強大AI<b class='flag-5'>計算</b>力!