Peersim 学习日记 02 初步认识Cycle-based

安装好PeerSim后,自己也是不知道该如何下手。于是就各种百度搜索啦!然后找到

P2P仿真的课件:http://wenku.baidu.com/view/f8d23ac6aa00b52acfc7ca1a.html

一个P2P仿真的例子:http://wenku.baidu.com/view/dc3232f3f90f76c661371ae2.html


PeerSim 由两个模拟引擎组成:

1)基于循环的简化版,Cycle-based

2)事件驱动,Event-driven 


PerrSim 仿真模型的大致思想如下:

1)选择网络规模(即,节点的数量)

2)选择要实验的一个或多个协议,并初始化【到这里就有点迷迷糊糊了,这个协议是怎么弄得,怎么初始化的,完全不知道TvT

3)选择一个或多个Control对象来监测感兴趣的属性,并可以在仿真期间来调整这些参数(比如网络大小,协议的内部状态,等等)

4)读取包含上述信息的配置文件,调用仿真器 Simulator class运行仿真 【原来我们是要自己写一个配置文件,不过怎样写,现在的我是完全不知道呀


接下来的东西需要用到JAVA的知识,额,我是JAVA渣渣TvT

PeerSim 仿真过程中创建的所有对象是实现了一个或多个接口的类的实例,然后主要有以下接口:

1)Node:P2P网络由节点构成,一个节点是一个协议的容器;该接口提供了到它持有的协议及一个确定的节点ID的访问

2)CDProtocol:在周期驱动(cycle-driven)的模式下运行,该接口定义了在每个仿真周期中节点的行为

3)Linkable:一般都由协议来实现,这个接口为其它协议提供了访问邻居节点集合的服务,节点间相同的Linkable协议类的实例定义了一个覆盖网络

4)Control:实现了这个接口的类可以在仿真期间的某个时间点调度执行,这些类一般用于观察或修改仿真过程


Cycle-based仿真的生命周期:

1)读取配置文件(通过命令行参数传递进来),配置文件包含实验中涉及的对象的所有参数

2)仿真器初始化节点以及其中的协议来建立网络;每个节点具有相同类型的协议,即协议的实例构成了网络中的数组,每个节点是一个实例。

节点和协议的实例是通过克隆来创建的,只有一个原型是通过构造方法创建,其它的节点和协议都是从这个原型中克隆而来。

基于这个原因,协议类中Clone()方法的实现是很重要的。

3)初始化后,周期驱动的引擎调用在每个周期中的所有组件,直到到达设定的周期数目或者组件决定终止仿真。

换句话说,Cycle-based引擎在每一个周期中调用所有组件(Protocols和Controls)一次,直到完成了指定的周期数,或者某个组件决定终止仿真为止。



看到这个,感觉自己下一步,应该是了解配置文件到底是什么。

其实现在还不会编写任何程序,更别说用eclipse来实现Peersim了,嘛,给自己加油!!





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值