CN104601697A - 一种云实验平台下资源优化方法 - Google Patents
一种云实验平台下资源优化方法 Download PDFInfo
- Publication number
- CN104601697A CN104601697A CN201510017628.7A CN201510017628A CN104601697A CN 104601697 A CN104601697 A CN 104601697A CN 201510017628 A CN201510017628 A CN 201510017628A CN 104601697 A CN104601697 A CN 104601697A
- Authority
- CN
- China
- Prior art keywords
- brassboard
- experiment
- cloud
- fpga
- boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开一种云实验平台下资源优化方法,属于云计算技术领域,具体步骤为①网络通信优化:保持网络通信顺畅,减少通信次数;②实验板资源优化:利用实验板资源池,对实验板分配进行优化;③实验快照及恢复;利用JTAG边界扫描技术对实验快照及恢复;本发明提供一种云实验平台下资源优化方法,采用多阻塞通信,通过设计新的通信协议格式、使用swith语句等手段减少网络延迟; 设计适合于云实验平台的最近最少调度算法指导实验板资源的分配;开发实验快照及恢复机制提高在资源利用率。
Description
技术领域
本发明公开一种云实验平台下资源优化方法,属于云计算技术领域。
背景技术
当今信息技术发展迅速,各类新技术、新器件和新产品不断涌现,高校实验教学内容不断更新,与之配套的硬件器材更新换代速度也不断加快。传统的现场实验教学方式虽有其优势,但受到时间、空间和实验设备数量等的限制,并不能很好的适应信息技术快速发展的趋势。远程虚拟实验室应运而生,解决实验规模受设备数量限制而不能开展实物实验等问题,摆脱了时间和空间的束缚。但虚拟实验室开发周期长,有些设备很难用软件模拟;没有真正的硬件支持,不能保证实验结果的准确性。而一种“云平台”+“网络”+“实物”的远程实验室的出现有效地解决了上述问题。基于“云平台”+“网络”+“实物”的云实验平台是远程实验技术和云计算技术的融合,其实际试运营过程发现距离带来的网络通信延迟、用户无作为占用实验板资源等问题,有时甚至严重影响云实验平台的优势发挥。因此针对目前云实验平台上网络通信延迟大,实验板资源得不到充分利用,关键技术有待开发造成的实验服务能力低于预期等问题,本发明提供一种云实验平台下资源优化方法,采用多阻塞通信,通过设计新的通信协议格式、使用swith语句等手段减少网络延迟; 设计适合于云实验平台的最近最少调度算法指导实验板资源的分配;开发实验快照及恢复机制提高在资源利用率。
发明内容
本发明针对目前云实验平台上网络通信延迟大,实验板资源得不到充分利用,关键技术有待开发造成的实验服务能力低于预期,不能有效利用云实验平台资源的问题,提供一种云实验平台下资源优化方法,实现采取云实验平台的调度算法指导实验板资源的分配,合理利用云实验平台资源;开发实验快照及云实验平台资源快速恢复利用,提高了资源利用率。
本发明提出的具体方案是:
一种云实验平台下资源优化方法,包括3个方面的优化,具体步骤为:
①网络通信优化:用户执行一个实验操作从接收到运行结果输出,需要经过用户端的处理、用户端到服务器端的网络传输、服务器端处理、服务器到实验板的网络传输和实验板的处理5段的延时,通过使用Switch语句解析数据,各种命令的数据采用统一的格式,简化数据分析,同时建立缓存和发送机制,将多个命令封装在一个TCP包中,减少通信次数,从而缩短实验板的处理阶段的时间,达到网络通信优化目的;
②实验板资源优化:记录每块实验板中FPGA配置信息所对应的实验内容记录每一块实验板最近一段时间的使用次数;当用户请求分配实验板时,如果所做实验与从实验板资源池寻找到的某类实验内容相同,那么分配这些空闲实验板中最不常使用的一块;如果没有从实验板资源池中寻找到与所做实验内容相同的实验,那么找出所有空闲实验板中最不常使用的一块分配出去;
③实验快照及恢复:当实验板资源中断时,启动远程服务器,用户端向远程服务器发送链接请求,服务器响应连接请求,远程连接成功,本地客户端通过TCP/IP向远程服务器发送测试命令,远程服务器读取测试命令并将收到的测试命令发送给实验电路板上JTAG边界扫描控制器;JTAG边界扫描控制器对FPGA进行边界扫描配置,并将扫描的FPGA所有状态数据传回服务器并保存在数据库中,需要复用时,从数据库读出所有状态数据并置入正在运行正常的FPGA芯片中,实现远程现场保存与恢复。
所述的步骤①中建立缓存和发送机制具体过程为选择网络通信协议,网络通信协议包括命令ID,数据长度和数据包三个字段;函数BuildDataPackage构建数据包,再发送到实验板;调用实验功能接口函数,数据包暂时保存在缓存ByteBuffer command中,直到调用flush,将缓存中的数据发送出去。
利用调用所述的函数flush()计算缓存大小,得到相应实验板的socket接口并将缓存数据发送出去,然后清空缓存,flush()会等待实验板端返回运行结果,并保存结果。
所述的步骤③中JTAG边界扫描控制器对FPGA 进行边界扫描配置过程为:边界扫描采用Boundary-scan模式,使TAP状态机进入IR移位状态,在将边界扫描配置指令载入到Boundary-scan Instruction register中,然后使TAP状态机进入Boundary-scan data register移位状态,在置入的扫描配置指令的控制下,将FPGA配置文件按位串行移入FPGA内部配置存储器。
所述的步骤③中当FPGA配置文件由VerilogHDL代码生成,则采用增量式备份方式保存。
本发明的有益之处是:本发明通过通信优化、实验板资源优化、开发实验快照及实验迁移关键技术层层优化,进一步完善了云实验平台,有力的提高了用户在云实验平台进行相关实验的效率,为云实验平台的全面部署奠定了坚实的技术基础。该平台把硬件实验设备作为一种服务提供给用户,使用户可以通过网络全天候申请实验设备展开自主实验,满足实践教学内容不断强化的需求,满足实践教学设计性、综合性和创新性的需求,满足实践教学提升实验效率的需求。总的来说,该实验平台一旦部署实施,将会相对现有的教学训练方式具有许多方面的明显改善,具有广泛的社会效益和经济效益,应用前景无可限量。
附图说明
图1云实验平台的实验快照流程示意图;
图2 云实验平台的实验迁移流程示意图。
具体实施方式
结合附图,对本发明做具体的阐述。
云实验平台下资源优化方法主要包括:网络通信优化、实验板资源优化、实验快照及恢复机制。
网络通信优化:
网络通信是基于TCP/IP-SOCKET,本发明的网络通信协议包括命令ID,数据长度和数据三个字段,具体如下表:
表1
数据包构建由函数BuildDataPackage,即DataPackageType packageType, Integer addr, Integer data函数完成,它接收命令,地址和数据三个参数,然后根据上述设计的网络通信协议格式,构建出符合协议的数据包,然后调用网络通信接口发送到实验板,函数BuildDataPackage的框架如下:
网络通信接口负责数据的收发,分别由函数flush()和getData()实现。实验功能接口函数被调用时,所构建的数据包暂时保存在缓存ByteBuffer command中,直到调用flush时,缓存中的数据发送出去。用户将多条相似的命令通过一个TCP数据包发送出去,提高交互性能。函数flush()计算缓存大小,得到相应实验板的SOCKET接口并将缓存数据发送出去,清空缓存。flush()等待实验板端软件返回运行结果,并将结果保存在String revData中。当数据接收在函数flush()中已完成,用户可以调用getData()来获取上次缓存的所有命令的运行结果。
实验板资源优化:
记录每块实验板中FPGA配置信息所对应的实验内容;记录每一块实验板最近一段时间的使用次数;当用户请求分配实验板时,如果所做实验与从实验板资源池寻找到的;某类实验内容相同,那么分配这些空闲实验板中最不常使用的一块;如果没有从实验板资源池中寻找到与所做实验内容相同的实验,那么找出所有空闲实验板中最不常使用的一块分配出去。采用这种分配方法知道实验板的分配,经过多次测试发现不同配置的实验板的比例将和各个实验内容访问数量成相对应的比例,达到了较好的分配效率,明显提高了实验板资源利用率。
实验快照及恢复机制:
该机制主要包括由远程服务器和本地客户端组成的网络通信模块、边界扫描测试控制器和远程被测试目标三部分组成。JTAG 边界扫描的总体流程为:远程服务器启动,本地客户端向服务器发送链接请求,服务器响应连接请求,远程连接成功。本地客户端通过TCP/IP 向远程服务器发送测试命令,远程服务器读取测试命令并将收到的测试命令发送给实验电路板上JTAG 边界扫描控制器;边界扫描控制器对FPGA 进行边界扫描,并将扫描的FPGA 所有状态数据传回服务器并保存在数据库中。当用户需要恢复时,从数据库读出所有状态数据并置入正在运行正常的FPGA 芯片中,即实现远程现场保存与恢复。
边界扫描采用Boundary-scan模式对“天河阳光”实验板核心芯片FPGA(XC3S1600E)进行配置的过程如下:从控制TAP(TEST ACCESS PORT)状态机的角度来描述FPGA配置的过程,首先是使TAP状态机进入IR移位状态,在将边界扫描配置指令载入到Boundary-scan Instruction register中,然后使TAP状态机进入Boundary-scan data register移位状态,在置入的扫描配置指令的控制下,将FPGA配置文件(bit文件)按位串行移入FPGA内部配置存储器。基于XC3S1600E的边界扫描配置算法如表2:
表2
从FPGA芯片读出用户实验数据并写进数据库,同时释放该实验资源,使其处于空闲状态,当用户需要恢复时,即可在任意空闲的实验资源上实现实验恢复。然而用VerilogHDL代码生成的配置文件比较大,我们采用增量式备份保存。增量式备份调度算法如下:
Input
用户i请求恢复现场
Output
现场恢复j
main(){
if 用户i恢复现场请求 then
j=RestoreScene();
将实验板分配给请求恢复现场用户i
else
i=FindRestoreSUser()
end if
}
RestoreScence(){
int i; // 循环变量
char A[L]; //存放FPGA中各个状态的值
char B[L]; //存放,现场保存时从FPGA边界扫描的各个状态值
for(i=0; i<L;i++){
if(A[i]!=B[i])
{
A[i]=B[i];
A[i]中各个状态的值置入正在恢复现场的FPGA中
}else{
A[i]中各个状态的值置入正在恢复现场的FPGA中
}
return j;
}
}
FindRestoreSUser(){
…
}。
Claims (5)
1.一种云实验平台下资源优化方法,其特征是包括3个方面的优化,具体步骤为:
①网络通信优化:用户执行一个实验操作从接收到运行结果输出,需要经过用户端的处理、用户端到服务器端的网络传输、服务器端处理、服务器到实验板的网络传输和实验板的处理5段的延时,通过使用Switch语句解析数据,各种命令的数据采用统一的格式,简化数据分析,同时建立缓存和发送机制,将多个命令封装在一个TCP包中,减少通信次数,从而缩短实验板的处理阶段的时间,达到网络通信优化目的;
②实验板资源优化:记录每块实验板中FPGA配置信息所对应的实验内容记录每一块实验板最近一段时间的使用次数;当用户请求分配实验板时,如果所做实验与从实验板资源池寻找到的某类实验内容相同,那么分配这些空闲实验板中最不常使用的一块;如果没有从实验板资源池中寻找到与所做实验内容相同的实验,那么找出所有空闲实验板中最不常使用的一块分配出去;
③实验快照及恢复:当实验板资源中断时,启动远程服务器,用户端向远程服务器发送链接请求,服务器响应连接请求,远程连接成功,本地客户端通过TCP/IP向远程服务器发送测试命令,远程服务器读取测试命令并将收到的测试命令发送给实验电路板上JTAG边界扫描控制器;JTAG边界扫描控制器对FPGA进行边界扫描配置,并将扫描的FPGA所有状态数据传回服务器并保存在数据库中,需要复用时,从数据库读出所有状态数据并置入正在运行正常的FPGA芯片中,实现远程现场保存与恢复。
2.根据权利要求1所述的一种云实验平台下资源优化方法,其特征是所述的步骤①中建立缓存和发送机制具体过程为选择网络通信协议,网络通信协议包括命令ID,数据长度和数据包三个字段;函数BuildDataPackage构建数据包,再发送到实验板;调用实验功能接口函数,数据包暂时保存在缓存ByteBuffer command中,直到调用flush,将缓存中的数据发送出去。
3.根据权利要求2所述的一种云实验平台下资源优化方法,其特征是利用调用所述的函数flush()计算缓存大小,得到相应实验板的socket接口并将缓存数据发送出去,然后清空缓存,flush()会等待实验板端返回运行结果,并保存结果。
4.根据权利要求1-3任一项所述的一种云实验平台下资源优化方法,其特征是所述的步骤③中JTAG边界扫描控制器对FPGA 进行边界扫描配置过程为:边界扫描采用Boundary-scan模式,使TAP状态机进入IR移位状态,在将边界扫描配置指令载入到Boundary-scan Instruction register中,然后使TAP状态机进入Boundary-scan data register移位状态,在置入的扫描配置指令的控制下,将FPGA配置文件按位串行移入FPGA内部配置存储器。
5.根据权利要求4所述的一种云实验平台下资源优化方法,其特征是所述的步骤③中当FPGA配置文件由VerilogHDL代码生成,则采用增量式备份方式保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510017628.7A CN104601697A (zh) | 2015-01-14 | 2015-01-14 | 一种云实验平台下资源优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510017628.7A CN104601697A (zh) | 2015-01-14 | 2015-01-14 | 一种云实验平台下资源优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104601697A true CN104601697A (zh) | 2015-05-06 |
Family
ID=53127191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510017628.7A Pending CN104601697A (zh) | 2015-01-14 | 2015-01-14 | 一种云实验平台下资源优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104601697A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549962A (zh) * | 2015-12-08 | 2016-05-04 | 浪潮电子信息产业股份有限公司 | 一种应用于linux系统启动及运行的方案 |
CN107370739A (zh) * | 2017-07-28 | 2017-11-21 | 苏州大学 | 基于云服务器的信号处理虚拟实验仿真系统及方法 |
CN109033414A (zh) * | 2018-08-06 | 2018-12-18 | 朱凌 | 一种虚拟现实结合的远程操控实验设备的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050204216A1 (en) * | 2004-03-11 | 2005-09-15 | International Business Machines Corporation | Method and apparatus for customizing and monitoring multiple interfaces and implementing enhanced fault tolerance and isolation features |
CN101237365A (zh) * | 2008-01-28 | 2008-08-06 | 宁波大学 | 一种eda网络实验系统及实验方法 |
CN101819250A (zh) * | 2010-03-23 | 2010-09-01 | 徐磊 | 一种边界扫描实验方法、系统及目标装置 |
-
2015
- 2015-01-14 CN CN201510017628.7A patent/CN104601697A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050204216A1 (en) * | 2004-03-11 | 2005-09-15 | International Business Machines Corporation | Method and apparatus for customizing and monitoring multiple interfaces and implementing enhanced fault tolerance and isolation features |
CN101237365A (zh) * | 2008-01-28 | 2008-08-06 | 宁波大学 | 一种eda网络实验系统及实验方法 |
CN101819250A (zh) * | 2010-03-23 | 2010-09-01 | 徐磊 | 一种边界扫描实验方法、系统及目标装置 |
Non-Patent Citations (2)
Title |
---|
杨龙军等: "基于云计算平台的计算机硬件远程实验室实现", 《华中科技大学学报(自然科学版)》 * |
赵蕙等: "FPGA的边界扫描配置算法及嵌入式实现", 《计算机与现代化》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549962A (zh) * | 2015-12-08 | 2016-05-04 | 浪潮电子信息产业股份有限公司 | 一种应用于linux系统启动及运行的方案 |
CN105549962B (zh) * | 2015-12-08 | 2019-08-02 | 浪潮电子信息产业股份有限公司 | 一种应用于linux系统启动及运行的方法 |
CN107370739A (zh) * | 2017-07-28 | 2017-11-21 | 苏州大学 | 基于云服务器的信号处理虚拟实验仿真系统及方法 |
CN107370739B (zh) * | 2017-07-28 | 2020-11-03 | 苏州大学 | 基于云服务器的信号处理虚拟实验仿真系统及方法 |
CN109033414A (zh) * | 2018-08-06 | 2018-12-18 | 朱凌 | 一种虚拟现实结合的远程操控实验设备的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113011602B (zh) | 一种联邦模型训练方法、装置、电子设备和存储介质 | |
Heintz et al. | End-to-end optimization for geo-distributed mapreduce | |
CN103138995A (zh) | 服务器性能测试的方法和装置 | |
CN102141951B (zh) | 芯片仿真系统及方法 | |
Samosir et al. | An evaluation of data stream processing systems for data driven applications | |
CN104299466A (zh) | 一种基于云计算平台的远程硬件实验方法及系统 | |
CN103870338A (zh) | 一种基于cpu核管理的分布式并行计算平台及方法 | |
CN102595208A (zh) | 云端控制网络化视频图像处理流媒体服务系统及方法 | |
CN103580937A (zh) | 一种Web 服务模拟的方法及其系统和服务代理系统 | |
CN102622262B (zh) | 基于modelica建模语言的分布式实时交互仿真系统 | |
CN108564164A (zh) | 一种基于spark平台的并行化深度学习方法 | |
CN103257852B (zh) | 一种分布式应用系统的开发环境搭建的方法和装置 | |
CN104601697A (zh) | 一种云实验平台下资源优化方法 | |
CN103218295B (zh) | Esb消息处理能力的测试方法和系统 | |
Liao et al. | A flexible I/O arbitration framework for netCDF‐based big data processing workflows on high‐end supercomputers | |
CN101799767B (zh) | 一种利用模拟器多种运行模式反复切换进行并行模拟的方法 | |
CN103532866A (zh) | 虚拟机的流量控制方法和系统 | |
CN102055780A (zh) | 磁盘阵列测试系统及方法 | |
CN101980166A (zh) | 一种用于机群系统并行模拟的时间序列控制方法 | |
CN106257447A (zh) | 云存储服务器的视频存储及检索方法、视频云存储系统 | |
CN101834876B (zh) | 基于蓝牙、数据库与udp协议的分布式半物理仿真系统及其数据汇总和分发的方法 | |
Harutyunyan et al. | CernVM Co-Pilot: A framework for orchestrating virtual machines running applications of LHC experiments on the cloud | |
Dam et al. | HERA-B data acquisition system | |
CN102542103A (zh) | 一种基于web支持多任务的仿真综合集成系统 | |
CN111416860B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150506 |
|
RJ01 | Rejection of invention patent application after publication |