freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于netremoting技術(shù)并行計(jì)算程序的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 onal efficiency.Hereusing .NET Remoting technologya plurality of clientparallel puting在這種情況之下,采用并行計(jì)算方法將成為提高計(jì)算能力的重要手段。通過(guò)并行計(jì)算集群完成數(shù)據(jù)的處理,再將處理的結(jié)果返回給用戶。但是這些問(wèn)題通常都十分的復(fù)雜,需要非常巨大的計(jì)算量。并行計(jì)算的編程并不簡(jiǎn)單,對(duì)編程者有著非常高的要求。并行計(jì)算的基本思想是采用多個(gè)處理器來(lái)協(xié)同合作,共同計(jì)算求解同一問(wèn)題,即將需要被求解的問(wèn)題分成若干個(gè)部分,各個(gè)部分均由一個(gè)獨(dú)立的處理器來(lái)計(jì)算。為利用并行計(jì)算,通常計(jì)算問(wèn)題表現(xiàn)為以下特征:(1)將工作分離成離散部分,有助于同時(shí)解決;(2)隨時(shí)并及時(shí)地執(zhí)行多個(gè)程序指令;(3)多計(jì)算資源下解決問(wèn)題的耗時(shí)要少于單個(gè)計(jì)算資源下的耗時(shí)。我們常用的串行機(jī)也叫做單指令流單數(shù)據(jù)流(SISD)。Microsoft .NET Remoting 提供了一種允許對(duì)象通過(guò)應(yīng)用程序域與另一對(duì)象進(jìn)行交互的框架。遠(yuǎn)程對(duì)象代碼可以運(yùn)行在服務(wù)器上(如服務(wù)器激活的對(duì)象和客戶端激活的對(duì)象),然后客戶端再通過(guò)Remoting連接服務(wù)器,獲得該服務(wù)對(duì)象并通過(guò)序列化在客戶端運(yùn)行。是目前最流行的Windows平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。除了Microsoft SQL Server,它還支持除了上述功能外還在以下方面進(jìn)行了改進(jìn):增強(qiáng)和完善了Visual Studio IDE。改進(jìn)了對(duì)WPF和Silverlight應(yīng)用程序的開(kāi)發(fā)。MySql的系統(tǒng)特性有:(1)支持多線程,充分利用CPU資源;(2)優(yōu)化的SQL查詢算法,有效地提高查詢速度;(3)既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中;(4)提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的GB 231BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名;((5)提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑;(6)提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具;(7)支持大型的數(shù)據(jù)庫(kù)。 第2章 并行計(jì)算第2章 并行計(jì)算并行計(jì)算是伴隨并行機(jī)的出現(xiàn),在近30年來(lái)發(fā)展較迅速的一門(mén)交叉學(xué)科,涵蓋的內(nèi)容非常廣泛。它的基本思想是用多個(gè)處理器來(lái)協(xié)同求解同一問(wèn)題,即將被求解的問(wèn)題分解成若干個(gè)部分,各部分均由一個(gè)獨(dú)立的處理機(jī)來(lái)并行計(jì)算。并行計(jì)算是相對(duì)于串行計(jì)算來(lái)說(shuō)的,所謂并行計(jì)算分為時(shí)間上的并行和空間上的并行。一般來(lái)說(shuō),因?yàn)閿?shù)據(jù)并行主要是將一個(gè)大任務(wù)化解成相同的各個(gè)子任務(wù),比任務(wù)并行要容易處理。 并行計(jì)算的主要研究目標(biāo)和研究?jī)?nèi)容 并行計(jì)算的主要研究目標(biāo)對(duì)于具體的應(yīng)用問(wèn)題,采用并行計(jì)算技術(shù)的主要目的在于以下2個(gè)方面:(1)加快求解問(wèn)題的速度,縮短求解問(wèn)題所需的時(shí)間。近兩年內(nèi),微處理器的峰值性能也不會(huì)超過(guò)100億次/秒。(2)并行算法設(shè)計(jì)與分析。需要說(shuō)明的是,并行計(jì)算不同于分布式計(jì)算。并行算法作為應(yīng)用程序開(kāi)發(fā)的基礎(chǔ),在并行計(jì)算機(jī)應(yīng)用中具有舉足輕重的地位。在這里,我使用的并行算法也是當(dāng)前并行算法的主流算法,也就是大粒度并行算法。如圖21所示:圖21 多臺(tái)計(jì)算機(jī)并行計(jì)算連機(jī)交互示意圖在網(wǎng)絡(luò)中傳輸數(shù)據(jù),原本有很多復(fù)雜的步驟,對(duì)編程者有著很高的要求, Remoting技術(shù),將消息的傳遞機(jī)制都封裝的很好,大大降低了編程者對(duì)Remoting編程的難度。 單計(jì)算機(jī)的并行計(jì)算單計(jì)算機(jī)的并行計(jì)算,一般指同一臺(tái)機(jī)器上的多線程并行計(jì)算。要注意的是,當(dāng)一個(gè)線程完成計(jì)算任務(wù)之后,并不會(huì)自動(dòng)釋放該實(shí)例,需要在程序中調(diào)用方法釋放內(nèi)存。但是這對(duì)計(jì)算機(jī)的硬件要求比較苛刻。單CPU多核的計(jì)算機(jī),也可以啟用多個(gè)線程進(jìn)行并行計(jì)算,但是這種計(jì)算是有瓶頸的。 小結(jié)這一章先講了并行計(jì)算的概念,接著講了并行計(jì)算的研究目標(biāo)和研究?jī)?nèi)容,按照不同的對(duì)象將并行算法進(jìn)行分類,最后對(duì)分布式并行計(jì)算的幾種方式進(jìn)行了分析,在這里我主要研究的就是多計(jì)算機(jī)的并行計(jì)算問(wèn)題。也就是說(shuō), Remoting,一個(gè)程序域可以訪問(wèn)另外一個(gè)程序域中的對(duì)象,就好像這個(gè)對(duì)象位于自身內(nèi)部,只不過(guò),對(duì)這個(gè)遠(yuǎn)程對(duì)象的調(diào)用,其代碼是在遠(yuǎn)程應(yīng)用程序域中進(jìn)行的,例如在本地應(yīng)用程序域中調(diào)用遠(yuǎn)程對(duì)象上一個(gè)會(huì)彈出對(duì)話框的方法,那么,這個(gè)對(duì)話框,則會(huì)在遠(yuǎn)程應(yīng)用程序域中彈出。在從一個(gè)應(yīng)用程序域向另一個(gè)應(yīng)用程序域傳輸消息時(shí),所有的XML編碼都使用SOAP協(xié)議。 Remoting體系中,要想成為遠(yuǎn)程對(duì)象提供服務(wù),該對(duì)象的類必須是MarshByRefObject的派生對(duì)象??蛻魴C(jī)和服務(wù)器通過(guò)消息進(jìn)行信息交換,消息在信道中傳遞??蚣艿腤eb服務(wù)通信。它用于把格式標(biāo)識(shí)符和信道聯(lián)系起來(lái)。BinaryFormatter和SoapFormatter。Remoting體系結(jié)構(gòu)的可插入特性,可以創(chuàng)建自己的格式程序接收器, Remoting基礎(chǔ)設(shè)施中。這是消息對(duì)象在線纜間進(jìn)行傳輸?shù)淖钣行Ф?jiǎn)潔的表示方式。SoapFormatter使用消息的SOAP表示形式將消息序列化為流??蛻魴C(jī)調(diào)用透明代理對(duì)象上的方法,透明代理再調(diào)用真實(shí)代理上的Invoke方法,Invoke方法再使用消息接受器把消息傳遞到信道上。說(shuō)明一點(diǎn)的是:RemotingConfiguration類中的大部分屬性、方法都是靜態(tài)的,這就意味著很多屬性,如應(yīng)用程序名稱,只能通過(guò)當(dāng)前屬性或配置文件設(shè)置一次。(IIS),則可能已經(jīng)設(shè)置了該值(通常將其設(shè)置為虛擬目錄)。IChannel接口包括了TcpChannel通道類型和Http通道類型。TcpChannel類型默認(rèn)使用二進(jìn)制格式序列化消息對(duì)象,因此它具有更高的傳輸性能。 .NET Remoting的激活方式在訪問(wèn)遠(yuǎn)程類型的一個(gè)對(duì)象實(shí)例之前,必須通過(guò)一個(gè)名為Activation的進(jìn)程創(chuàng)建它并進(jìn)行初始化。服務(wù)器應(yīng)用程序在激活對(duì)象實(shí)例之前會(huì)在一個(gè)眾所周知的統(tǒng)一資源標(biāo)識(shí)符(URI)上來(lái)發(fā)布這個(gè)類型。客戶端激活模式一旦獲得客戶端的請(qǐng)求,將為每一個(gè)客戶端都建立一個(gè)實(shí)例引用。其三,兩種激活模式在服務(wù)器端和客戶端實(shí)現(xiàn)的方法不一樣。因此在Remoting中,對(duì)于遠(yuǎn)程對(duì)象有一些必須的定義規(guī)范要遵循。當(dāng)遠(yuǎn)程應(yīng)用程序引用一個(gè)按值封送的對(duì)象時(shí),將跨越遠(yuǎn)程處理邊界傳遞該對(duì)象的副本。 補(bǔ)充 注冊(cè)多個(gè)信道 在Remoting中,允許同時(shí)創(chuàng)建多個(gè)通道,即根據(jù)不同的端口創(chuàng)建不同的通道。 客戶端訂閱服務(wù)器事件實(shí)際上,我們可以用一個(gè)trick,來(lái)欺騙Remoting。既然具體的實(shí)現(xiàn)是在服務(wù)器端,又為了能在客戶端實(shí)例化,那么在客戶端就實(shí)現(xiàn)這些好了。這個(gè)方法的實(shí)現(xiàn),其實(shí)和方法的聲明差不多,所以我說(shuō)是一個(gè)trick。 創(chuàng)建遠(yuǎn)程對(duì)象類客戶端在獲取服務(wù)器端對(duì)象時(shí),并不是獲得實(shí)際的服務(wù)端對(duì)象,而是獲得它的引用。不是從 MarshalByRefObject 繼承的對(duì)象會(huì)以隱式方式按值封送。public class NetRmtObject : MarshalByRefObject { public event MyDelegate SubscribeAtServer。}//客戶端觸發(fā)事件public void TriggerAtServer(string msg) { if (SubscribeAtClient != null) SubscribeAtClient(msg)。 注冊(cè)信道 注冊(cè)信道就是把已經(jīng)創(chuàng)建的信道,使用ChannelServices類的RegisterChannel方法來(lái)“向信道服務(wù)注冊(cè)信道”。(tcpchannel, false)。NetRmtObject marshal_obj。//傳輸DataTable類型變量的對(duì)象ObjRef cityObjRef = (marshal_city_obj, url1)。//信道端口IDictionary idic = new Dictionarystring, int()。 客戶端的端口號(hào)不能與服務(wù)器一致,否則將出現(xiàn)通常每個(gè)套接字地址(協(xié)議/網(wǎng)絡(luò)地址/端口)只允許使用一次的異常,將其設(shè)置為0,則客戶端自動(dòng)選擇可用的端口。 創(chuàng)建對(duì)象與獲取遠(yuǎn)程對(duì)象代理創(chuàng)建對(duì)象,也就是在客戶端激活服務(wù)器上的對(duì)象,并獲得這個(gè)遠(yuǎn)程對(duì)象的一個(gè)本地代理(透明代理)。 if (obj == null || city_obj == null) { (連接失敗!!)。 事件調(diào)用 服務(wù)器注冊(cè)客戶端事件服務(wù)器注冊(cè)客戶端事件,相對(duì)客戶端注冊(cè)服務(wù)器事件來(lái)說(shuō),是比較簡(jiǎn)單的。 客戶端注冊(cè)服務(wù)器事件客戶端注冊(cè)服務(wù)器上的事件,是個(gè)畢竟復(fù)雜的過(guò)程。這同樣也說(shuō)明了在服務(wù)器端注冊(cè)對(duì)象后顯式創(chuàng)建一個(gè)對(duì)象的思路也并不可行。服務(wù)器端觸發(fā)事件是遠(yuǎn)程對(duì)象里的事件,遠(yuǎn)程對(duì)象想要被客戶端訪問(wèn)就必須被序列化,原因就在于事件是基于委托的。 = 。 } }}客戶端在注冊(cè)服務(wù)器事件的時(shí)候,//訂閱服務(wù)器事件SwapObject swap = new SwapObject()。對(duì)需要?jiǎng)?chuàng)建的對(duì)象、事件,遠(yuǎn)程對(duì)象類進(jìn)行了說(shuō)明,同時(shí)還給出了服務(wù)器端、客戶端信道從創(chuàng)建到注銷的流程介紹,并使用部分示例代碼來(lái)進(jìn)行說(shuō)明。多年來(lái)全球數(shù)學(xué)家絞盡腦汁,試圖找到一個(gè)高效的算法TSP問(wèn)題在物流中的描述是對(duì)應(yīng)一個(gè)物流配送公司,欲將n個(gè)客戶的訂貨沿最短路線全部送到??梢孕蜗蟮匕呀饪臻g看成是一個(gè)無(wú)窮大的丘陵地帶,各山峰或山谷的高度即是問(wèn)題的極值。TSP由美國(guó)RAND公司于1948年引入,該公司的聲譽(yù)以及線性規(guī)劃這一新方法的出現(xiàn)使得TSP成為一個(gè)知名且流行的問(wèn)題。本系統(tǒng)采用FIFO分支限界法??梢钥闯觯种藿绶ㄔ趦蓚€(gè)方面加速了算法的搜索速度,一是選擇要擴(kuò)展的節(jié)點(diǎn)時(shí),總是選擇選擇一個(gè)最小成本的結(jié)點(diǎn),盡可能早的進(jìn)入最有可能成為最優(yōu)解的分支;二是擴(kuò)展節(jié)點(diǎn)的過(guò)程中,舍棄導(dǎo)致不可行解或?qū)е路亲顑?yōu)解的子結(jié)點(diǎn)。在這些兒子結(jié)點(diǎn)中,導(dǎo)致不可行解或?qū)е路亲顑?yōu)解的兒子結(jié)點(diǎn)被舍棄,其余兒子結(jié)點(diǎn)被加入活結(jié)點(diǎn)表中。(2)優(yōu)先隊(duì)列式分支限界法按照優(yōu)先隊(duì)列中規(guī)定的優(yōu)先級(jí)選取優(yōu)先級(jí)最高的節(jié)點(diǎn)成為當(dāng)前擴(kuò)展節(jié)點(diǎn)。再取PT表中目標(biāo)函數(shù)極大值結(jié)點(diǎn)作為擴(kuò)展的根結(jié)點(diǎn),重復(fù)上述。int isFirstAnswer = 1。 minNode = null。//節(jié)點(diǎn)編號(hào) = 0。//隊(duì)列 (rootStart)。//從隊(duì)列中取出第一個(gè)元素作為新的根節(jié)點(diǎn),出隊(duì)列 childAmount = cityCount 1 。//存在結(jié)果變量,1表示已存在,0表示還不存在 for (int j = 0 。 while (rootParent != null) {//父節(jié)點(diǎn)中是否存在 if ( == [j][0].ToString()) { result = 1。//存在 break。x++) { if ( == [x][0].ToString()) { break。 = (int)[x][2]。 = (int)[j][2]。 (node[i])。m 。 } } } else {//結(jié)尾節(jié)點(diǎn) int x。 } } TreeNode node = new TreeNode()。 if (isFirstAnswer == 1) { minDistance = ()。 minNode = node。同時(shí),服務(wù)器會(huì)給客戶端一個(gè)編號(hào),方便以后消息的發(fā)送和計(jì)算等。點(diǎn)擊生成數(shù)據(jù)按鈕,會(huì)隨機(jī)生成一組數(shù)據(jù),點(diǎn)擊發(fā)送數(shù)據(jù),就可以像服務(wù)器端發(fā)送數(shù)據(jù),服務(wù)器收到數(shù)據(jù)之后,會(huì)將數(shù)據(jù)廣播發(fā)送給各個(gè)客戶端,包括發(fā)起并行計(jì)算請(qǐng)求的客戶端。為了防止這種情況的出現(xiàn),需要確保數(shù)據(jù)成功發(fā)送之后再開(kāi)始第二個(gè)數(shù)據(jù)的發(fā)送。客戶端收到最終結(jié)果之后,停止計(jì)時(shí),顯示服務(wù)器給出的最終結(jié)果和客戶端自身的計(jì)時(shí)結(jié)果。通過(guò)上面的測(cè)試,可以基本認(rèn)為系統(tǒng)計(jì)算的結(jié)果是正確的,系統(tǒng)的正確性是可以相信的。結(jié)果分析:(1)由表中可以很顯然的看出,串行計(jì)算的耗時(shí)隨城市數(shù)量的增加而呈指數(shù)增長(zhǎng)趨勢(shì),這是因?yàn)閱蝹€(gè)節(jié)點(diǎn)下的計(jì)算任務(wù)也成倍的增長(zhǎng)了,這是合理的現(xiàn)象。結(jié)果分析:(1)從表中可以很直觀的發(fā)現(xiàn),并行計(jì)算耗時(shí)隨城市數(shù)量的增加而增加,切呈指數(shù)增長(zhǎng)趨勢(shì);(2)單個(gè)客戶端最多節(jié)點(diǎn)數(shù)目的多少對(duì)計(jì)算耗時(shí)影響不大,影響大的還是城市數(shù)量;(3)和表51對(duì)比可以發(fā)現(xiàn),當(dāng)城市數(shù)量小于等于6時(shí),串行計(jì)算耗時(shí)小于并行計(jì)算耗時(shí);當(dāng)城市數(shù)量大于等于7時(shí),串行計(jì)算耗時(shí)大于并行計(jì)算耗時(shí)??赡軙?huì)造成結(jié)果不準(zhǔn)確的因素:由于計(jì)算機(jī)進(jìn)行了長(zhǎng)時(shí)間的復(fù)雜計(jì)算,CPU的使用率長(zhǎng)時(shí)間保持很高的水平,加上天氣溫度略高,計(jì)算機(jī)進(jìn)行測(cè)算時(shí),溫度逐漸升高,計(jì)算機(jī)的計(jì)算速度會(huì)隨之下降,這可能會(huì)對(duì)結(jié)果的準(zhǔn)確性產(chǎn)生影響。所以在上面的測(cè)試中,每種情況進(jìn)行了5次測(cè)試,再求平均值,以減小測(cè)試誤差。 小結(jié)這一章以旅行商問(wèn)題為例,利用并行計(jì)算解決這個(gè)實(shí)際問(wèn)題。 Framework Remoting技術(shù)為并行計(jì)算程序的編寫(xiě)提供了簡(jiǎn)單、靈活編程手段,大大降
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1