1. 文章简介
1.1 摘要
在复杂的网络化异构系统时代,仅对设计中系统的部分、组件或属性进行独立仿真是不可行、不准确或不高效的。交互作用太多、太复杂,无法产生有意义的结果,而且以孤立的方式考虑系统的每个部分时,优化机会受到严重限制。所介绍的 COSSIM 仿真框架是首个已知的开源高性能仿真器,可全面处理包括处理器、外设和网络在内的系统;这种方法对 CPS/IoT 和高并行异构系统设计人员和应用开发人员都非常有吸引力。我们的高度集成方法通过精确的功率估算和安全子工具得到了进一步增强,这些工具可以挖掘所有系统组件,并对整个网络系统进行安全性和稳健性分析。此外,我们还开发了一个图形用户界面,以提供简便的仿真设置、执行和结果可视化。COSSIM 已在云计算和 CPS 系统的实际应用中进行了评估,显示出很高的准确性和性能,几乎与专用于模拟器的 CPU 数量成线性关系。
1.2 研究动机
针对CPS/IoT或依赖高度并行的异构系统的仿真场景,没有现有的、可靠的、高精度、高性能的工具
现有工具主要分为两类:
一种面向系统功能设计,针对物理器件、处理器、电子组件、用户行为、事件、消息等(Ptolemy、Matlab Simulink、Modelica-based Simulation Environments)
另外一种可以处理周期精度、功耗等,主要在WSN中广泛应用(TOSSIM、COOJA)
在云服务器仿真中常用的是:CloudSim及其衍生物
1.3 主要贡献
构建了一套COSSIM的仿真工具,具有高精度、高可信、高效的特点
仿真工具可以对系统性能、功耗、网络、安全等多方面进行评估
仿真工具主要面向两种系统:一种是Encompasses Systems(WSN、CPS、IoT等),另外一种是Cloud and Parallel/Distributed Systems
2. 实现方法
COSSIM主要针对的软件栈、动态网络、能耗仿真等几个方面
2.1 COSSIM组成
2.1.1 处理器仿真
主要使用 GEM5 对节点(处理器)进行仿真,它可以满足对周期精度、指令集、可配置等多个条件。但是由于GEM5不支持对能耗的仿真,因此使用 McPAT 对能耗进行补充
2.1.2 网络仿真
GEM5虽然可以支持到网络网卡(NIC)层级的仿真,但是不支持网络建模。使用 OMNET++ 处理从网卡层级及以上的仿真。
2.1.3 组件集成
需要在处理器仿真与网络仿真之间细心的设计通信接口和同步方案。使用 IEEE HLA 对网络数据、消息、同步等进行网络控制
2.2 COSSIM实现
用户输入
系统配置
、运行的应用
、系统镜像
、网络拓扑
等参数,通过仿真可以得到处理器/网络状态
、应用是模拟输出
、功耗
等信息GEM5和McPAT模块用于仿真节点,在运行的时候是多个实例进行并行的
OMNET++用于多节点之间的网络模拟
在节点(GEM5)和网络(OMNET++)之间通过HLA进行时钟同步
使用嵌入的COSSIMlib控制节点间的同步策略和全局同步策略
同一个网络上可以有多个不同算力,不同配置的GEM5实例,且节点间需要同时交换信息,因此同步是必要的
3. 实验结果
COSSIM在移动视觉搜索应用
和建筑管理系统应用
上进行仿真和验证
3.1 移动视觉搜索
移动视觉搜索(Mobile Visual Search,MVS)是一个计算机视觉应用,主要分为图像分析和搜索两个阶段
实验条件:
Mobile Odroid XU3 (equipped with a quad Cortex-A15 and a quad Cortex-A7)
Mobile STMicroelectronics B2260 (a dualcore Cortex-A9)
Server Intel Core i5-5200 quad core processor
Network The server and the mobile nodes are connected through a wireless link
精度结果
速度结果
3.2 性能扩展
当物理 CPU 内核数与模拟系统中的节点数相匹配时,性能下降幅度很小
一旦节点数超过可用 CPU 内核数,性能就会急剧下降
此外,我们还可以观察到分布式模拟场景网络的影响是有限的