- 1、本文档共224页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
123omnet支持的并行分布仿真-找源代码、程序员
1.1 OMNeT++为何物?OMNeT++是一款面向对象的离散事件网络模拟器,可以实现的功能如下:
.无线电通信网络信道模拟
? 协议模拟? 模拟队列网络? 模拟多处理器和其他分布式硬件系统? 确认硬件结构? 测定复杂软件系统多方面的性能? 模拟其他的任何一种合适的离散事件系统
一款OMNeT++模拟器包括一些分层次的嵌入式模型,嵌入式模型的深度是无限的,即允许用户在模拟环境中绘制实际系统的逻辑结构.各模块通过信息的传输进 行通信,其信息可以包括任意复杂的数据结构,各模块均可以通过门或者线路直接发送信息给目标点或者也可以通过预先的路径进行传输.
各个模块可以有自己的参数集,参数集可以被用于定制模块行为,或者可以用于确定模拟拓扑图的参数.
模拟网络最底层的模块可以嵌入行为,这些模块被称为基本模块,它可以利用模拟器的库函数在C++进行编程.
OMNeT ++模拟器可以在根据不同的目的来改变用户接口: 调试、实例和批量执行。高级用户的接口可以把模块透明的交给用户,即允许控制模拟器执行以及可以通过改变模块中的变量/对象来干涉模拟器的执行,这在开发 /调试模拟器工程师非常有用的,用户接口也促进了模块工作的实现。
模拟器的接口和工具都非常轻便:目前得知它可以在Windows和各种UNIX操作系统下利用c++进行编译。
OMNeT ++还支持分布式并行仿真,OMNeT++可以利用多种机制来进行用于几个并联的分布式模拟器之间的通信仿真,比如MPI和指定的通道。这种并行仿真算法 可以很容易的进行扩展,也很容易加入新的模块。各个模块不必须要特定的结构来并行运行,这只是一个配置的问题。OMNeT++甚至还可以被用于并行模拟仿 真算法的多层次描述,因为模拟器可以在GUI下并行运行,这种GUI为运行过程提供了详细的反馈。
OMNEST是OMNeT++的一个商业版本,OMNeT++只在学术和非盈利性活动免费,在进行商业性研究时需要从Global公司获得OMNEST许可证。2.1 建模的概念
OMNeT++为用户提供了有效的用于描述实际系统结构的工具。一些主要的特征表现如下:
(1) 分层次嵌入式模块
(2) 各模块以模块类型分类
(3) 模块之间通过信号在通道上?的传输进行通信
(4) 灵活的模块参数
(5)拓扑描述语言
2.1.1 分层次的各模块
OMNeT ++模块包括分层次的嵌入式模块,这些模块通过彼此之间传输消息来进行通信。OMNeT++经常被描述成网络结构,最顶层的模块称为系统模块,系统模块包括子模块,其子模块还可以包括本身的子模块,模块嵌入的深度是没有限制的,它允许用户在模块结构中根据实际系统来绘制逻辑结构图。
模块结构利用OMNeT++ 的NED语言进行描述。2.1.2 模块类型
基本模块和复合模块都是模块类型的实例。当一种模块类型被用作一个建立块,则不管是基本模块和复合模块都没有区别。模块类型可以存储于文件中,并且可以保证与它实际的用法分别开来,这就意味着用户可以通过存在的模块类型进行分组,也可以创造组成库,这一特征在后面将会给出详细的介绍。
2.1.3 消息、门、链路
模块之间通过交换消息进行通信,在一个实际的模拟器中,可以使用计算机网络中的帧和包来替代消息。”本地仿真时间”前进.消息能够从其他的模块或从相同的模块抵达(自身的消息用于执行定时器).
门是模块的输入/输出,消息通过输出门发送出去,通过输入门进行接收。”纸盒”,在其内部和外部世界之间透明地转播消息.
2.1.4 包输出的建模—换句话说,”流量通过”结构,仅存在很少的延迟.如果你想模块化这些网络,OMNet++的数据率建模特征将不能使用.
2.1.5 参数表
模块可以有参数表,参数表可以在NED文件中指定,也可以在omnetpp.ini中进行配置。Numeric值的参数可以以灵活的方式构成拓扑结构.在一个复合模块中,其参数定义子模块数,门数,和形成内部连接的方法.
2.1.6 拓扑描述方法2.2? 设计算法? modules, gates, connections etc.
? parameters
? messages
? container classes (e.g. queue, array)
? data collection classes
? statistic and distribution estimation classes (histograms, P2 algorithm for calculating quantiles etc.)
? transient detection and result accuracy detection classes .
这些类是一个特殊的工具,允许运行的仿真对象的移动,显示他
文档评论(0)