国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Ray框架的分布式計算研究

2024-01-23 00:44:39侯偉
現(xiàn)代信息科技 2023年23期
關(guān)鍵詞:分布式計算大數(shù)據(jù)

摘? 要:文章旨在通過分布式框架Ray來計算數(shù)據(jù)量比較大的任務,使得任務能夠更加高效地完成。指明了Ray通過兩種核心概念實現(xiàn)分布式計算:Actor和Task。通過調(diào)用Ray庫中的Remote方法并結(jié)合init方法指明CPU數(shù)量實現(xiàn)分布式計算。實驗分為在相同數(shù)據(jù)量下不同CPU數(shù)量處理數(shù)據(jù)的快慢以及在不同數(shù)據(jù)量下不同CPU數(shù)量處理數(shù)據(jù)的能力。實驗結(jié)果表明,數(shù)據(jù)量越大、CPU數(shù)量越多的分布式計算能力越強。因此,分布式計算適用于大數(shù)據(jù)下的并行計算。

關(guān)鍵詞:分布式計算;Ray框架;Actor;Task;大數(shù)據(jù);CPU

中圖分類號:TP3-0? 文獻標識碼:A? 文章編號:2096-4706(2023)23-0065-04

Research on Distributed Computing Based on Ray Framework

HOU Wei

(School of Information and Control Engineering, Liaoning Petrochemical University, Fushun? 113001, China)

Abstract: This paper aims to use the distributed framework Ray to calculate tasks with large amounts of data, enabling tasks to be completed more efficiently. It indicates that Ray implements distributed computing through two core concepts: Actor and Task. By calling the Remote method in the Ray library and combining it with the init method to indicate the number of CPUs, distributed computing is achieved. The experiment is divided into the speed of processing data with different CPU number under the same data volume, and the ability of processing data with different CPU number under different data volumes. The experimental results indicate that the larger the data volume and the more CPUs, the stronger the distributed computing power. Therefore, distributed computing is suitable for parallel computing under big data.

Keywords: Distributed Computing; Ray framework; Actor; Task; Big Data; CPU

0? 引? 言

隨著數(shù)據(jù)規(guī)模的擴大和計算復雜度的增加,單機計算能力已經(jīng)無法滿足大規(guī)模數(shù)據(jù)處理和計算的需求,分布式計算逐漸成為一種重要的數(shù)據(jù)處理和計算方式。分布式計算是將任務分解成多個子任務,分配到多個計算節(jié)點上并行執(zhí)行[1],從而提高任務的執(zhí)行速度。

分布式計算有很多優(yōu)點:

1)高效性??梢岳枚鄠€計算節(jié)點的計算能力,提高任務的執(zhí)行速度。

2)可擴展性??梢愿鶕?jù)需要動態(tài)地增加或減少計算節(jié)點,以滿足不同規(guī)模的數(shù)據(jù)處理和計算需求。

3)高可用性。任務被分配到多個計算節(jié)點上執(zhí)行,因此即使某個節(jié)點出現(xiàn)故障或宕機,任務仍可以在其他節(jié)點上繼續(xù)執(zhí)行[2]。

分布式框架是一種用于實現(xiàn)分布式計算的軟件系統(tǒng),提供一系列分布式計算的基礎設施和工具。分布式框架可以使開發(fā)者更加輕松地開發(fā)和部署分布式應用程序,同時還可以提高分布式計算的效率和可靠性[3]。

一些著名的分布式框架(如Hadoop、Spark、Flink、Ray等)不僅廣泛應用于大數(shù)據(jù)處理、機器學習、強化學習、自然語言處理等領(lǐng)域,還在各個領(lǐng)域?qū)崿F(xiàn)了巨大的經(jīng)濟和社會價值。因此,分布式計算和分布式框架在當今信息技術(shù)領(lǐng)域具有重要的作用和意義[4]。

1? 相關(guān)概念

1.1? Actor

Actor是一種并發(fā)執(zhí)行的狀態(tài)機,用于實現(xiàn)分布式計算中的狀態(tài)管理和協(xié)調(diào)。Actor還是一種輕量級計算單元,可以在不同節(jié)點之間傳遞消息,并且可以動態(tài)地創(chuàng)建、銷毀和調(diào)度。

Actor是Ray框架的基本組件之一,用于解決分布式計算中的狀態(tài)共享和協(xié)作問題[5]。Actor的主要特點包括:

1)狀態(tài)封裝。每個Actor實例都有自己的狀態(tài),其他Actor無法直接訪問該狀態(tài),從而避免了多個Actor之間狀態(tài)共享的問題[6]。

2)異步執(zhí)行。Actor方法的執(zhí)行是異步的,即調(diào)用方不需要等待Actor方法的返回結(jié)果,從而避免了阻塞和等待。

3)消息傳遞。Actor之間通過消息傳遞進行通信,從而實現(xiàn)了分布式計算中的狀態(tài)共享和協(xié)作。

Actor的生命周期圖如圖1所示。

1.2? Task

Task是一個獨立的計算單元,可以在任何可用的計算資源上運行。Task的執(zhí)行是無狀態(tài)的,不依賴于其他任務的狀態(tài),因此可以在不同節(jié)點之間分配和執(zhí)行,從而實現(xiàn)了分布式計算。

Ray框架中的Task由調(diào)度器分配到可用的計算資源上執(zhí)行,執(zhí)行結(jié)果通過Ray對象傳遞給其他Task或Actor。Ray框架提供豐富的Task調(diào)度和管理功能(如任務依賴管理、任務優(yōu)先級管理、資源管理等),用以提高分布式計算的效率和可靠性。

Actor和Task是Ray框架中的兩個核心概念,它們共同實現(xiàn)了分布式計算中的狀態(tài)共享、協(xié)作和任務執(zhí)行。通過使用Actor和Task,開發(fā)者可以更加輕松地實現(xiàn)分布式應用程序[7],同時也可以提高分布式計算的效率和可靠性。

Task的生命周期圖如圖2所示。

2? Ray框架的應用場景和優(yōu)勢

Ray框架可以應用于大數(shù)據(jù)處理、機器學習、強化學習、自然語言處理等領(lǐng)域的分布式計算任務:

1)大數(shù)據(jù)處理。Ray框架可以與其他大數(shù)據(jù)處理框架(如Hadoop、Spark)集成,提高數(shù)據(jù)處理的效率和可靠性。Ray框架可以通過分布式對象存儲(如Amazon S3、Google Cloud Storage)實現(xiàn)數(shù)據(jù)的高效存儲和訪問。

2)機器學習。Ray框架可以提供高效的分布式計算與深度學習框架(如TensorFlow、PyTorch)的集成,從而加速模型訓練和推理。Ray框架可以提供模型并行化、數(shù)據(jù)并行化和超參數(shù)搜索等功能。

3)強化學習。Ray框架可以提供高效的強化學習框架(如RLlib),從而加快強化學習模型的訓練和評估。Ray框架可以提供高效的并行化、分布式經(jīng)驗回放和分布式優(yōu)化器等功能。

4)自然語言處理。Ray框架可以提供高效的自然語言處理框架(如Hugging Face Transformers),從而加快模型的訓練和推理。

總之,Ray框架具有廣泛的應用場景,可以用于各種類型的分布式計算任務,從而加速任務的執(zhí)行速度,提高計算效率和可靠性,降低計算成本[8]。

Ray框架在各種應用場景中具有以下優(yōu)勢:

1)高效的分布式計算。Ray框架支持高效的分布式計算,可以輕松地擴展計算資源,提高任務的執(zhí)行速度和計算效率。

2)靈活的任務調(diào)度。Ray框架提供靈活的任務調(diào)度機制,可以根據(jù)任務類型和計算資源的狀態(tài)動態(tài)調(diào)整任務的執(zhí)行順序和分配策略,從而實現(xiàn)計算資源利用率的最大化。

3)高可靠性和容錯性。Ray框架提供高可靠性和容錯性機制,可以自動處理資源計算故障和任務異常,保證任務的正確執(zhí)行和計算結(jié)果的可靠性[9]。

4)易用的編程接口。Ray框架提供簡單易用的編程接口,支持多種編程語言(如Python、Java、C++等),可以使開發(fā)人員輕松編寫分布式計算任務。

5)高度可擴展性。Ray框架具有高度可擴展性,可以與其他分布式計算框架(如Hadoop、Spark、Kubernetes等)集成,提供更加完整和強大的分布式計算能力[10]。

總之,Ray框架在各種應用場景中都具有高效、可靠、靈活和易用的優(yōu)勢,可以幫助用戶更加輕松地完成分布式計算任務,獲得更好的計算性能和效率[11]。

3? Ray實現(xiàn)分布式方法

在Ray框架中,Remote方法的執(zhí)行過程大致如下[12]:

1)當用戶調(diào)用Remote方法時,Ray會將要執(zhí)行的函數(shù)及其參數(shù)打包成一個任務對象。

2)Ray將任務對象發(fā)送給一個調(diào)度程序,該調(diào)度程序會分配一個可用的Ray worker進程,并將任務對象發(fā)送給該進程。

3)Ray worker進程在接收到任務對象后會反序列化任務對象,并執(zhí)行其中包含的函數(shù)及參數(shù)。

4)如果函數(shù)需要其他Ray actor的參與,Ray worker進程會向Ray driver發(fā)送一個請求,請求該actor的引用。

5)Ray driver接收到請求后,會將actor的引用發(fā)送給請求方的Ray worker進程。

6)Ray worker進程繼續(xù)執(zhí)行任務,并在任務完成后將結(jié)果發(fā)送回調(diào)度程序。

7)調(diào)度程序接收到結(jié)果后,將其序列化并發(fā)送回Ray driver。

8)Ray driver將結(jié)果返回給用戶,并刪除該任務對象。

需要注意的是,在執(zhí)行過程中Ray會自動處理任務的依賴關(guān)系和數(shù)據(jù)流程,以及任務執(zhí)行的并行性[13]。此外,Ray還提供一些調(diào)試工具,幫助用戶更好地理解任務的執(zhí)行過程和調(diào)試問題。Ray框架中遠程方法執(zhí)行的簡單流程圖如圖3所示。

首先,客戶端進程調(diào)用遠程方法并將參數(shù)序列化。然后,客戶端進程將序列化的參數(shù)發(fā)送到Raylet進程。Raylet進程接收序列化的參數(shù),反序列化參數(shù),執(zhí)行方法并將結(jié)果序列化。Raylet進程將序列化的結(jié)果發(fā)送回客戶端進程。最后,客戶端進程接收序列化的結(jié)果,反序列化結(jié)果,并將結(jié)果返回給調(diào)用方[14]。

4? 實驗測試

采用Python工具開展實驗,采用隨機森林算法對音樂數(shù)據(jù)進行處理。引入Ray庫,然后調(diào)用Remote方法進行實驗[15]。

為了驗證分布式計算在大數(shù)據(jù)計算中的優(yōu)勢,本文實驗由兩部分組成。第一部分實驗控制數(shù)據(jù)量不變,看不同CPU數(shù)量下并行計算的速度,CPU數(shù)量為自變量,整個實驗的響應時間為因變量。該實驗是在隨機森林音樂推薦算法的基礎上完成的,該算法的數(shù)據(jù)量為20 000條音樂音頻文件,通過隨機森林進行分類。數(shù)據(jù)來源于百度的飛槳平臺。由于20 000條數(shù)據(jù)量不是很大,我們讓該實驗輪詢四次,相當于計算80 000條數(shù)據(jù),然后得到整個實驗的計算時間。如圖4所示為輪詢四次(range=4)得到的duration對比圖。

如圖5所示,橫坐標表示并行計算下CPU內(nèi)核數(shù),縱坐標表示響應整個任務所花費的時間,以秒為單位??梢钥闯鲭S著內(nèi)核數(shù)的增加,整個并行計算所花費的時間隨之減少。

第二部分實驗是為了顯現(xiàn)不同數(shù)據(jù)量下整個并行計算的優(yōu)點,本文又做了輪詢兩次實驗數(shù)據(jù)的實驗,如圖6所示,輪詢?nèi)螌嶒灁?shù)據(jù)的實驗如圖7所示,輪詢五次實驗數(shù)據(jù)的實驗如圖8所示,通過實驗組的對比來觀察并行計算與數(shù)據(jù)量之間的關(guān)系。

通過如圖9所示的各實驗組的對照實驗可以看出:在大任務量的情況下,增加CPU內(nèi)核進行并行運算的效果更好,整個時間縮短的幅度更大[16];在小任務量的情況下,整個并行計算的影響效果不明顯。因此,在海量數(shù)據(jù)的互聯(lián)網(wǎng)背景下,我們應該充分考慮分布式計算的必要性[17]。

5? 結(jié)? 論

Ray框架在分布式計算領(lǐng)域具有很高的影響力,未來的發(fā)展方向主要集中在以下幾個方面:

1)模型優(yōu)化和自動調(diào)參。Ray框架在機器學習、強化學習等領(lǐng)域應用廣泛,未來將進一步深化這些領(lǐng)域的研究,通過模型優(yōu)化和自動調(diào)參等技術(shù)提高模型的性能和可靠性。

2)低延遲計算和實時處理。Ray框架在大數(shù)據(jù)處理、自然語言處理等領(lǐng)域也有廣泛的應用,未來將進一步加強對低延遲計算和實時處理的研究,提高計算效率和實時性能。

3)更好的資源管理和調(diào)度。Ray框架的資源管理和調(diào)度機制已經(jīng)非常靈活和高效,未來將進一步深化和完善這些機制,提高資源利用率和任務執(zhí)行效率。

4)更加易用的編程接口和工具支持。Ray框架在易用性方面已經(jīng)取得了很大的進步,未來將加強對編程接口和工具的支持,提供更加友好和易用的分布式計算環(huán)境。

總之,Ray框架未來的發(fā)展方向主要集中在提高計算性能和效率、深化領(lǐng)域支持和加強易用性等方面,進一步推動分布式計算技術(shù)的發(fā)展和應用。

參考文獻:

[1] 李梓楊.大數(shù)據(jù)流式計算環(huán)境下的彈性資源調(diào)度策略研究 [D]. 烏魯木齊:新疆大學,2022.

[2] 吳澤倫.基于HADOOP的數(shù)據(jù)挖掘算法并行化研究與實現(xiàn) [D].北京:北京郵電大學,2015.

[3] 高殿榮,王益群,劉繼剛.自適應有限元方法及其在液壓技術(shù)中的應用前景 [J].液壓氣動與密封,2001(5):2-4.

[4] 趙康,馬陳燕,王道軍.基于Ray并行分布式框架的深度強化學習計算平臺 [J].軟件,2022,43(11):179-183.

[5] 張生順.針對Ray框架的分布式計算調(diào)度仿真平臺 [D].成都:電子科技大學,2023.

[6] 劉瑞奇,李博揚,高玉金,等.新型分布式計算系統(tǒng)中的異構(gòu)任務調(diào)度框架 [J].軟件學報,2022,33(3):1005-1017.

[7] 朱光輝.分布式與自動化大數(shù)據(jù)智能分析算法與編程計算平臺 [D].南京:南京大學,2021.

[8] KRAWCKE N. Talking boiler trends with Ray Wohlfarth [J].Plumbing & Mechanical,2023,41(2):38.

[9] MORITZ P,NISHIHARA R,WANG S,et al. Ray: A distributed framework for emerging AI applications [R/OL].arXiv:1712.05889 [cs.DC].[2023-02-10].http://export.arxiv.org/abs/1712.05889.

[10] BENIWAL A,BAFNA R K. A Case of Anterior Lenticonus Managed With Ray Tracing Aberrometry [EB/OL].[2023-02-06].https://kns.cnki.net/kcms2/article/abstract?v=j6HAoO1nZAzQFufqG4fTHAkT4g8xBUVqCIxq2FGkqi0rxSSLC53pBCHJKFMZv4ZtwvTUWBssjwLI0ntYj_hyQsDD9SL0Co4BHWSy7eWwsSObUKXOJ_wvekt9j3KutnqU-kodlUII66Uu_fQhR9RvMN5BVNzKIpltLUAXIveV_ro=&uniplatform=NZKPT&language=CHS.

[11] 黃增強.面向機器人模擬與強化學習的分布式訓練平臺設計與實現(xiàn)研究 [D].杭州:杭州電子科技大學,2021.

[12] 胡求.分布式深度集成學習及其結(jié)構(gòu)搜索算法與系統(tǒng) [D].南京:南京大學,2022.

[13] 劉暢.手機閱讀實時推薦系統(tǒng)中協(xié)同過濾引擎的設計與實現(xiàn) [D].北京:北京郵電大學,2018.

[14] 李妍.基于FlexRay總線飛行控制計算機核心單元設計 [D].南京:南京航空航天大學,2017.

[15] 李靜,王健.基于FlexRay總線的分布式測控系統(tǒng) [J].微型電腦應用,2014,30(11):38-40.

[16] 鄭越.大規(guī)模場景渲染下的分布式光線跟蹤算法研究 [D]. 長沙:湖南大學,2019.

[17] 陳愨,張鳳登,張曉霞,等.分布式FlexRay線控轉(zhuǎn)向系統(tǒng)可靠性及容錯技術(shù)研究 [J].工業(yè)控制計算機,2014,27(1):63-66+69.

作者簡介:侯偉(1997.06—),男,漢族,安徽六安人,碩士研究生在讀;研究方向:分布式計算、計算機視覺。

猜你喜歡
分布式計算大數(shù)據(jù)
基于云計算的大數(shù)據(jù)處理與分析綜述
軟件導刊(2016年12期)2017-01-21 16:30:27
基于云計算的移動學習平臺設計與實現(xiàn)
軟件導刊(2016年11期)2016-12-22 21:47:07
云計算中MapReduce分布式并行處理框架的研究與搭建
大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數(shù)據(jù)背景下的智慧城市建設研究
科技視界(2016年20期)2016-09-29 10:53:22
數(shù)據(jù)+輿情:南方報業(yè)創(chuàng)新轉(zhuǎn)型提高服務能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
云計算技術(shù)概述
面向異構(gòu)分布式計算環(huán)境的并行任務調(diào)度優(yōu)化方法
讷河市| 永清县| 四会市| 莱阳市| 平武县| 焉耆| 闽侯县| 顺昌县| 礼泉县| 响水县| 叙永县| 克什克腾旗| 四川省| 岗巴县| 宁强县| 行唐县| 区。| 文水县| 扶余县| 明水县| 泊头市| 页游| 东乌| 绥德县| 白银市| 海淀区| 高要市| 大化| 武隆县| 林甸县| 南岸区| 黄山市| 斗六市| 涟源市| 康马县| 托克托县| 景洪市| 通道| 西乡县| 安仁县| 宜章县|