关键词: 软件
软件部署(精选八篇)
软件部署 篇1
随着云计算技术的发展, 将更多应用推向后台进行统一管理, 采用简化前台 (如瘦客户机) 获取软件服务。但是石油领域的勘探开发软件大多是基于Open GL图形引擎或其之上的API开发的, 其操作系统也已Linux系统为主, 比如Landmark、Epos、Jason、HRS等等, 这些软件无法适应RDP、ICA等协议的远程可视化, 或这些应用程序根本就无法执行, 这也是导致工作站、图形服务器无法云部署和共享的直接原因, 所以其应用一直滞后于办公Office软件, 如何让这些软件也能够采用云计算部署一直是石油IT人员研究的重心。本项目采用意大利NICE公司的Engin Frame[1]和DCV[2]部署了勘探开发专业软件云环境, 提供了专业软件远程三维可视化云桌面。
一、勘探开发专业软件云部署
云计算[3]是通过建立可动态配置、快速释放和获取的资源池, 为各类用户以便利、按需的方式提供网络、服务器、存储和应用等计算资源的服务模式。
石油勘探开发专业软件云部署涵盖几个重要的关键技术:远程可视化技术, 需要突破常规不能调用三维远程可视化桌面的限制;负载均衡技术, 实现工作站/ 图形服务器系统级别的负载均衡, 将分散的工作站/ 图形服务器形成一个统一管理和调度的资源池;AD集成技术, 实现工作站/ 图形服务器用户的统一身份验证, 为单点登录和统一用户管理奠定基础。勘探开发专业云门户的前端和后台部署[4]实现定制个性化功能展示界面, 用户访问权限的控制定义可以访问的后台资源。
勘探开发专业云部署架构如图1 所示, 包括顶层核心服务Engin Frame、负载管理JHscheduler、远程可视化DCV和Real VNC, 可视化的应用集群可以是Linux系统或Windows系统。
1.1 Engin Frame的体系架构。Engin Frame系统架构的核心层是Engin Frame代理层, 该层集成了多种用户认证方式, 如AD认证、OS认证、http认证、metaframe认证, 便于我们与其他认证方式的应用进行集成, 实现一次认证, 启动不同应用的目的;views解析用户通过web菜单发送的命令, 通过与调度结合, 把所有的图形工作站/ 图形服务器整合, 可以通过负载均衡来合理使用图形工作站/ 图形服务器, 或者指定图形工作站/ 图形服务器上, 启动二维及三维的vnc桌面, 每个桌面的启动都生成一个vnc会话, 这个会话的启动就是由views来自动完成的, 并且用户可以管理自己的会话, 如共享会话、查看会话、关闭会话等功能。客户端以浏览器的方式访问远程工作站/ 图形服务器上的资源, 支持物理机及KVM[5]虚拟机的远程三维可视化软件应用。其体系架构如图2 所示。
1.2 勘探开发专业云门户定制。利用远程可视化技术的优势, 对软硬件资源进行了重新部署, IT运维人员的工作量也有所减轻, 用户对资源的利用方式也相对灵活, 但是如何以便捷的方式将勘探开发等石油领域的软件、工作站、普通微机、集群、瘦客户机等硬件资源提供给地震解释、地质建模、数值模拟等不同类别的用户使用, 同时能够使资源的利用率更加高效, 提出了采用统一的web页面建立专业软件云门户进行管理和提供服务。
Engin Frame平台支持二次开发和个性化定制。比如可以与其他门户集成, 引入第三方插件丰富功能, 修改个性化的应用界面, 集成其他认证方式, 可以通过web直接启动Linux的shell脚本, 如启动备份脚本, 数据拷贝等脚本。
1.2.1 服务资源的定义。服务资源是门户中每个目录下对应的子节点, 每节点定义为一个service, 以定制某台工作站到某个目录下为例说明界面定制的方法:系统的所有数据都采用XML格式存储, 主界面的信息利用enginframepluginsvdiWEBAPP目录下的Vdi.xml文件存储, 格式如下:
勘探一室挂接的工作站信息描述如下所示, 描述的文件位置位于:enginframepluginsvdipublished目录下。
1.2.2 针对服务的授权定制。EF是通过ACL来控制用户的访问的, 首先需要定义所有用户都能够访问的service, 然后需要定义谁能够使用这个服务, 在enginframe的conf目录下authorization.xconf文件中定义一个acl-actor, 这个是用来描述用户的acl组信息的。
在这个acl-actor-list中, 我们定义了一个名为openworkusers的这样一个acl-actor的acl单位, 在这个acl单位中, 可以定义属于这个acl的用户有哪些。
在这个例子中, 我们定义了shanym和admin属于这个acl-actor单位。然后, 我们可以基于这个acl-actor来定义一个acl-list。
在这个list中, 我们可以定义一个默认的权限, 如<ef:acl-priority>deny</ef:acl-priority>, 如果是deny, 那么应用于该acl的服务 (service) 对于所有人都是不可见的, 如果是allow, 反之就是该服务对于所有人都是可见的。同理, 在定义deny的时候, 就会有一个<ef:acl-allow> 的exception, 在<ef:acl-allow> 里面包括的acl-actor的所有用户都是允许访问的。
同时, 访问的权限分为只读<ef:read/>, 执行<ef:execute/> 和可以修改<ef:write/>, 最后, 可以把这个acl应用到之前定义的service中。
二、应用情况
目前勘探开发专业软件云部署已经支持物理机及kvm虚机的远程三维可视化软件应用, 已经测试通过RHEL 4.x、RHEL 5.x、RHEL 6.x、Windows XP、Windows 7、Windows2008 R2 等操作系统, Open Works、Geoframe、EPOS、Petrel、Jason、VVA、SVIPro、Geoview等三维可视化软件。
应用中石油AD账号登录勘探开发专业云门户后, 启动一个Geoprobe三维数据体、一个Open Works二维地震剖面、一个RMS三维模型、一个Windows的Petrel三维模型等。其会话缩略图如图3 所示, 便于用户进行直观的管理如再启动和关闭窗口。通过此项应用技术的开发与应用推广, 加大了专业软件集中管理与共享力度, 确保了PC工作站/ 图形服务器集中化部署, 应用软件的集中部署与优化, 加强了勘探开发相关数据的安全性, 软硬件资源的合理利用, 该项成果已在勘探开发研究院专业科室得到了普及应用。
三、结论
勘探开发专业软件云部署的实施和应用让用户无需再考虑系统的安装、软件的部署、数据的安全等一系列IT系统业务, 研究人员和管理人员只需关心如何快捷地得到所需的应用和服务。用户通过浏览器界面, 自动选择最优硬件资源, 自选各种专业应用桌面或软件, 由后台提供效果更优的远程三维可视化应用、不受客户端关机或网络突然断开影响的不间断桌面服务。通过近一年来的生产化应用, 已取得了良好的效果和巨大的经济效益, 充分说明了勘探开发专业软件云部署的实用性和先进性。
摘要:本项目利用先进的远程可视化技术, 实现了勘探开发专业软件进行云部署和应用, 加大了专业软件集中管理与共享力度, 确保了PC工作站/图形服务器集中化部署, 应用软件的集中部署与优化, 加强了勘探开发相关数据的安全性, 软硬件资源的合理利用。
关键词:云计算,云服务,远程可视化,桌面云可视化
参考文献
[1]Engin Frame Administrator’s Guide[R].NICE s.r.l, 2013.
[2]DCV Installation and User Guide[R].NICE s.r.l, 2013.
[3]The NIST Definition of Cloud Computing (R) .NIST, 2011.
[4]单延明, 吴钧, 李大勇, 王志敏.基于云计算模式的应用系统集中管理技术开发与应用[J].中国信息界, 2012, 234 (12) :63-64.
软件部署 篇2
开始想用iptables来进行转发,这东东感觉及复杂 了,看了大半天的文档,还是没有搞懂,走其它的方式了。
google了一个叫rinetd的软件,支持windows,linux下进行端口转发,貌似不错。
下载地址:www.boutell.com/rinetd/http/rinetd.tar.gz
文档上说windows下需要VC++的支持,linux下应该就是gcc的支持了。
首行:yum install gcc*
tar zxvf rinetd.tar.gz
cd rinetd
修改源文件中的端口号:
vim rinetd.c
找到:bindPort >=65536 修改为:bindPort >= 65535
找到:connectPort >= 65536 修改为:connectPort >= 65535
在/usr目录下新建目录 man
make
make install
安装成功,
运行方式:
新建配置文件:vim /etc/rinetd.conf
这里是定制转发的规则。
格式是:源IP 源端口 目标IP 目标端口
我的配置是:
192.168.0.189 21 123.123.123.123 21
allow *.*.*.*
logfile /var/log/rinetd.log
启动rinetd
/usr/sbin/rinetd -c /etc/rinetd.conf
这样就可以了,目前看来效果还不错。特此记录。
软件定义加速闪存部署 篇3
在国内一家汽车制造厂里,其高性能计算中心承担着碰撞模拟、流体结构分析等CAE任务,而信息系统则担负着大量的批处理作业、并行作业,以及可视化作业工作负载。该中心的系统面临着增加新应用的开发时间长、现有系统难以快速满足用户定制需求、维护成本高,以及存储吞吐量低、无法满足结构类型I/O要求等诸多挑战。他们选用了闪存方案后,使系统在应用集成的便捷性、可扩展性、存储吞吐性能与资源利用率等方面得到了全面提升,作业时间从14小时缩短为不足1小时;新应用部署时间由7天缩短至半天。
一家大型证券登记结算公司每天要对业务数据进行若干次的备份,近年来证券市场交易量的快速增长给其业务应用系统带来了巨大的性能压力,数据的导入导出遇到了严重的性能瓶颈,直接造成了突发大量数据的批处理时间延长、现有存储系统响应时间过长等问题。为了提高系统的性能,他们采用闪存方案对现有系统进行了升级改造,使系统的总体性能提升50倍,存储响应时间降为200毫秒。\
在这两个案例中,用户采用的正是IBM软件定义闪存解决方案。在日前召开的“强强联合·超越巅峰”IBM存储新品发布暨中国闪存联盟第三季活动大会上,IBM的“软件定义闪存”解决方案正式发布。IBM副总裁、大中华区硬件系统部总经理郭仁声表示,在互联网+时代,越来越多的企业需要重构信息基础架构,以适应崭新的业务模式,并应对复杂应用与数据增长对计算、存储及网络性能带来的挑战,而软件定义闪存正是IBM为用户打造的解决方案。
IBM大中华区硬件系统部存储系统部总经理黄永志介绍说,软件定义闪存解决方案不仅融合了IBM FlashSystem全闪存阵列产品与IBM软件定义存储产品系列IBM Spectrum Storage各自的优势,还融入了IBM Platform Computing在软件定义计算方面的能力,通过其存储资源管理、应用调度功能,用户可根据不同的应用需求对存储资源进行匹配与应用优化,从而最大程度地发挥IBM FlashSystem全闪存阵列产品在容量、I/O性能上的优势,大幅提升系统在开展高性能计算、大数据分析等应用时的表现。
“仅仅依靠闪存介质本身已经不能满足用户的需求,还应该结合为闪存而优化的软件,在提升性能的同时,改善用户的体验。”黄永志说。
由IBM倡导发起的中国闪存联盟在成立近一年的时间里,已经形成了覆盖全国的测试体系、知识培训与共享体系,以及完备的技术服务支持体系。据IBM大中华区硬件系统部存储系统Flash产品总经理黄国文介绍,目前联盟成员超过150家,涵盖金融、制造、零售、能源、政府、互联网等10大主要行业。在中国闪存联盟前三季活动中,神州数码、富通时代、华成峰、上海元亿、安富利五大IBM代理商已经帮助不同领域的ISV和行业用户完成了多场POC测试及测试报告。黄国文表示,中国闪存联盟加速了闪存在中国市场的落地,而IBM愿做“中国合伙人”。
软件部署 篇4
本刊讯 (记者王翠竹) 7月7日, 全球领先的ERP解决方案提供商IFS (艾菲诗软件) 宣布其已与Vision Waves B.V. (“Vision Waves”) 公司所有者达成协议, 将收购该公司100%的股权, 收购价格将以现金方式支付。
Vision Waves为企业提供运营智能软件, 帮助客户加速实现其战略, 并优化企业绩效。该软件独特的模型驱动、从上至下的方法论不仅能为领导者和决策层提供适时清晰的企业绩效视图, 还能帮助相关人员采取行动, 持续改善运营和业务模型。
IFS全球首席执行官Alastair Sorbie表示:“通过投资企业应用软件高速增长的领域来实现增长, 是IFS的既定战略。收购Vision Waves正是我们执行该战略的表现之一。IFS致力于让自己的客户更敏捷, 并加强其战略实现能力。而Vision Waves将在该过程中扮演重要角色, 帮助IFS丰富和完善合作伙伴生态体系;系统集成商对运营智能及企业绩效价值提升均抱有浓厚兴趣。”
软件部署 篇5
关键词:高校机房,软件,自动化,部署管理,管理系统
随着我国信息化程度的不断增强, 计算机工具作为一种必须的重要现代化工具开始在各个学科中发挥出越来越重要的作用。目前在大多数高校中, 计算机都是作为一种公共的必修课而存在, 在这种背景下, 计算机机房的规模也越来越大, 而由于学生水平的差异, 以及病毒、木马以及黑客等威胁不同程度地存在着, 给计算机机房的系统带来了一定的破坏, 因此, 为了不对正常的教学秩序带来影响, 急需要采取一定的方法对计算机机房进行高效、可靠的管理。
1高校计算机机房的软件系统管理关键技术
在对高校计算机机房的软件系统进行管理之前, 有必要对其涉及的相关关键技术进行分析, 一般情况下, 主要运用的有如下几个方面的技术:
1.1硬盘保护卡技术
硬盘保护卡有纯硬件以及软件结合两种分类, 其主要是通过对重要数据的写转向来实现对重要数据的保护功能的。实际上, 在具体的应用过程中, 硬盘保护卡对一些病毒的防范能力是很有限的, 甚至在网上都能很随便地找到一些针对性的破解技术。
1.2“一键还原”类技术
所谓的“一键还原”类技术主要是在硬盘的逻辑分区或隐藏的特殊分区上建立对系统盘的备份, 一旦系统被破坏时可以通过设定的触发功能键来激活恢复系统, 从而把系统恢复到备份时的状态。
1.3“软件保护”类技术
在“软件保护”类技术来说, 一般应用最多的是“万象”等一些专业的软件, 其不仅具有保护软件系统的功能, 而且还有对微机锁定、开机、重启、网络计费等一系列控制管理的功能, 这些软件都偏重于网络计费管理功能。
2高校机房软件自动化部署管理系统的设计要点
本文结合开发实践, 对高校机房软件自动化部署管理系统的设计要点进行了详细的探讨, 具体来说, 主要表现在如下几个方面:
2.1自动开机的实现
在当前的很多高校计算机机房的微机管理工作中, 自动开机是需要经常实现的功能, 但是管理员往往面对的电脑并非三两台, 而是数十台或者数百台, 这种工作量就是可想而知的了, 工作量可想而知, 在这种情况下就需要通过软件技术实现自动开机功能。而在本系统的自动开机功能实现中, 采用的主要是远程唤醒技术, 而在具体的实现中, 主要采用了C#和数据库技术实现的网络唤醒功能。所谓远程唤醒技术, 主要是由网卡配合其他软硬件, 通过给处于待机状态的网卡发送特定的数据帧, 实现计算机从关机状态启动的一种技术。
2.2远程启动多播服务器
和自动开机功能类似, 高校机房中由于计算机规模大、数量多, 如果采用软驱或者光驱启动需要浪费大量的人力和时间, 因此, 本文通过网络来完成了启动功能。再具体的实现中, 设置一台计算机作为多播服务器, 局域网客户机启动并自动连接到这台服务器, 并根据服务器上设定的启动文件的不同实现了不同的功能。此外, 还应该注意的是, 在实现网络远程启动过程中, 对PXE启动的关键在于制作合适的启动映像文件, 启动映像文件包含了网卡的有关启动和其他信息。
2.3计算机系统的快速恢复
在对我国当前很多大学的机房的日常管理工作中, 为了满足计算机教学的重要需求, 还需要经常对系统软件进行重装, 工作量同样非常巨大, 而通过对批量克隆恢复技术的应用, 不仅能够在规定的有限时间内达到快速恢复若干台计算机的系统的目的, 而且能够大大提升高校计算机机房的管理效率。而在本文中主要使用了一种叫做“多播克隆技术”的技术, 其主要是由CHOST支持和实现的, 其并不局限于在一台机器到多台机器的克隆, 而且其多播克隆技术的克隆速度比较快, 而且效率也非常高, 正是由于这些突出的优点, 使得其在大型机房或者网吧中获得了非常广泛的应用。
2.4远程智能修改的相关技术
在高校机房的管理中, 有时候还需要用到对机器名、IP、网关以及DNS的修改等, 这也是一个很大的工作量, 在这种背景下, 本文就运用了远程智能修改技术, 不仅省去了人力时间, 还大大提升了准确率。在具体的实现中, 主要采用C#语言结合数据库技术编写了一个可以自动修改这些信息的软件, 在每台机器上运行一次此软件即能完成机器信息的批量自动修改。采用该种方法能够明显达到对大规模机房的机器信息设定的需求, 继而达到快速高效维护机房的目的。
3结束语
总之, 通过本文设计与开发的高校机房软件自动化部署管理系统, 不仅大大节省了人力和时间的投入, 而且还提升了高校计算机机房的管理效率, 具体非常大的推广应用价值。
参考文献
[1]阮志坚, 李明敏, 张雄伟, 陈挺.自动化部署技术在大规模控制系统批量生产中的应用[J].工业控制计算机, 2015, 06:35-37.
[2]金岳辉, 吴祯.虚拟化环境下IT运维自动化管理探索[J].中国金融电脑, 2013, 02:38-43.
[3]刘颖.机房管理中虚拟机技术的应用[J].电脑知识与技术, 2013, 09:2246-2248.
[4]林青霞.高效管理计算机类实验室的研究与实践[J].实验室科学, 2011, 04:153-155.
[5]周振兴.全国计算机等级考试的机房软件环境部署[J].福建电脑, 2011, 12:160-161+175.
软件部署 篇6
关键词:移动云计算,启发式图划分,软件部署,模拟退火,分布式
云计算[1]的使用不仅有利于基于Web的应用程序, 而且可用于由遵循面向服务编程范例的许多服务组件构成的其他应用程序。一些服务组件对CPU处理能力或内存损耗有高需求, 因此不能在普通台式机或移动终端上执行而是需要在云的专用服务器上执行[2]。即使是中等规模数据中心内也存在可用硬件节点的多种选项, 所以采用云计算范例会有配置软件组件的问题。部署优化对云用户和云提供商降低成本都很重要, 所有组件必须部署在一台有足够CPU处理能力的机器上, 同时各种机器之间的通信开销越小越好, 因为这会引入额外的延迟和网络负载。该问题可以建模成图划分问题。
图划分问题主要处理将图划分成k个相等集同时最小化集之间边的问题, 当k=2时, 则变成最小割二分图问题, 寻找该问题的最优解是一个NP困难问题。基于移动的方法通过顶点移动或子图之间交换来迭代改进划分, 例如, 文献[3]为KL算法介绍了多种优化, 产生一种图划分线性时间算法, 然而, 该算法的性能会随着图变大而下降。最近研究探索了基于扩散[4]或最大流量[5]的方法, 另外已知技术的合并能产生新启发式方法。例如, 文献[6]使用PROBE启发式 (基于种群强化优化探索) 算法, 合并贪婪算法、遗传算法和KL细化[6]。文献[7]提出合并贪婪图生长启发式算法与局部细化算法。文献[8]提出一种经由光谱方法和KL细化改进的遗传算法。所有这些方法划分图成预定义数目的大小相等的子图。在云计算环境中, 并不是所有机器都具有相等容量, 有许多必须使用的机器不是预先定义的, 不能随意使用这些算法。因此, 本算法取一些有不同容量的可能的机器作为输入, 仅限制机器不能超过其最大容量, 且每个组件必须只部署在一个机器上。
基于上述分析, 提出了基于启发式图划分算法的软件部署优化方案, 通过在云的许多互相连接的机器上划分由许多组件组成的软件应用程序, 实验将本文提出的方案与METIS4.0进行了比较, 结果表明了本算法在移动卸载场景中的适用性。
1 问题提出
令G= (V, E) 为无向图, 其中, V={v1, v2, …, vN}是N个顶点的集合, E是连接顶点的边的集合。顶点表示分布式软件系统中部署的单元, 边表示那些单元之间的通信开销。为每个顶点vi分配一个成本wi, 表示该组件所需的资源数量 (如CPU处理能力) 。C= (cij) 是G的邻接矩阵, 即如果vi和vj之间存在一条边, 则cij等于这条边的权重, 否则cij=0。边权重表示不同软件组件之间的通信开销 (如带宽) 。
基础设施也建模为无向图S= (K, L) , 其中, K是可用机器的集合, L是各种机器之间的链接。每个机器的最大容量是Mm, 为每条链路分配一个使用这条链路的成本。从此图可以推导出矩阵B= (bmn) , 其中元素bmn表示机器m和n之间交换数据的成本。
当前目标是分配每个顶点vi到其中一台机器上, 以便B加权的机器之间交换的总数据最小化。令决策变量Xim表示图割, 如果组件i部署在机器m上, 则Xim的值等于1, 否则为0。本文试图最小化部署在各种机器上的节点之间边的边权重总和, 于是引入变量hij, 如果组件i和j部署在不同机器上, 该变量的值为1, 否则为0。然后实现最小化的目标函数变成图权重 (GC)
顶点j部署在函数P (j) 返回的机器上, 变量hij能以Xim表示, 如下
完全描述该问题需要另外两个约束
式 (3) 声明节点在机器上使用的资源总数量不能超过那台机器的最大容量。式 (4) 确保每个节点恰好部署在一台机器上。
2 算法提出
2.1 整数线性规划 (ILP)
第1节定义的问题可视为一个整数线性规划问题 (ILP) , 因此ILP求解器 (IBM ILOG CPLEX[9]) 可用于确定该问题的最优解。求解该问题所需的时间和资源随着图的大小指数增加, 因此, 需要启发式算法较快找到好的解, 下文提出了三种启发式算法。
2.2 多级图划分 (MLKL)
在第一种启发式算法中, 使用文献[10]提出的多级细化策略, 其思想是通过合并连接的顶点向下粗化图, 直到获得小图, 然后划分该图并再次去粗化, 在每个去粗化步骤中优化划分。因此, 划分包括三个阶段:
粗化。将图G粗化成一系列较小的图G1, G2, …, Gm, 使|V1|>|V2|>…>|Vm|;
初始划分。在图的最粗级别计算划分P;
去粗化和细化。通过所有中间图去粗化回图Gm的划分P, 在每个去粗化步骤中执行细化算法, 找到更好的划分。
2.2.1 粗化
粗化过程中, 通过破坏边并合并那些边连接的顶点从图Gi创建有较少顶点的图Gi+1。当破坏一条边时, 那条边连接的两个节点变成一个, 它的权重是两个顶点权重和。当两个顶点有一条到第三个节点的边时, 破坏这两条边, 变成一条边, 该边的权重是两条边权重和。每次粗化迭代, 创建一个匹配, 即没有公共顶点的一组边, 然后合并匹配的边, 为了找到一个小边割, 最好破坏大权重边, 因为这些边很可能成为最佳割。
粗化算法使用文献[11]提出的粗化方案的重边匹配 (HEM) 算法。以随机顺序访问图中的每个顶点, 用一个未匹配的邻居v匹配每个顶点u, 以便边 (u, v) 的权重在u的所有有效事件边上最大。为了能在不同机器上映射最粗图的顶点, 当顶点权重总和小于最小子图大小时, 添加另外一个约束到仅匹配两个顶点。
2.2.2 初始划分
粗化之后, 出现了选择可行部署的问题, 部署软件组件到基础设施上。假设拥有足够机器和资源寻找这样一个部署, 该问题简化成一个简单的装箱问题, 可以用首次适应算法求解。
顶点按顶点权重降序排列, 机器按最大容量降序排列。对于每个顶点, 机器列表是重复的, 将它分配到第一个剩余足够容量的机器, 然后机器的容量随着那个顶点的顶点权重降低。
算法1计算初始划分
顶点:有序列表
机器:有序列表
2.2.3 去粗化和细化
在最后一个阶段, 再逐步对图去粗化, 运用KL类似算法改进上一阶段发现的初始划分, 提出的算法基于文献[10]的细化算法, 该算法的基本思想是与移动顶点到不同子图相关联的增益概念, 增益影响交换顶点从一个机器到另一个机器产生的割尺寸中的净变化。通过移动顶点i从集合m到集合n引入增益, 相应的增益gmni表示为:
式 (5) 中函数P (j) 再次返回顶点j的当前子图。基本细化算法的伪代码如算法2所示, 由两个循环组成。外环的每次循环将尝试移动周围节点寻找较好的割, 外环终止于不再改进最佳划分的那次循环, 这意味着算法到达局部最优, 为了避免算法陷入死循环, 外环一次循环过程中仅移动顶点一次。内环将迭代选择一个顶点来移动, 即有最大增益的顶点, 但有一些额外规则, 这在某种程度上能防止算法陷于局部最优。当顶点移动时, 应该更新其所有邻居的增益, 当找不到更适合的移动时, 过程完成。
算法2 KL细化
当发现更好的划分时, 内环只接受正增益移动, 并开始另一次循环, 其理由是当算法发现更好的划分时, 它会尽可能避免局部最小, 然后开始新的迭代, 选择前一次迭代移动列表中的移动, 进一步接近最优。
代替创建平衡划分, 需要确保没有机器超载, 这方面有一个自然规则, 禁止顶点违反目标容量条件的移动, 但是, 这条规则会不可避免地导致移动到局部最优, 如图1所示。
因此允许移动到超过最大子图权重的子图, 但前提是没有其他过大权重的子图。如果存在权重太大的子图s, 则选择具有最高增益的顶点, 移动远离m并降低过载, 这种方式在图1的场景中也将收敛于最优 (m0={n0, n2}, m1={n1, n3, n4}) 。
当两种可能移动有相等增益时, 更倾向于不超过目标子图边界的移动, 如果不能区分可能的移动, 更倾向于那些非空子图, 如果仍无法区分两个移动, 则随意破坏这种关系。
本文采取一个能较早停止算法的方式以节省时间, 例如当前划分的图割偏离超过此时发现的最优解的截止阈值, 适当选择阈值能减少执行时间而不牺牲太多求解质量, 如果选择阈值为0, 则算法将无法接受任何幅增益移动, 算法将类似于一个最速下降算法, 终止于最近局部最小。
2.3 模拟退火 (SA)
求解k划分问题的第二种方法基于退火模拟 (SA) , 文献[12]介绍了一种合并的优化技术。为了在k划分问题的环境中使用SA技术, 本文在装箱之后将它当作细化技术来使用[13]。
SA算法从一个解移动到邻居解, 通过移动顶点从一个子图到另一个。以概率exp (g/T) 接受移动, 其中g是移动的增益, 如2.2节所介绍的, T是随时间降低的温度参数。伪代码形式的代码如算法3所示, 为了找到图1描述的场景中的最优, 节点i正增益移动到子图, 该子图没有足够容量剩余的概率为, 其中Free (p) 是子图p上自由空间的数目, 使它也依赖于温度, 能保证算法结束时收敛于一个合法解而不引起过度占用子图。
SA的性能非常依赖于各种退火参数的选择:初始温度T1、冷却进度、时代长度L和停止条件[13]。
2.3.1 初始温度T1
文献[12]提出了T1值, 该值足够高能使可接受转换的初始概率接近1, 该文建议选择的初始温度使上坡转换分数等于参数P1, 称为初始可接受概率, 然后初始温度计算为, 其中仅对初始负增益计算。
2.3.2 冷却功能
冷却功能将逐渐降低温度, 直到算法达到其停止条件, 本文采用简单几何冷却功能, 其中第k次迭代中的温度由Tk=α×Tk-1给出, 其中α (0<α<1) 是一个称作冷却率的参数, 文献[14]表明其他退火功能如线性或对数函数不影响性能。
算法3模拟退火
2.3.3 迭代次数L
迭代次数L是在每个温度等级尝试的移动次数, 应该按邻域大小成比例选择迭代次数。本文的情况中移动每个顶点到其他机器中的一个, 因此迭代次数变为L=s×N× (K-1) , 使用N个顶点, K个机器, 实验表明s的良好值为50。
2.3.4 停止条件
当算法达到冰冻状态时确定停止条件, 应该停止解法的进一步搜索。当迭代次数到达预定义最大值时, 或当温度低于预选择的最终温度时, 即终止算法。使用文献[13]的停止规则, 在迭代结尾计数器加1, 且可接受移动的分数小于预定义极限Fmin, 发现更好的解时计数器重设为0。当计数器达到一个预先决定的极限I时, 终止SA。使用的各种参数的实际值如表1所示。
表1本文的SA细化算法使用的模拟退火参数值由于模拟退火中的随机性, 不同运行会产生不同解, 多次执行SA算法并取最佳解能改进求解质量, 当然这以更多计算时间为代价。
2.4 混合算法 (KLSA)
由于SA的随机因素, 因此需要以更多计算时间为代价达到更好的解。为了合并两种最佳方法, 本节提出一种混合方法。混合算法酷似多级算法:仅在最粗级别首先多次运行SA细化划分, 在最粗级别找到SA的更好解, 同时额外计算成本维持相对较低。在进一步去粗化迭代中再次使用KL细化, 这是较快的。而且, 由于粗化和去粗化的特性, 期望的全局最优解位于最粗图的邻域, 于是KL最终陷入的局部最优也可能是全局最优, 另外, 为了获取更好的解需要执行多次最粗级别SA细化。
3 实验
为了评估本文的算法, 需生成了有各种节点大小的测试图, 图由Eppstein幂律生成器[15]生成, 依据参数λ分别等于0.1和0.005的指数分布为节点和边分配权重, 尽管应用程序的实际图结构依赖于软件设计, 仍选择这些图配置作为大部分设计原则, 目的是减少各种组件之间的依赖性, 产生节点少邻居多的图。产生的节点权重严格限制在1到100之间, 它能直观的表示单处理内核上该组件所需的CPU时间百分比。
将这些节点部署在随机产生的容量为100、200、…800的机器上, 表示机器配备了单、双、…八核处理器, 选择机器的数量, 使其总容量是图的总节点权重的150%。对于每个图尺寸, 生成100幅图和机器权重, 并计算各种算法的最佳部署, 以Java实现, 依据产生的图割尺寸和处理时间评估, 所有计算在英特尔Xeon L5420 (2.5 GHz) 双核处理器上执行。
首先对小图比较本算法与理论上最优ILP解, 表明本方法的有效性, 对于较大的图, 比较本文三个启发式算法的求解质量和执行时间, 查看截止阈值对KL细化的影响以及执行次数对SA的影响。为了基准测试本算法与先进技术, 故比较了本算法和METIS4.0的求解质量。最后还在卸载场景表明了本算法的有效性, 也就是移动设备分发其负载到云的场景。
3.1 MLKL、SA和KLSA的评估
为了评估为云应用程序找到的部署有优越, 假设数据中心各种服务器之间通信链路等权重, 因此m, n:bmn=1。由于图表示交互软件组件, 还假设感兴趣的图大小为数百个节点。对小图, 比较解与最优ILP解, 如图2所示。
从图2可以看出, SA和KLSA算法都使用模拟退火四次并行执行的最佳解, 对小图, 模拟退火执行效果最好, 因为超过50%的情况都能产生最优解。混合解倾向于给出比MLKL略好的结果, 然而更高的求解质量以执行时间为代价:KLSA和SA的执行时间分别为MLKL的2~10倍。
对于大图, ILP寻找解的时间太长, 因此, 比较本算法与MLKL算法。本文将讨论各种参数的影响:截止阈值对KL细化的影响和并行执行次数对SA细化的影响, 如图3~图5所示。
图3 (a) 表明了MLKL算法在0、100、500和1 500截止阈值下的求解质量。当当前划分的图割偏差大于此时找到的最佳解的某个截止阈值时, 细化停止。截止阈值为0意味着不允许负增益移动, 然后细化表现为最速下降算法。阈值越大, 它越接近没有阈值的原始解, 随着图大小越来越大, 负增益移动带来的改进越来越小。图3 (b) 绘制了各种算法的平均执行时间。使用截止阈值能降低执行时间, 但以牺牲求解质量为代价, 选择一个足够大的阈值 (本例中为1 500) 能在执行时间上有小幅收益而不牺牲过多求解质量。
图4给出了SA算法相比MLKL算法的求解质量[图4 (a) ]以及各种执行次数的执行时间[图4 (b) ]。对于较小的图, SA找到的解比MLKL好, 但是随着图大小越来越大, MLKL变的越来越好, 这是由于搜索空间增加, SA找到产生更好解的随机移动的概率降低。SA算法的执行次数越多, 产生的求解质量会越好, 当然执行时间也越长, 由于实验在双核机器上执行, 4和8之间比1和4之间存在的增加大得多, 正如图2所示的小图, SA的执行时间远长于MLKL。
混合方法 (KLSA) 如图5所示, KLSA比MLKL高几个百分点, 但是该改进会随着图变大而越来越小, 而且该改进以执行时间为代价, 因此昂贵的SA细化现在仅在最粗级别上执行, KLSA的执行时间低于SA但仍然比MLKL高得多。
3.2 与METIS4.0比较
本问题声明的一个特例, 其中表示划分图成K个带有不平衡因子β的平衡划分的传统图划分问题, 对于该问题, 将本文算法与著名的图划分软件ME-TIS[11]进行了比较。
图6显示了划分图成2、4、8、16、32、64个平衡子图时MLKL算法相对于KMETIS的求解质量。尽管两种算法都基于多级划分范例和KL类似细分, 本文产生的割尺寸低10%~40%, 这是由于本算法允许细分过程中有更多不平衡, 且METIS的细分过程会更快截止, 因为它是为较大图设计 (>10 000个顶点) 。
3.3 卸载场景
直到现在本文一直假设所有应用程序组件部署于云, 所有服务器通过同一链路互联, 于是m, n:bmn=1。但是, 在移动云计算环境中, 云用于从移动设备卸载部分应用程序到云, 连接设备到互联网的无线链接将是一个重要的限制因素, 取决于技术和信号强度, 移动设备和云之间的可用带宽, 也就是最优部署将有所不同。为了计算这种情况下的最优部署, 使用bmn参数为无线链路附加更多重要性, 并尝试限制经由那条链路交换的数据量。
为了计算卸载场景中的最优部署, 本文在随机生成的机器列表中增加了一个额外的机器mdevice, 拥有的容量为25, 并锁定其中一个节点到这个机器。这表示, 例如, 节点维护输入或GUI, 且必须部署在移动设备上。服务器之间机器之间的连接性权重设为1, 但对服务器和mdevice之间的链路设为α≥1, 当增加α时, 算法将计算一个新部署, 还将尝试降低无线链路上的带宽。
当然能够影响无线链路上带宽的粒度取决于软件设计和组件的粒度。如果软件由许多小组件组成, 其中一个能逐渐调整带宽需求, 但是当软件由几个大组件组成时, 可用概率很少。结果如图7所示。
图7表示了6幅以α为函数的无线链路权重的图, 图7 (a) 表示由500个小 (λ=0.5) 组件组成的三幅图的结果, 而图7 (b) 则表示由200个较大组件组成的三个较粗图的结果, a图能够被调整成比b图较粗图更细粒度的图。
4 结束语
提出了云部署的划分软件图算法, 通过考虑基础设施异构性计算最佳划分。不同于计算网格的部署优化, 本文没有最小化网格结构任务集合的执行时间, 而是专注于最小化软件组件之间的带宽, 将基于KL的多级算法当作允许实时部署计算的快速子图程序, 模拟退火改进了小图的求解质量, 但以计算容量为代价, 混合算法产生比KL略好的划分, 且执行时间居中。对于大范围图, 本文比较了基于KL的算法与METIS, 本方法找到好10%~40%的划分, 并显示了移动云计算用例中考虑无线链路质量情况下如何使用本算法调整部署。
软件部署 篇7
6月1日, 由中国电科院研发的“配电网规划计算分析软件”在天津市电力公司成功部署软件客户端, 相关规划人员开始试用。上海市电力公司、石家庄供电公司、南京供电公司、郑州供电公司、大连供电公司、西宁供电公司6家单位也正在开展数据收集、软件功能测试, 力求尽快完成软件在试用阶段的各项工作, 并结合软件在试用过程中发现的问题, 及时改进和完善, 深入推进软件的后期研发工作, 为“配电网规划计算分析软件”正式上线运行做好准备。
中国电科院于3月底完成了“配电网规划计算分析软件”一期功能开发, 实现了配电网潮流计算、短路电流计算、供电安全水平分析以及可靠性计算等功能, 为配电网规划提供了必要的量化分析工具。4月上旬, 中国电科院开始在天津市电力公司、上海市电力公司、石家庄供电公司、南京供电公司、郑州供电公司、大连供电公司、西宁供电公司7家单位启动“配电网规划计算分析软件”试用部署工作。
开发“配电网规划计算分析软件”是国家电网公司加强配电网规划管理工作中安排的一项重点工作, 由中国电科院配电研究所负责具体开发任务。该项工作重点要引入面向供电可靠性的配电网规划理念, 开发计算分析工具, 实现现有电网和规划电网量化分析及可靠性评估等功能, 提升规划的科学性, 为“配电网规划辅助决策系统”的推广应用提供必要的量化分析手段。
软件部署 篇8
(一) 强化投融资支持。
中央预算内投资支持符合条件的集成电路企业技术进步和技术改造项目。鼓励、支持企业跨地区重组并购, 加强产业资源整合。引导设立股权或创业投资基金, 积极推动企业利用知识产权等无形资产进行质押贷款, 拓宽企业融资渠道。
(二) 加大对研究开发的支持力度。
发挥国家科技重大专项的引导作用, 大力支持软件和集成电路重大关键技术的研发, 加快具有自主知识产权技术的产业化和推广应用。鼓励企业建立产学研用相结合的产业技术创新战略联盟。
(三) 实施税收优惠。继续实行对软件产品的增值税优惠政策, 对符合条件的企业分别给予营业税和所得税优惠。
(四) 加强人才培养和引进。
完善对研发人员的激励机制。加强高校软件工程和微电子专业建设, 鼓励有条件的高校与集成电路企业联合建立微电子学院, 支持建立校企结合的人才综合培训和实践基地。加快海外高层次人才的引进。
(五) 严格落实软件和集成电路知识产权保护制度, 依法打击各类侵权行为。
进一步推进软件正版化, 全面落实政府机关使用正版软件的政策措施, 大力引导企业和社会公众使用正版软件。支持企业依法到国外申请知识产权。
(六) 加强市场引导, 规范市场秩序。
相关文章:
业务部署01-09
动员部署方案范文01-09
重点部署01-09
水中重金属应急监测方法简述01-09
应急监测的环境污染论文提纲01-09
中国空军七大王牌01-09
部署知识01-09
部署架构设计01-09
部署党建工作部署安排01-09
部署方案01-09