在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用.net Remtoing進行并行計算

運用.net Remtoing進行并行計算

更新時間:2019-09-02 文章作者:未知 信息來源:網絡 閱讀次數:

使用.net Remtoing并行計算
摘要,本文分析了一個使用.net romoting進行并行計算PI值的程序,

并給出結果及性能分析。



在MSDN上發現一篇文章是介紹如何使用.net Remoting進行并行計算的,剛好本人對并行計算很有興趣,于是仔細地分析了一下此程序的代碼。原文及程序可以在此處獲得。由于覺得原文只是作了一個大致的講解,有很多細節只是掩藏在源代碼中,所以在花了很多時間分析完源程序后,才對原文有了很深的理解,疏理出一些內容出來和大家分享。



一. 概述

.NET Remtoing用于在遠程服務器和客戶機之間互相調用對象,這些對象是存在于同一AppDomain中的。它使用Soap或二進制的方式傳遞消息(即要調用的對象),傳送協議為HTTP或TCP。



二. Remoting如何實現并行計算?

.NET Remoting與并行計算好像是兩個不同的概念,前者更類似于分布式計算和Web Service,而后者實際上是計算粒度更小的任務,但它將一個計算任務分配給多個節點計算,然后匯總成一個結果返回。

根據以上思想,實現上將分布的對象的粒度設計小一點即可實現并行計算。并行計算的一個關鍵因素是進程(或子任務)間通訊,而我們把.net remoting中的對象間通訊作為進程間通訊即可。

本例并行計算Pi的小數點,精確到N位。使用.net remoting可以如下實現。在每個節點上運行相同的程序,但每個節點計算不同位置的小數位,如NodeA計算小數點后1-9位,NodeB計算10-18位,NodeC計算19-27位,這樣最終匯總的結果就可以有1-27位。由于是并行計算,比起單機計算,時間要快上很多倍,其加速比與每臺節點的速度及整個通信網絡的速度有關。計算模型如下圖所示:


三. 并行算法

要進行并行計算,首先要設計好并行算法和通訊模式。由于我們只是在PC機群進行并行計算,所以采用了最簡單的主從式并行模型,即由一個主進程負責任務的分發,結果的歸約,將子任務平均分配到每個節點上計算。

但實際上本文中使用的并不是平均分配任務,而是更好的任務池工作方式。即每個節點計算完一個子任務后,會向主進程申請新的任務,一直到任務全部計算完為止,這樣的好處是計算能力越強的節點計算的任務也越多。比起平均分配來說可以提高總體的計算和減少同步時間。






四. 程序結構

此程序主要由以下幾個包組成,


l 4.1) ServerLoader

用于加載提供可遠程調用的服務器對象,指定調用使用的網絡協議和端口,以便于在局域網中被調用,然后偵聽來自客戶端的請求,在服務器上處理此請求并返回結果。

簡單來說即每個節點都必須運行ServerLoader程序,以向外界聲明可被調用的對象(即Plouffe_bellard.dll中的對象)。



以下代碼為調用配置文件:

String ConfigFilePath = Path.GetDirectoryName(Application.ExecutablePath) + ServerLoader. exe.config";

RemotingConfiguration.Configure(ConfigFilePath);



配置文件為:ServerLoader.exe.config

<configuration>

<system.runtime.remoting>

<application name = "ServerLoader">

<service>

<wellknown

mode="SingleCall"

type="PB.Plouffe_Bellard,Plouffe_Bellard"

objectUri="Plouffe_Bellard"/>

</service>

<channels>

<channel ref="tcp server" port="9000"/>

</channels>

</application>

</system.runtime.remoting>

</configuration>





l 4.2) Plouffe_bellard

這就是.NET Remoting中的實際被調用的遠程對象,它被置于每個節點上。它是繼承自System.MarshalByRefObject,這樣的派生對象從來都不會離開它的應用域,客戶就可以通過代理對象調用遠程對象的方法。

它是用來計算圓周率PI的小數點位數的程序,Plouffe_Bellard算法具有很好的并行性,它可以指定要計算的小數點的位置,如第二節所述。

其函數形式為:



public class Plouffe_Bellard : System.MarshalByRefObject

{

public String CalculatePiDigits(int n)

{ … }

}



l 4.3)DigitsOfPi

此子基礎上為整個項目核心部分,可作為客戶端程序運行。它主要實現主界面UI處理、節點配置,多線程創建與同步,計算任務分配與匯總的功能,只需要在任何一臺節點上運行即可。包括以下幾個對象:

MainForm,SolutionArray,SolutionItem,RemotingObject,CalculationThread。

n mainForm:即處理UI對象

n SolutionArray是并行線程分配與管理程序,如:任務池創建、任務分配、線程創建、同步線程, 匯聚結果等。

n SolutionItem即任務的數據結構。包括要計算的小數點位, 計算的結果, 計算的在機器。

n RemotingObject是RemotePiCalculator,用于獲取遠程對象。

n CalculationThread:計算模塊,在線程中運算(由SolutionArray產生和調用),并不斷從任務池中取得任務進行計算。



以下為這幾個對象的序列圖:








當遠程對象的CalculatePiDigits被客戶端程序調用時,此要求即被發送到遠程機器的ServerLoader對象。然后服務器上的對象就會計算結果。最后將計算的結果返回給客戶端程序,顯示在文本框中。



五. 結果分析

機器配置說明

MOORE 700MHz AMD Duron 192M SDR

LOZIT 1.8GHz Batumn 256M DDR

時間比較




由于算法的特性,計算到高位時可以看到計算速度逐漸變慢。在我們的機器上,算到第3000位附近速度已經是非常之慢,忍受不住終于中斷,一共計算了3330位,共耗時719545 ms,即12分鐘。在實驗中還發現,節點只能與同一子網中其它節點相連才有效,要與子網外的節點相連,可能要涉及.net 中的更高級話題,就不太清楚了。



六. 后記:

本文中的并行算法相對簡單,沒有涉及并行計算的高級算法及其它內容,如子任務間并沒有傳遞數據。使用.net remoting是否適合作并行計算呢?當在科學計算領域中已經有現成的MPI,MVP等并行通訊庫可用時?如果可以出現MPI for C#,那真是一大福音。(好像俄羅斯的專家們已經實現了這個項目,叫做T-System[2])。如果有時間,希望會在以后我文章中繼承研究用.net remoting進行并行計算。國外的一些研究組好像已經有不少開始這方面的研究,希望有興趣的朋友和本人聯系,一同探討。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 激情文学亚洲色图| 青青青青草视频| 亚洲色图38p| 国产在线精品91| 国产午夜大地久久| 日本手机在线视频| 午夜啪啪福利视频| 91免费视频黄| 17c丨国产丨精品视频| 美国av在线播放| 400部精品国偷自产在线观看| 色婷婷综合网站| 四虎1515hh.com| 狠狠噜天天噜日日噜| 高清欧美精品xxxxx| 无码精品国产一区二区三区免费| 日本wwww视频| 国产精品区在线| 蜜桃视频一区二区在线观看| 加勒比成人在线| 青青草av网站| 日本丰满大乳奶| 男女超爽视频免费播放| 成人免费视频久久| 福利在线小视频| 两根大肉大捧一进一出好爽视频| www.99在线| 黑人巨茎大战欧美白妇| 免费成人在线视频网站| 五月天av在线播放| 人人干视频在线| 亚洲一二三av| 日本黄色三级大片| 水蜜桃在线免费观看| 国产精品第12页| 日本福利视频在线观看| 日本成人黄色网| 日韩网站在线免费观看| 成年网站免费在线观看| 国产高清av在线播放| 一起操在线视频| aa在线免费观看| 亚洲国产一二三精品无码| 男女视频一区二区三区| 人妻激情另类乱人伦人妻| 特级丰满少妇一级| 少妇人妻大乳在线视频| ijzzijzzij亚洲大全| 国产性生交xxxxx免费| 国产九九九九九| 在线视频一二三区| 亚洲 欧美 另类人妖| 国产熟女高潮视频| 黄色成人在线看| 亚洲色成人www永久在线观看| 三级一区二区三区| 亚洲老女人av| 九色porny91| 国产精品乱码久久久久| av7777777| av免费观看网| 日本三级免费网站| 69堂免费视频| 日本黄网站免费| 久久久久免费精品| www.日日操| 黄色三级视频在线| 亚欧激情乱码久久久久久久久| 欧美三级一级片| 日本成年人网址| 亚洲性生活网站| 中文字幕 日韩 欧美| xxxx在线免费观看| 国产在线观看中文字幕| 91视频福利网| 国产玉足脚交久久欧美| 国产精品12345| 日韩有码免费视频| 亚洲精品久久久中文字幕| 拔插拔插华人永久免费| 国产资源中文字幕| 91九色丨porny丨国产jk| 成年网站在线免费观看| 熟妇人妻无乱码中文字幕真矢织江| 成年人免费大片| 99国产精品久久久久久| 国产一级不卡视频| 国产亚洲综合视频| 色噜噜狠狠一区二区三区狼国成人| 一级做a免费视频| 成年人午夜免费视频| 日本va中文字幕| 国产盗摄视频在线观看| 草草久久久无码国产专区| 在线免费观看视频黄| 日本道在线视频| 别急慢慢来1978如如2| 波多野结衣网页| 国产美女网站在线观看| 亚洲 激情 在线| 美女扒开大腿让男人桶| 一区二区三区 欧美| 777久久精品一区二区三区无码| 国产在线观看福利| 黄色高清视频网站| 四虎永久在线精品无码视频| 国产又黄又爽免费视频| 中文字幕无码不卡免费视频| 一级特黄妇女高潮| 国产裸体免费无遮挡| 欧美交换配乱吟粗大25p| 久章草在线视频| www.avtt| 久久精品国产精品亚洲精品色| 日韩 欧美 高清| 日韩一区二区高清视频| 日本中文字幕观看| 成年人黄色片视频| 人妻夜夜添夜夜无码av| 成年人三级视频| 波多野结衣国产精品| 日韩免费高清在线| 久久精品免费一区二区| 国产一区二区四区| 国产在线无码精品| av不卡在线免费观看| www.久久久久久久久久久| 一本久道中文无码字幕av| www.99热这里只有精品| 大陆av在线播放| 最新av网址在线观看| av电影一区二区三区| 欧美爱爱视频网站| 波多野结衣网页| 欧美日韩理论片| 特黄特黄一级片| 国产日本欧美在线| 天天做天天爱天天高潮| 国产免费一区二区三区四在线播放 | 日本中文字幕二区| 中文字幕网av| 天天干天天av| 亚洲国产精品影视| 69精品丰满人妻无码视频a片| 久久精品在线免费视频| 大胆欧美熟妇xx| 激情小视频网站| av免费中文字幕| 最近中文字幕一区二区| 日本特黄在线观看| 51xx午夜影福利| av之家在线观看| 亚洲免费看av| 天堂а√在线中文在线| 99爱视频在线| 中文字幕成人在线视频| 91手机视频在线| 男人日女人bb视频| 粉色视频免费看| 久久国产精品网| 亚洲欧美久久久久| 国产在线视频综合| 黄色成人免费看| 高清无码视频直接看| 久久久久久香蕉| 91免费视频黄| 日韩视频免费在线播放| 国产成人一二三区| 杨幂毛片午夜性生毛片 | r级无码视频在线观看| 中文字幕天天干| 男女视频网站在线观看| 国内自拍第二页| 91成人在线观看喷潮教学| 加勒比av中文字幕| 久久国产色av免费观看| 蜜臀av.com| 男人的天堂最新网址| 国产欧美在线一区| 亚洲色图都市激情| 色噜噜狠狠永久免费| 1024av视频| 欧美日韩福利在线| 欧美性猛交xxxx乱大交91| 欧美精品色婷婷五月综合| av影院在线播放| 波多野结衣激情| 久久婷五月综合| 成人免费在线观看视频网站| 欧美国产亚洲一区| 免费人成在线观看视频播放| 麻豆中文字幕在线观看| 久久久久久久久久一区二区| 国产一级不卡毛片| 男人天堂网视频| 久久久久久久久久久久久国产精品 | 欧美一区二区视频在线播放| 中文字幕中文在线| 182午夜在线观看| 久久久精品高清|