① 實際延遲環節是10s,模擬時應該設置多少
暈,這個是proteus本身的問題,而且復位也沒用的,這主要模擬數字邏輯的,你要改變時鍾得在屬性框里改的,51單片機默認是12MHZ的
② opnet網路模擬區域網那一塊主要看哪些參數
拓補結構,節點的相關參數,比如串並口,通訊類型,
連接線路類型,參數,傳輸速率,背景流量,誤碼率等,可以看opnet裡面的幫助文件的,很詳細
③ 求高手詳解下面一段NS模擬腳本代碼
NS是一種針對網路技術的源代碼公開的、免費的軟體模擬平台,研究人員使用它可以很容易的進行網路技術的開發,而且發展到今天,它所包含的模塊已經非常豐富,幾乎涉及到了網路技術的所有方面。所以,NS成了目前學術界廣泛使用的一種網路模擬軟體。在每年國內外發表的有關網路技術的學術論文中,利用NS給出模擬結果的文章最多,通過這種方法得出的研究結果也是被學術界所普遍認可的,此外,NS也可作為一種輔助教學的工具,已被廣泛應用在了網路技術的教學方面。因此,目前在學術界和教育界,有大量的人正在使用或試圖使用NS。
然而,對初學者來說,NS是非常難於掌握的,一般人從學習NS到上手至少需要半年多時間。原因是多方面的:一方面,NS內容龐雜,隨軟體所提供的手冊更新不夠快,初學者閱讀起來非常困難;另一方面,使用NS還要掌握其它很多必備的相關知識以及相關工具,這會使初學者感到無從入手;有的使用者可能還不了解網路模擬的過程或是對NS軟體的機制缺乏理解,這也影響了對NS的掌握。另外,不論在國外還是國內,還沒有一本書能集中回答和解決這些問題,這也是NS難於被掌握的一個重要原因。
1、NS2簡介
NS2(Network Simulator, version 2)是一種面向對象的網路模擬器,本質上是一個離散事件模擬器。由UC Berkeley開發而成。它本身有一個虛擬時鍾,所有的模擬都由離散事件驅動的。目前NS2可以用於模擬各種不同的IP網,已經實現的一些模擬有:網路傳輸協議,比如TCP和UDP;業務源流量產生器,比如FTP, Telnet, Web CBR和VBR;路由隊列管理機制,比如Droptail , RED和CBQ;路由演算法,比如Dijkstra等。NS2也為進行區域網的模擬而實現了多播以及一些MAC 子層協議。
NS2使用C++和Otcl作為開發語言。NS可以說是Otcl的腳本解釋器,它包含模擬事件調度器、網路組件對象庫以及網路構建模型庫等。事件調度器計算模擬時間,並且激活事件隊列中的當前事件,執行一些相關的事件,網路組件通過傳遞分組來相互通信,但這並不耗費模擬時間。所有需要花費模擬時間來處理分組的網路組件都必須要使用事件調度器。它先為這個分組發出一個事件,然後等待這個事件被調度回來之後,才能做下一步的處理工作。事件調度器的另一個用處就是計時。NS是用Otcl和C++編寫的。由於效率的原因,NS將數據通道和控制通道的實現相分離。為了減少分組和事件的處理時間,事件調度器和數據通道上的基本網路組件對象都使用C++寫出並編譯的,這些對象通過映射對Otcl解釋器可見。
當模擬完成以後,NS將會產生一個或多個基於文本的跟蹤文件。只要在Tcl腳本中加入一些簡單的語句,這些文件中就會包含詳細的跟蹤信息。這些數據可以用於下一步的分析處理,也可以使用NAM將整個模擬過程展示出來。
2、使用NS進行網路模擬的方法和一般過程。
進行網路模擬前,首先分析模擬涉及哪個層次,NS模擬分兩個層次:一個是基於OTcl編程的層次。利用NS已有的網路元素實現模擬,無需修改NS本身,只需編寫OTcl腳本。另一個是基於C++和OTcl編程的層次。如果NS中沒有所需的網路元素,則需要對NS進行擴展,添加所需網路元素,即添加新的C++和OTcl類,編寫新的OTcl腳本。
假設用戶已經完成了對NS的擴展,或者NS所包含的構件已經滿足了要求,那麼進行一次模擬的步驟大致如下:
(1)開始編寫OTcl腳本。首先配置模擬網路拓撲結構,此時可以確定鏈路的基本特性,如延遲、帶寬和丟失策略等。
(2)建立協議代理,包括端設備的協議綁定和通信業務量模型的建立。
(3)配置業務量模型的參數,從而確定網路上的業務量分布。
(4)設置Trace對象。NS通過Trace文件來保存整個模擬過程。模擬完後,用戶可以對Trace文件進行分析研究。
(5)編寫其他的輔助過程,設定模擬結束時間,至此OTcl腳本編寫完成。
(6)用NS解釋執行剛才編寫的OTcl腳本。
(7)對Trace文件進行分析,得出有用的數據。
(8)調整配置拓撲結構和業務量模型,重新進行上述模擬過程。
NS2採用兩級體系結構,為了提高代碼的執行效率,NS2 將數據操作與控制部分的實現相分離,事件調度器和大部分基本的網路組件對象後台使用C++實現和編譯,稱為編譯層,主要功能是實現對數據包的處理;NS2的前端是一個OTcl 解釋器,稱為解釋層,主要功能是對模擬環境的配置、建立。從用戶角度看,NS2 是一個具有模擬事件驅動、網路構件對象庫和網路配置模塊庫的OTcl腳本解釋器。NS2中編譯類對象通過OTcl連接建立了與之對應的解釋類對象,這樣用戶間能夠方便地對C++對象的函數進行修改與配置,充分體現了模擬器的一致性和靈活性。
3、NS2的功能模塊
NS2模擬器封裝了許多功能模塊,最基本的是節點、鏈路、代理、數據包格式等等,下面分別來介紹一下各個模塊。
(1)事件調度器:目前NS2提供了四種具有不同數據結構的調度器,分別是鏈表、堆、日歷表和實時調度器。
(2)節點(node):是由TclObject對象組成的復合組件,在NS2中可以表示端節點和路由器。
(3)鏈路(link):由多個組件復合而成,用來連接網路節點。所有的鏈路都是以隊列的形式來管理分組的到達、離開和丟棄。
(4)代理(agent):負責網路層分組的產生和接收,也可以用在各個層次的協議實現中。每個agent連接到一個網路節點上,由該節點給它分配一個埠號。
(5)包(packet):由頭部和數據兩部分組成。一般情況下,packet只有頭部、沒有數據部分。
4、NS2的軟體構成
NS2包含Tcl/Tk, OTcl, NS,Tclcl。其中Tcl是一個開放腳本語言,用來對NS2進行編程;Tk是Tcl的圖形界面開發工具,可幫助用戶在圖形環境下開發圖形界面;OTcl是基於Tcl/Tk的面向對象擴展,有自己的類層次結構;NS2為本軟體包的核心,是面向對象的模擬器,用C++編寫,以OTcl解釋器作為前端;Tclcl則提供NS2和OTcl的介面,使對象和變數出現在兩種語言中。為了直觀的觀察和分析模擬結果,NS2 提供了可選的Xgraphy、可選件Nam。
5、NS現有的模擬元素
從網路拓撲模擬、協議模擬和通信量模擬等方面介紹NS的相應元素:
(1)網路拓撲主要包括節點、鏈路。NS的節點由一系列的分類器(Classifier,如地址分類器等)組成,而鏈路由一系列的連接器(Connector)組成。
(2)在節點上,配置不同的代理可以實現相應的協議或其它模型模擬。如NS的TCP代理,發送代理有:TCP,TCP/Reno,TCP/Vegas,TCP/Sack1,TCP/FACK,TCP/FULLTCP等,接收代理有:TCPSINK,TCPSINK/DELACK。TCPSINK/SACK1,TCPSINK/SACK1/DELACK等。此外,還提供有UDP代理及接收代理Null(負責通信量接收)、Loss Monitor(通信量接收並維護一些接收數據的統計)。
(3)網路的路由配置通過對節點附加路由協議而實現。NS中有三種單播路由策略:靜態、會話、動態。
(4)在鏈路上,可以配置帶寬、時延和丟棄模型。NS支持:Drop-tail(FIFO)隊列、RED緩沖管、CBO(包括優先權和Round-robin 調度)。各種公平隊列包括:FQ,SFQ,DRR等。
(5)通信量模擬方面,NS提供了許多通信應用,如FTP,它產生較大的峰值數據傳輸;Telnet則根據相應文件隨機選取傳輸數據的大小。此外,NS提供了四種類型的通信量產生器:EXPOO,根據指數分布(On/Off)產生通信量,在On階段分組以固定速率發送,Off階段不發送分組,On/Off的分布符合指數分布,分組尺寸固定;POO,根據Pareto分布(On/Off)產生通信量,它能用來產生長范圍相關的急劇通信量;CBR,以確定的速率產生通信量,分組尺寸固定,可在分組間隔之間產生隨機抖動;Traffic Trace,根據追蹤文件產生通信量。
④ 神經網路都需要設置節點數嘛
輸入向量維數=輸入層節點數輸出向量維數=輸出層節點數看來你是做三層網路,只有一個隱藏層。隱藏層節點數,傳遞函數選擇都是開放課題。看你要解決什麼問題。如果簡單做demo,就自己嘗試就可以了。
⑤ OPNET雙工ALOHA模型中節點模型應該如何設置
在網路層放置幾個節點,然後運行就可以了。
把GEN模塊的發送速率提升到網路層,這樣模擬的時候可以設置不同的發送速率,組後對比結果
⑥ 急 急 急 求一篇關於《通信網路模擬研究》的論文
幫您下了兩篇,希望對您有所幫助哦!祝您愉快!
1
題目:基於無線感測器網路模擬平台的研究
一、引言
感測器網路(WSN)日新月異,各種網路方案和協議日趨復雜,網路規模日趨龐大,對網路研究人員而言,掌握網路模擬的重要性是不言而喻的。WSN模擬能夠在一個可控制的環境里研究WSN應用,包括操作系統和網路協議棧,能夠模擬數量眾多的節點,能夠觀察由不可預測的干擾和雜訊引起的難以琢磨的節點間的相互作用,獲取節點間詳細的細節,從而提高節點投放後的網路成功率,減少投放後的網路維護工作。目前無線感測器網路使用的模擬工具主要有NS2、TinyOS、OPNET、OMNET++等等。其中TinyOS是專門針對無線感測器網路的特點而研究開發的。
二、無線感測器網路模擬簡介
在感測器網路中,單個感測器節點有兩個很突出的特點。一個特點是它的並發性很密集;另一個特點是感測器節點模塊化程度很高.上述這些特點使得無線感測器網路模擬需要解決可擴展性與模擬效率、分布與非同步特性、動態性、綜合模擬平台等等問題。
三、無線感測器網路常用模擬工具
無線感測器網路常用模擬工具有NS2、OPNET、OMNET++、TinyOS,下面我們簡要介紹它們各自的性能和特點。
3.1 NS2
NS是一種可擴展、以配置和可編程的時間驅動的模擬工具,它是由REAL模擬器發展而來.在NS的設計中,使用C++和OTCL兩種程序設計語言, C++是一種相對運行速度較快但是轉換比較慢的語言,所以C++語言被用來實現網路協議, 編寫NS底層的模擬引擎; OTCL是運行速度較慢,但可以快速轉換的腳本語言,正好和C++互補,所以OTCL語言被用來配置模擬中各種參數,建立模擬的整體結構, OTCL的腳本通過調用引擎中各類屬性、方法,定義網路的拓撲,配置源節點、目的節點建立鏈接,產生所有事件的時間表,運行並跟蹤模擬結果,還可以對結果進行相應的統計處理或制圖.NS可以提供有線網路、無線網路中鏈路層及其上層精確到數據包的一系列行為模擬。NS中的許多協議都和真實代碼十分接近,其真實性和可靠性是非常高的。
3.2 OPNET
OPNET是在MIT研究成果的基礎上由MIL3公司開發的網路模擬軟體產品。 OPNET的主要特點包括以下幾個方面:(1)採用面向對象的技術,對象的屬性可以任意配置,每一對象屬於相應行為和功能的類,可以通過定義新的類來滿足不同的系統要求; (2)OPNET提供了各種通信網路和信息系統的處理構件和模塊;(3) OPNET採用圖形化界面建模,為使用者提供三層(網路層、節點層、進程層)建模機制來描述現實的系統;(4) OPNET在過程層次中使用有限狀態機來對其它協議和過程進行建模,用戶模型及OPNET內置模型將會自動生成C語言實現可執行的高效、高離散事件的模擬流程;(5) OPNET內建了很多性能分析器,它會自動採集模擬過程的結果數據;(6)OPNET幾乎預定義了所有常用的業務模型,如均勻分布、泊松分布、歐蘭分等。
3.3 OMNET++
OMNET++是面向對象的離散事件模擬工具,為基於進程式和事件驅動兩種方式的模擬提供了支持。 OMNET++採用混合式的建模方式,同時使用了OMNET++特有的ned(Network Discription,網路描述)語言和C++進行建模。OMNET++主要由六個部分組成:模擬內核庫、網路描述語言的編譯器、圖形化的網路編譯器、模擬程序的圖形化用戶介面、模擬程序的命令行用戶介面和圖形化的向量輸出工具。OMNET++的主要模型拓撲描述語言NED,採用它可以完成一個網路模型的描述。 網路描述包括下列組件:輸入申明、信道定義、系統模塊定義、簡單模塊和復合模塊定義。使用NED描述網路,產生.NED文件,該文件不能直接被C++編譯器使用,需要首先採用OMNET++提供的編譯工具NEDC將.NED文件編譯成.cpp文件。最後,使用C++編譯器將這些文件與用戶和自己設計的簡單模塊程序連接成可執行程序。
3.4 TinyOS
TinyOS是專門針對感測器研發出的操作系統。在TinyOS上編程序使用的語言為nesC(C language for network embedded systems) 語言。
nesC語言是由C語言擴展而來的,意在把組件化/模塊化思想和TinyOS基於事件驅動的執行模型結合起來。 nesC 組件有Mole(模塊)和Configuration(連接配置文件)兩種。在模塊中主要實現代碼的編制,在連接配置文件中主要是將各個組件和模塊連接起來成為一個整體。
TinyOS程序採用的是模塊化設計,所以它的程序核心往往都很小,能夠突破感測器存儲資源少的限制,這能夠讓TinyOS很有效的運行在無線感測器網路上並去執行相應的管理工作等。TinyOS的特點主要體現在以下幾個方面:
(1)組件化編程(Componented-Based Architecture)。TinyOS的組件通常可以分為以下三類:硬體抽象組件、合成組件、高層次的軟體組件;硬體抽象組件將物理硬體映射到TinyOS組件模型.合成硬體組件模擬高級硬體的行為.高層次軟體模塊完成控制、路由以及數據傳輸等。}
(2)事件驅動模式(Event-Driven Architecture)。事件驅動分為硬體驅動和軟體事件驅動。硬體事件驅動也就是由一個硬體發出中斷,然後進入中斷處理函數。而軟體驅動則是通過singal關鍵字發出一個事件。
(3)任務和事件並發模式(Tasks And Events Concurrency Model)。任務用在對於時間要求不是很高的應用中,任務之間是平等的,即在執行時是按順序先後來的,而不能相互搶占,TinyOS對任務是按簡單的FIFO隊列進行處理的。事件用在對於時間的要求很嚴格的應用中,而且它可以佔先優於任務和其他事件執行。
(4)分段執行(Split-Phase Operations)。在TinyOS中由於tasks 之間不能互相佔先執行,所以TinyOS沒有提供任何阻塞操作,為了讓一個耗時較長的操作盡快完成,一般來說都是將對這個操作的需求和這個操作的完成分開來實現,以便獲得較高的執行效率。
(5) 輕量級線程(lightweight thread)。輕量級線程(task, 即TinyOS中的任務)按FIFO方式進行調度,輕量級線程之間不允許搶占;而硬體處理線程(在TinyOS中,稱為硬體處理器),即中斷處理線程可以打斷用戶的輕量級線程和低優先順序的中斷處理線程,對硬體中斷進行快速處理響應。
(6) 主動通信消息(active message)。每一個消息都維護一個應用層和處理器。當目標節點收到這個消息後,就會把消息中的數據作為參數,並傳遞給應用層的處理器進行處理。應用層的處理器一般完成消息數據的解包操作、計算處理或發送響應消息等工作。
TinyOS操作系統中常用的模擬平台主要是TOSSIM和Avrora
(1)TOSSIM(TinyOS simulation)是一個支持基於TinyOS的應用在PC機上運行的模擬器.TOSSIM運行和感測器硬體相同的代碼,模擬編譯器能直接從TinyOS應用的組件表中編譯生成模擬程序。
(2)Avrora是一種專門為Atmel和Mica2節點上以AVR單片機語言編寫的程序提供模擬分析的工具。它的主要特點如下:1) 為AVR單片機提供了cycle accurate級的模擬,使靜態程序可以准確的運行。它可以模擬片上(chip-on)設備驅動程序,並為片外(off-chip)程序提供了有規則的介面;2)可以添加監測代碼來報告模擬程序運行的性能,或者可以在模擬結束後收集統計數據,並產生報告;3)提供了一套基本的監控器來剖析程序,這有助於分析程序的執行模式和資源使用等等;4)Avrora可以用gdb調試程序;5) Avrora可以為程序提供一個程序流圖,通過這個流程圖可以清楚的表示機器代碼程序的結構和組織;6) Avrora中提供了分析能量消耗的工具,並且可以設置設備的帶電大小;7) Avrora可以用來限製程序的最大堆棧空間,它會提供一些關於目前程序中的最大的堆棧結構,和一些關於空間和時間消耗的信息報告。
3.5性能比較
TinyOS 用行為建模,可以模擬跨層協議;模擬程序移植到節點上,不需要二次編碼。
通過對上述幾種模擬軟體的分析比較,我們可以清楚的看到各個模擬軟體的特點、適用范圍,我們可以根據研究需要選擇適合的模擬軟體,使得我們的學習研究可以事半功倍。
結束語
網路模擬技術為通信網路規劃和優化提供了一種科學高效的方法。網路模擬在國內是近幾年才發展起來的,但在國外網路模擬技術已經相當成熟,我們應該大膽地借鑒國外先進技術,促進國內網路模擬技術迅速發展。
參考文獻
【1】於海斌,曾鵬等.智能無線感測器網路.科學出版社,2006,p283~p303,
【2】石懷偉,李明生,王少華,網路模擬技術與OPNET應用實踐,計算機系統應用2006.第3期
【3】李玥,吳辰文,基於OMNeT++地TCP/IP協議模擬,蘭州交通大學學報(自然科學版),2005年8月
【4】袁紅林,徐晨,章國安,TOSSIM:無線感測器網路模擬環境,感測器與儀表儀器 ,2006年第22卷第7-1期
2
集群虛擬伺服器的模擬建模研究
來源:電子技術應用 作者:楊建華 金笛 李燁 寧宇
摘要:闡述了集群虛擬伺服器的工作原理和三種負載均衡方式,通過實例討論了虛擬伺服器的模擬和建模方法,創建了測試和模擬系統性能的輸入和系統模型,並依據Q—Q圖和累積分布函數校驗了其概率分布。
關鍵詞:集群虛擬伺服器負載均衡模擬建模概率分布
隨著互聯網訪問量和數據流量的快速增長,新的應用層出不窮。盡管Intemel伺服器處理能力和計算強度相應增大,但業務量的發展超出了先前的估計,以至過去按最優配置建設的伺服器系統也無法承擔。在此情況下,如果放棄現有設備單純將硬體升級,會造成現有資源的浪費。因此,當前和未來的網路服務不僅要提供更豐富的內容、更好的交互性、更高的安全性,還要能承受更高的訪問量,這就需要網路服務具有更高性能、更大可用性、良好可擴展性和卓越的性價比。於是,集群虛擬伺服器技術和負載均衡機制應運而生。
集群虛擬伺服器可以將一些真實伺服器集中在一起,組成一個可擴展、高可用性和高可靠性的統一體。負載均衡建立在現有網路結構之上,提供了一種廉價、有效和透明的方法建立伺服器集群系統,擴展網路設備和伺服器的帶寬,增加吞吐量,加強網路數據處理能力。提高網路的靈活性和可用性。使用負載均衡機制.大量的並發訪問或數據流量就可以分配到多台節點設備上分別處理。系統處理能力得到大幅度提高,大大減少用戶等待應答的時間。
實際應用中,虛擬伺服器包含的真實伺服器越多,整體伺服器的性能指標(如應答延遲、吞吐率等)越高,但價格也越高。在集群中通道或其他部分也可能會進入飽和狀態。因此,有必要根據實際應用設計虛擬伺服器的模擬模型,依據實際系統的測量數據確定隨機變數的概率分布類型和參數,通過分位點一分位點圖即Q-Q圖(Quaantile-Quantile Plot)和累積分布函數(Cumulative Distribution Functions)等方法校驗應答或傳播延遲等性能指標的概率分布,通過模擬軟體和工具(如Automod)事先分析伺服器的運行狀態和性能特點,使得集群系統的整體性能穩定,提高虛擬伺服器設計的客觀性和設計的可靠性,降低伺服器建設的投資風險。
1 集群虛擬伺服器的體系結構
一般而言,首先需要在集群虛擬伺服器上建立互聯網協議偽裝(Internet Protocol Masquerading)機制,即IP偽裝,接下來創立IP埠轉發機制,然後給出在真實伺服器上的相關設置。圖1為集群虛擬伺服器的通用體系結構。集群虛擬伺服器通常包括:真實伺服器(RealServers)和負載均衡器(Load Balmlcer)。
由於虛擬伺服器的網路地址轉換方式是基於IP偽裝的,因此對後台真實伺服器的操作系統沒有特別要求,可以是windows操作系統,也可以是Lmux或其他操作系統。
負載均衡器是伺服器集群系統的惟一入口點。當客戶請求到達時,均衡器會根據真實伺服器負載情況和設定的調度演算法從真實伺服器中選出一個伺服器,再將該請求轉發到選出的伺服器,並記錄該調度。當這個請求的其他報文到達後,該報文也會被轉發到前面已經選出的伺服器。因為所有的操作都在操作系統核心空間中完成,調度開銷很小,所以負載均衡器具有很高的吞吐率。整個伺服器集群的結構對客戶是透明的,客戶看到的是單一的虛擬伺服器。
負載均衡集群的實現方案有多種,其中一種是Linux虛擬伺服器LVS(Linux Virtual Server)方案。LVS實現負載均衡的技術有三種:網路地址轉換(Network Address Translation)、直接路由(Direct Routing)和IP隧道(IP Yunneling)。
網路地址轉換按照IETF標准,允許一個整體機構以一個公用IP地址出現在Inlemet上。通過網路地址轉換,負載均衡器重寫請求報文的目標地址,根據預設的調度演算法,將請求分派給後端的真實伺服器;真實伺服器的應答報文通過均衡器時,報文的源地址被重寫,把內部私有網路地址翻譯成合法網路IP地址,再返回給客戶,完成整個負載調度過程。
直接路由的應答連接調度和管理與網路地址轉換的調度和管理相同,但它的報文是直接轉發給真實伺服器。在直接路由應答中,均衡器不修改、也不封裝IP報文.而是將數據幀的媒體接入控制MAC(Medium Aceess Control)地址改為選出伺服器的MAC地址,再將修改後的數據幀在區域網上發送。因為數據幀的MAC地址是選出的伺服器,所以伺服器肯定可以收到該數據幀,從中獲得該IP報文。當伺服器發現報文的目標地址在本地的網路設備時,伺服器處理該報文,然後根據路由表應答報文,直接返回給客戶。
IP隧道是將一個IP報文封裝在另一個IP報文中的技術。該技術可以使目標為某個口地址的數據報文被封裝和轉發到另一個IP地址。用戶利用IP隧道技術將請求報文封裝轉發給後端伺服器,應答報文能從後端伺服器直接返回給客戶。這樣做,負載均衡器只負責調度請求,而應答直接返回給客戶,不需要再處理應答包,將極大地提高整個集群系統的吞吐量並有效降低負載均衡器的負載。IP隧道技術要求所有的伺服器必須支持IP Yunnehng或lP.封裝(Encapsulation)協議。
2 集群虛擬伺服器報文延遲的確定
通過一個裝有5台真實伺服器並使用網路地址轉換技術實現Linux虛擬伺服器的實際系統,可以得到有關請求和應答報文的時戳(Time Stamp)文件n根據這些文件.能夠計算出集群虛擬伺服器的模擬和建模所需數據。
為了確定隨機變數分布類型和參數,應該統計下列延遲:(1)從客戶到負載均衡器的傳播延遲(Transport Delay);(2)負載均衡器的應答延遲(Response Delay);(3)從負載均衡器到真實伺服器的傳播延遲;(4)真實伺服器的應答延遲;(5)從真實伺服器到負載均衡器的傳播延遲;f61負載均衡器對真實伺服器的應答延遲;(7)從負載均衡器到客戶的傳播延遲。
在實際系統產生的時戳文件中,問接地描述了上述各延遲時間。文件包含的內容如下:
當一個服務請求到達集群虛擬伺服器系統時,即產生帶有惟一序列號的同步請求報文(Synchronized Request Package),將該報文轉發到某一真實伺服器,同時建立該伺服器與客戶端的連接,每個這樣的連接都帶有惟一的埠號;該伺服器處理通過該連接的確認請求報文(Acknowledgement Request Package),直到伺服器收到結束請求報文(Finished Request Package)。對每一種類型的請求報文,系統都給予一個相應的應答報文。因此,在不同的報文時戳文件中,如果兩條記錄具有相同的埠號、報文類型和序列號,則它們是同一個請求或應答報文,對相關的時戳相減即可得到集群虛擬伺服器系統的模擬和建模所需的延遲數據。通過所編寫的C++程序即可計算這些延遲。
3 系統模擬模型
上述的集群虛擬伺服器實際系統的模擬模型如圖2所示,在負載均衡器、各通道、5台真實伺服器中通過或處理的均為請求或應答報文。
4 隨機變數模型的確定
對具有隨機變數的集群虛擬伺服器進行模擬,必須確定其隨機變數的概率分布,以便在模擬模型中對這些分布進行取樣,得到所需的隨機變數。
4.1 實際虛擬伺服器的延遲數據概況
在實際虛擬伺服器的負載均衡器、各通道和5台真實伺服器中,對請求和應答報文都有一定的延遲。部分報文延遲的統計數據如表1所示。
由表l中的數據可見,報文延遲的中位數與均值差異較大,所以其概率分布不對稱;變異系數不等於l,導致概率分布不會是指數分布,而可能是γ分布或其他分布。
4.2 隨機變數的概率分布
圖3為第一台真實伺服器到負載均衡器之間的通道報文傳播延遲直方圖,其中t為報文延遲時間,h(t)為報文延遲區間數。由圖3可知,通道內的報文傳播延遲數據近似服從γ分布或對數正態分布。
描述γ分布需要兩個參數:形狀(Shape)參數α和比例(Scahj)參數口,這兩個參數與均值M、方差V之間的關系是非線性的:
描述對數正態分布也需要形狀參數σ和比例參數μ,這兩個參數與均值M、方差V之問的關系也是非線性的:
式(1)~(4)都可以通過最大似然估計MLE(Maximum Likelihood Estimator)方法或最速下降法(Steepest Descent Method)求出。表2給出了甩這兩種方法求出的從第一台真實伺服器到負載均衡器之間通道內的報文延遲概率分布參數。
使用累積分布函數和Q-Q圖可以校驗並進一步確定上述通道內報文傳播延遲的概率分布。取用表2中的參數,可以得到γ分布的累積分布函數,如圖4所示,其中t為報文延遲時間,F(t)為報文延遲的累積分布函數。為作比較,實驗分布也畫在該圖中。γ分布和對數正態分布的Q-Q圖如圖5所示。
由圖4和圖5可以看出,γ分布較好地擬合了該通道內的報文傳播延遲數據分布。其他通道報文延遲直方圖也有類似形狀。經計算和分析,這些通道的報文傳播延遲概率分布也近似服從γ分布。
根據表1中的數據以及相關的直方圖都難以確定在負載均衡器和真實伺服器中報文延遲的理論分布。因此,採用實驗分布作為其模型。
5 模型模擬
在建立了圖1所示的集群虛擬伺服器的系統模擬模型並確定了其隨機變數的分布特性後,可以採用由美國布魯克斯自動化公司(Brooks Automation)開發的模擬軟體Automod輸入該模型,並通過在Automod環境中編程進行集群虛擬伺服器的模擬和分析。
在Automod的模擬過程中,可以直接利用軟體提供的資源(Resource)作為各種報文數據處理的單元;系統各部分的報文排隊活動可以直接通過排隊(Queue)實現;建立一個負載產生器,等效為在Inlemtet上使用虛擬伺服器的客戶。
通過採用Automod的屬性變數(Attribute Variable)可以解決負載均衡器的雙方向報文處理功能的問題。負載均衡器使用輪轉調度演算法(Round Robin Scheling),即假設所有真實伺服器的處理性能均相同,依次將請求調度到不同的伺服器。
驗證模擬模型可以分別在實際虛擬伺服器系統和Automod的模擬模型中從以下兩方面進行對比:(1)在負載均衡器、各個真實伺服器和通道中排隊的應答或傳播報文數量;(2)真實伺服器及負載均衡器的cPU利用率。例如,當使用實際的應答或傳播報文延遲數據時,在Automod的模擬模型中,如果設置一個較低的資源量,則在模擬過程中就會發現大部分的負載都被堵在真實伺服器的排隊中,即真實伺服器處理報文的能力過低,無法與實際系統的狀況相比;如果設置一個較高的資源量,則意味著伺服器的並行處理能力增加,真實伺服器的利用率提高,負載就很少或不會滯留在真實伺服器的排隊中。因此,在Automod中可以根據實際情況調整模擬模型的資源量大小。
如果在Automod中增加負載產生器的負載產生率,就等效為用戶訪問量增加,通過觀察排隊中的負載滯留比例,就可以發現系統的最大處理報文的能力以及系統各部分應答報文可能出現瓶頸之處。例如,將負載產生率增加一倍,雖然系統仍然可以處理所有的報文,但各台真實伺服器的平均利用率將達80%左右。顯然,這時系統應答報文的「瓶頸」為真實伺服器,有必要在系統中增添一台新的真實伺服器。
通過一個包括5台真實伺服器的實際虛擬伺服器系統。收集並計算了模擬和建模的樣板數據。依據系統報文延遲的中位數、均值、變異系數和直方圖等,確定了系統隨機變數的概率分布;採用最大似然估計方法和最速下降法,得到了通道概率分布的具體參數;根據Q-Q圖和累積分布函數進一步校驗並最終確定通道的概率分布形式。使用Automod軟體進行了模擬建模和編程,藉助模擬結果可以發現虛擬伺服器的最大處理能力和可能的「瓶頸」之處。通過及時定位系統「瓶頸」,可以有的放矢地進一步研究和改進系統,有效提高系統性能。所採用的模擬方法也可以用於其他領域的模擬建模或分析中。
在模擬模型中,負載均衡方式和調度演算法還需要進一步增加,以便於比較不同的虛擬伺服器系統。樣本數據也需要進一步擴充,以避免報文延遲的自相關性。
⑦ opnet 中如何動態設置節點發射功率大小
有2種方法:
最簡單的方法就是直接在標簽中寫onclick="",但是這樣寫其實是有點low的,
第二種方式是通過給類名綁定一個事件。
<pid="pLabel">新加一條</p>
<ulid="ulLabel">
<liclass="liLabel">aaa1</li>
<liclass="liLabel">aaa2</li>
<liclass="liLabel">aaa3</li>
</ul>
<scripttype="text/javascript">
$("#pLabel").click(function(){
$("#ulLabel").append('<liclass="liLabel">aaaQ</li>');//動態像ul的末尾追加一個新元素
});
</script>
方法一:使用live
live()函數會給被選的元素綁定上一個或者多個事件處理程序,並且規定當這些事件發生時運行的函數。通過live()函數適用於匹配選擇器的當前及未來的元素。比如,通過腳本動態創建的元素。
$('.liLabel').live('click',function(){
alert('OK');
});
方法二:使用on
可以通過on方法綁定事件,可以綁定到它的父級或者body中,實現如下:
$("#ulLabel").on('click','.liLabel',function(){
alert('OK')
});
或者:
$("body").on('click','.liLabel',function(){
alert('OK')
});
注意綁定的事件,需要綁定在父元素。
⑧ 請問OPNET做模擬時如何設置業務參數謝謝!
你是想問設置參數類型嗎?在節點模型下的進程中 Interfaces->Model Attributes 中設置 Defult Vaule
⑨ simulink模擬的步長一般設置為多少才合適
我做電力系統和電力電子方面的一般都設為5e-5,其他領域的不太了解
⑩ 配電網中的節點數一般有多少,最好舉個實際例子
以一個簡單的11節點樹狀網為例,其節點和支路編號採用與網路結構無關的自然編號(即從1開始的自然數順序編號),其具體網路結構如圖1所示: 在這個網路中,支路1、2、5屬於同一層次,當計算支路功率損耗和電壓損耗時,彼此不相關,可以並行計算。同樣,支路3、4、6、7、8、10也屬同一層,其功率損耗和電壓損耗也可以並行計算。這樣,根據圖1網路的拓撲結構,可以直觀地看到網路支路共分為3層,且可以知道每一層的支路情況以及每一支路的送端節點和受端節點情況。顯然,只要了解了這些信息,就能夠分層實現功率前推和電壓回代的並行計算,而且無需對節點和支路重新編號。 為了描述以上的網路層次信息,定義如下: (1)網路層次矩陣L: 設網路分為Li層,每層包含的支路數最多為M,則網路層次矩陣L是1個(Li´M)矩陣,第i行的非零元素就是網路第i層包含的支路編號,非零元素的個數就是該層包含的支路數。從L1層到Li層代表了功率流動的方向,前推時從Li層到L1層,回代時從L1層到Li層。 (2)支路送端節點矩陣f和受端節點矩陣t:由於原始數據中支路的首節點到末節點的方向不一定就是功率流向,因此必須根據功率方向來確定支路的送端節點和受端節點。每條支路上的功率都由該支路的送端流向受端,支路送端節點矩陣和受端節點矩陣都是一維矩陣,元素個數等於支路數,第i個元素就是支路i的送端(受端)節點編號。 (3)支路層次關聯矩陣C: 設網路支路數為N,支路層次關聯矩陣為1個(N´N)的矩陣。矩陣第i行j列元素為1,表示支路i與支路j為上下層關系,它們直接相連,且支路i的上層支路是支路j,支路j的下層支路是支路i。當支路間沒有這種直接的上下層次關系時,對應的元素為0。 在上述幾個矩陣中,以網路層次矩陣描述整個網路的支路分層情況。支路送端節點矩陣和受端節點矩陣反映每條支路與送端、受端節點的關聯關系。支路層次關聯矩陣反映的是支路之間的直接上下層次關系。 下面介紹一下如何分析網路結構,以形成這幾個矩陣: (1)形成網路層次矩陣L、支路送端節點矩陣f和受端節點矩陣t。 進行網路層次分析時,首先形成節點-支路關聯矩陣。若節點數為N,則輻射型網路的支路數必定為N-1,節點-支路關聯矩陣是1個N´N-1矩陣。當節點i與支路j相連時,則關聯矩陣的i行j列元素為1,不相連時,則該元素為0。由此形成的節點-支路關聯矩陣,每一列有兩個非零元素,其對應的行號就是該列支路的兩端節點編號;每一行的非零元素對應的列號就是與該行節點相連的支路編號。圖1網路的節點-支路關聯矩陣A為式中 行表示節點1~11;列表示支路1~10。 從根節點7,即矩陣A的第7行出發,僅找到第9列的元素為1,即節點7僅與支路9相連。與根節點相連的所有支路都屬於第1層支路,且根節點為送端節點,所以第1層支路為支路9,支路9的送端節點為7,受端節點為支路9的另一端節點,即矩陣第9列上另一個非零元素對應的節點1,這就是網路的第1層分析。 從網路第1層支路的所有受端節點出發,與它們相連的其他所有支路屬於第2層支路,第2層支路的送端節點為第1層支路的受端節點。從節點1出發,查找矩陣A第1行的元素,找到第1、2、5列元素為1,故第2層支路為支路1、2、5,它們的送端節點為節點1,受端節點分別為相應列上另一個非零元素對應的節點。依次查找下去,沿著矩陣A中的軌跡可以整理出整個網路的層次結構和每條支路的送端、受端節點,其中實線表示第1層分析軌跡,虛線表示第2層分析軌跡,點劃線表示第三層分析軌跡。 網路層次分析以後,形成的網路層次矩陣L(行表示L1~L3層)、支路送端節點矩陣f和受端節點矩陣t(列表示支路1~10)為 (2)形成支路層次關聯矩陣C。 除了第1層支路沒有上層支路外,任意1條支路只有1條直接相連的上層支路,而且始終遵循這樣的原則:該支路的送端節點就是與其直接相連的上層支路的受端節點。通過支路送端節點和受端節點矩陣,可以很容易地找到任意一條支路的直接上層支路,比如由支路送端節點矩陣f找到任意支路i的送端節點bi,然後由支路受端節點矩陣t找到受端節點為bi的支路j,這就意味著支路i的上一層支路為支路j,即矩陣的i行j列元素為1。 查找每條支路的直接上層支路,可形成支路層次關聯矩陣,圖1網路的支路層次關聯矩陣C為式中 行表示節點1~10;列表示支路1~10。 從支路層次關聯矩陣可以查找任意支路的上層支路和下層支路。如果需要查找支路j的上一層支路,只需要知道矩陣C的第j行為1的元素所在的列就可以了;同樣,如果需要查找支路j的下一層支路,只需要知道矩陣C的第j列為1的元素所在的行就可以了。例如,從矩陣C的第1行可知支路1的上一層支路為支路9,從矩陣第2列可知支路2的下一層支路為支路6、7,等等。3 變壓器模型 當網路中存在變壓器時,通常採用圖2(b)所示的P型等值電路來等效圖2(a)的變壓器支路。但是,通過多次計算分析發現,當網路中存在三繞組降壓變壓器時,由於中壓側等效繞組的阻抗普遍很小(常常是很小的負阻抗),所以當中壓側變比時,將會產生很大的對地導納,導致前推回代法不收斂。 下面以一簡單的例子分析之,該例只有一個三繞組變壓器的樹狀網路,高壓端為根節點,中壓和低壓端接負荷,變壓器型號為SFPZ9-180000/220(220±8´1.25%/121/10.5,180/180/90),變壓器參數為SB=100MVA;基準電壓為220kV/110kV/10kV;Y0=0.000748-j0.000799pu;VH=1.05pu;SM=0.09+j0.03pu;SL=0.04-j0.04pu;網路等值電路如圖3所示,等值參數見表1。 當三側等效雙繞組支路採用P型等值電路時,前推回代法不收斂。如果把中壓側的變比改為1,而阻抗不變,或把中壓側的阻抗增大為低壓側或高壓側的阻抗,而變比不變,前推回代法都可以收斂。對同樣的網路,我們又測試了其它型號的三繞組變壓器,而且還改變了功率和電壓,都得到同樣的結論。所以可以確定不收斂的原因是中壓側的非標准變比和小阻抗聯合作用產生的較大的對地導納。 為了解決∏型等效模型產生的不收斂問題,本文根據理想變壓器只改變電壓、不改變傳送功率的原理,提出了一種新的電壓變換模型來處理變壓器支路,並推導了在前推和回代時的公式,具體如下: 對於變壓器支路,根據功率的流向,存在升壓和降壓兩種方式,圖4(a)為降壓方式,圖4(b)為升壓方式,它們的處理方法略有不同; 對於圖4(a)的降壓方式有 對於圖4(b)的升壓方式有 4 分層前推回代法的主要步驟 同時考慮對地支路、線路支路、升壓變壓器和降壓變壓器支路的分層前推回代演算法如下: (1)功率前推 設支路受端計算電壓V為式中 φ為與該支路相連的下層支路集合。 支路送端功率為 根據網路層次矩陣,從網路的第L層前推到第1層,逐層更新支路送端功率,由支路層次矩陣得到各支路的φ集合。 (2)電壓回代 設支路送端計算電壓V為支路電壓損耗為 根據網路層次矩陣,從網路的第1層回代到第L層,逐層更新支路受端節點的電壓,也即更新了下一層支路的送端節點電壓。 式(5)~(10)中,Vf為支路送端節點電壓;Vt為支路受端節點電壓;由支路送端節點矩陣和受端節點矩陣可以容易得到;Y為支路受端節點對地導納;S0為支路受端節點負荷;Z為支路阻抗;S¢是支路受端功率;S為支路送端功率;k為變壓器支路變比;*表示共軛。 在MATLAB環境下,以上的功率前推和電壓回代計算,都可以直接利用其快速的復數矩陣運算功能來實現。此時,式(5)~(10)中的變數都是復數的矩陣變數,它們可以直接進行相關的代數運算,其中,乘、除和乘方運算都使用點乘、點除和點乘方的方式,而取復數的共軛採用函數conj(·)。這樣,只需簡單的6句代碼就可以實現式(5)~(10)相應的潮流計算,代碼量非常少,且相對單條支路功率前推和電壓回代計算的循環實現方式,速度將會大幅度提高,且規模越大,速度提高的幅度越大。5 算例 為了對比本文的分層前推回代法與文[3]的前推回代法,在MATLAB環境下進行了相應演算法的程序編制,並分別以IEEE40節點樹狀網和一個實際的1338節點城市配電網路作為算例進行了計算,兩種演算法的計算結果完全一樣,但分層前推回代法計算時間分別為0.03s和0.75s,文[3]的前推回代法計算時間分別為0.12s和91s。這顯示出分層前推回代法在計算速度上的明顯優勢,並且網路規模越大,優勢越顯著。這是由於隨著網路規模的增大,在供電半徑的限制下網路層次不可能增大很多,因此相比較而言分層的效果更顯著,例如IEEE40節點網路的39條支路分為10層,平均每層只有4條支路,而1338節點網路的1337條支路共分為38層,平均每層35條支路,最多的一層上有113條支路。6 結論 利用輻射型網路同一層次之間的支路功率前推和電壓回代相互獨立的特點,本文提出了一種新穎的分層前推回代演算法。該演算法將網路支路按層次進行分類,並分層並行計算各層次的支路功率損耗和電壓損耗,因而可大幅度提高配網潮流的計算速度。本文在MATLAB環境下,利用其快速的復數矩陣運算功能,實現了文中的分層前推回代演算法,也取得了非常明顯的速度效益。另外,本文還發現並討論了當變壓器支路阻抗過小時,利用∏型模型會產生數值巨大的對地導納,由此會導致潮流不收斂。為此,本文根據理想變壓器對功率和電壓的變換原理,提出了一種有效的電壓變換模型來處理變壓器支路,從而改善了潮流演算法的收斂特性。算例結果表明:該演算法計算速度快、收斂性好,對於大規模輻射型網路,效果尤其明顯。參考文獻[1] GoswamiSK,BasuSK,PHD,[J].IEEProc.Gener.Trans.Distrib.1991.138(1):78-88.[2] 蔡中勤,郭志忠(CaiZhongqin,GuoZhizhong).基於逆流編號法的輻射型配電網牛頓法潮流(ique)[J].中國電機工程學報(ProceedingsoftheCSEE),2000,20(6):13-16.[3] 張堯,王琴(ZhangYao,WangQin).樹狀網的潮流演算法()[J].中國電機工程學報(ProceedingsoftheCSEE),1998,18(3):217-220.[4] GhoshS,DasD.Methodforload-[J].IEEProc.Gener.Trans.Distrib.1999,146(6):.[5] 孫宏斌,張伯明,相年德(SunHongbin,ZhangBoming,XiangNiande).配電潮流前推回推法的收斂性研究(Studyonconvergenceofback/)[J].中國電機工程學報(ProceedingsoftheCSEE).1999.19(7):26-29.[6] 謝開貴,周家啟(XieKaigui,ZhouJiaqi).樹狀網路潮流計算的新演算法()[J].中國電機工程學報(ProceedingsoftheCSEE).2001,21(9):116-120.[7] 於繼來,王江,柳焯(YuJilai,WangJiang,LiuZhuo).電力系統潮流演算法的幾點改進()[J].中國電機工程學報(ProceedingsoftheCSEE).2001,21(9):88沒有此對應沒有此對應