基于改进的linux虚拟服务器架构的开放式网络计算平台的制作方法

文档序号:6387335阅读:273来源:国知局
专利名称:基于改进的linux虚拟服务器架构的开放式网络计算平台的制作方法
技术领域
本发明属于网络计算领域,具体涉及一种基于改进的LVS(linuxVirtual Server,即linux虚拟服务器)架构的开放式网络计算平台。
背景技术
随着网络技术的发展,人们开始思考如何建立网络计算平台,利用Internet上广泛分布的空闲资源,运行计算量大的、分布式的应用程序;提供空闲资源的计算机被称为志愿机。在过去的几年中,国际上涌现出的著名网络计算项目包括SETI@Home、GIMPS、D20L、XtremWeb等,它们的成功证实了这种计算模型的可行性。
在上述项目中,SETI@Home、GIMPS和D20L已经被广泛应用,它们具有以下优点(1)服务器系统功能强大,能够高效、可靠、稳定的运行,处理大量的、动态变化的志愿机请求。SETI@Home、GIMPS和D20L项目的志愿机数目分别高达450万、20万和5.5万,这些志愿机随时可能加入或者退出网络计算平台,向服务器发出各种请求,只有功能非常强大的服务器系统才能高效、可靠、及时的处理这些请求。
(2)具有适用于包括Windows在内的多种操作系统平台的志愿机系统。Windows是Internet上使用最广泛的操作系统,具有适用于Windows平台的志愿机系统,意味着Internet上大部分计算机成为潜在志愿机。多种操作系统平台的志愿机系统使得Internet上许多其它计算机也可能被网络计算平台利用。
但是,上述项目都是针对特定应用设计的专用平台SETI@Home专用于搜索外星生物,GIMPS专用于寻找梅森素数,D20L专用于寻求SARS解药。专用平台的结构如图1所示,它们存在以下不足(1)网络计算平台的实现细节对应用科学家不透明。为了计算应用,应用科学家不得不专门组建网络计算平台。
(2)不同应用之间难以共享资源。例如,当SARS大规模爆发时,人们可能希望把更多的计算资源用于寻求SARS解药。但是D20L项目只有5.5万台志愿机,此时虽然SETI@Home项目的注册志愿机数目高达450万,却难以为D20L所利用。
(3)应用的选择、升级及资源分配策略的实现对志愿者不透明。如果志愿者希望运行多个应用,那么他不得不下载和安装多个项目的志愿机软件,并且手工协调不同应用对计算资源的占用;当应用代码升级时,志愿者不得不升级志愿机软件。
2001年,Fedak G在Cluster Computing and the Grid会议上发表了文章“XtremWeba generic global computing system”,文中首次提出一种开放式网络计算平台——XtremWeb的设计,其结构如图2所示。与专用平台不同,XtremWeb并非针对专门的应用设计,而是可以运行多个不同的应用。开放式的设计使XtremWeb较好的克服了专用平台的上述不足。但是,由于存在以下问题,XtremWeb未能被广泛应用。
(1)服务器系统建立在单PC机上,难以处理大量的、动态变化的志愿机请求,也难以提供每天24小时每星期7天可用的服务。
(2)目前XtremWeb项目只开发出基于Linux的志愿机系统,因此难以利用Internet上其它操作系统平台(尤其是Windows平台)的计算机。
(3)缺乏人性化的志愿机软件设计。志愿机软件没有提供图形界面,在运行过程中,志愿者难以与之交互;计算线程以普通优先级运行,一经启动,会立即占用所有CPU资源,使志愿者难以正常工作。

发明内容
本发明的目的在于克服现有网络计算平台的不足,提供一种基于改进的LVS架构的开放式网络计算平台;本发明开放式的设计使网络计算平台的实现细节对应用科学家透明,并且多应用共享志愿机资源;其服务器系统具有LVS架构的一切优良特性。
本发明提供的一种基于改进的linux虚拟服务器架构的开放式网络计算平台,包括基于改进的linux虚拟服务器架构的服务器系统和贡献空闲计算资源的志愿机系统;
服务器系统包括前端机和m台昊宇服务器,m为正整数;志愿机系统包括n台昊宇志愿机,n为正整数;前端机包括负载均衡模块和前端机备份模块;昊宇服务器包括存储系统、应用模块、监控模块、服务器备份模块和调度模块,其中,存储系统包括数据库系统和文件系统;昊宇志愿机包括志愿者接口模块、控制模块、通信模块和计算模块。
昊宇志愿机将请求发送给前端机,其中的负载均衡模块将请求转发到昊宇服务器的调度模块上;前端机备份模块根据自适应策略建立并维护昊宇服务器之间的备份关系向量表,服务器备份模块根据备份关系向量表,将存储系统中的数据库信息和文件信息备份到对应的服务器上。
应用模块用于接收客户提交的应用,并将应用划分成计算量小的任务,再通过命令将应用信息和任务信息存入数据库系统,应用的二进制代码和任务的数据文件存入文件系统。
当昊宇志愿机中的通信模块请求计算任务时,调度模块根据应用模块写入数据库系统中的任务信息,统一调度任务,通过昊宇志愿机中的通信模块分配给志愿机执行;调度模块还用于在通信模块返回计算结果以后,将结果文件存放到文件系统中,并修改数据库系统中的任务信息。
监控模块用于读取数据库系统中的信息,处理后加以显示,以监控昊宇服务器的运转状况。
志愿者接口模块用于实时监听并执行志愿者发出的命令,根据命令修改配置文件中相应的项;控制模块循环根据配置文件的设置,当启动计算的条件满足时,启动通信模块,向昊宇服务器请求计算任务,当调度模块返回计算任务后,启动计算模块,以最低优先级计算任务,在计算过程中通信模块周期性地向调度模块发送“alive”信息,并将计算结果通过通信模块返回给调度模块。
前端机备份模块按照下述方式建立和维护备份关系向量表从1到j为每台服务器编号,设服务器编号为i1,当i1<j时,i1号服务器的信息备份到i1+1号服务器上,j号服务器的信息备份到1号服务器上;当新服务器加入时,将新服务器编号为j+1,然后将j号服务器的信息备份到j+1号服务器上,j+1号服务器的信息备份到1号服务器上,其它服务器之间的备份关系不变;当编号为i2的服务器退出时,将大于i2的服务器编号均减1,新的i2号服务器备份到i2-1号服务器上,其它服务器之间的备份关系不变。
本计算平台的服务器系统和志愿机系统分别采用应用模块与核心软件分离机制,使应用可以方便的利用本平台进行计算,克服了专用平台的不足。基于LVS架构的服务器系统,自然继承了LVS的一切优良特性,包括高可用性、可伸缩性和高性价比等;基于LVS开发的备份模块,大大提高了系统的容错性。基于Windows和Linux平台的志愿机软件,使Internet上大部分计算机成为昊宇的潜在志愿机。“以人为本”的志愿者接口模块设计,使志愿者可以方便的控制志愿机软件的运行,尊重了志愿者对志愿机的最终控制权;计算模块在后台以最低优先级启动计算,完全不会干扰志愿者的工作。具体而言,本发明具有以下优点及效果(1)服务器系统具有LVS架构的一切优良特性基于LVS架构的服务器系统自然继承了LVS的一切特性,包括可伸缩性当志愿机的数目越来越多,使服务器的负载增加时,服务器系统能够被扩展以满足需求,而且不降低服务质量。
高可用性即使服务器系统的部分硬件和软件会发生故障,整个系统的服务必须是每天24小时每星期7天可用的。
高性价比与超级计算机相比,网络计算平台应该具有更强的计算能力,而且整个系统的实现是经济的、易支付的。
(2)良好的容错性容错性关系到系统的可用性和用户对系统的信赖程度。基于LVS开发的备份模块使服务器系统具有良好的容错性。任何一台服务器的突然失效不会造成灾难性的后果,根据备份信息,服务器可以迅速恢复到失效前某一正确状态。
(3)人性化的志愿机软件有利于吸引更多的志愿者适用于Windows和Linux平台的志愿机软件的推出使Internet上大部分计算机都成为昊宇的潜在志愿机;人性化的志愿者接口模块实现了志愿者对志愿机的控制;以最低优先级启动的计算线程使昊宇真正实现了利用志愿机的空闲资源进行计算,完全不干扰志愿者工作;这三项的实现有利于吸引更多的Internet用户加入本平台。
(4)网络计算平台实现细节对应用科学家透明应用科学家只需将应用提交给昊宇,就可以利用已有的网络计算平台进行计算,而不用专门建立自己的网络计算平台和搜集志愿者。这样可以将应用科学家从网络计算平台的实现细节中解放出来,集中精力进行自己领域的科学研究。
(5)多应用共享志愿机资源运行在昊宇上的所有应用共享志愿机资源。这样做的好处是①充分利用志愿机空闲资源;即使某个应用暂时没有足够的任务需要计算,不会影响对志愿机空闲资源的利用;②当某个应用紧急度较高时,可以迅速、方便的集中大量计算资源进行计算。
(6)应用的选择和升级对志愿者透明通过志愿者接口模块,志愿者可以自主选择一个或多个希望计算的应用,以及在这些应用之间分配空闲资源的策略;志愿机软件根据志愿者的设置计算应用。志愿机软件还能够透明的升级应用程序代码。


图1为专用网络计算平台的结构示意图,其中,1为服务器,2.1,……,2.n为志愿机;图2为XtremWeb的结构示意图,其中,3为XtremWeb服务器,4.1,……,4.n为XtremWeb志愿机,5.1,……,5.k为客户;图3为昊宇网络计算平台的结构示意图,其中,6为前端机,7.1,……,7.m为昊宇服务器,8.1,……,8.n为昊宇志愿机;图4为昊宇服务器的结构示意图;图5为昊宇志愿机的结构示意图;图6为基于LVS的开放式网络计算平台模块结构示意图;图7为新节点加入时自适应策略调整方式;图8为旧节点退出时自适应策略调整方式;图9为昊宇服务器的工作流程图;图10为志愿机的工作流程图。
具体实施例方式
本发明提供的开放式网络计算平台又被称之为昊宇网络计算平台,其结构如图3所示。从工作原理的角度可以将本平台分为两大部分一是基于改进的LVS架构的服务器系统20,包括前端机6和昊宇服务器7.1,……,7.m;二是广泛分布在Internet上,贡献空闲计算资源的志愿机系统21,包括昊宇志愿机8.1,……,8.n。
昊宇服务器7的结构如图4所示,包括存储系统9、应用模块10、监控模块11、服务器备份模块12和调度模块13。
昊宇志愿机8的结构如图5所示,包括志愿者接口模块14、控制模块15、通信模块16和计算模块17。
如图6所示,服务器系统20建立在集群上,采用LVS架构。其中一个节点作为前端机6,其它节点作为昊宇服务器7.1,……,7.m。前端机上建立了负载均衡模块18和前端机备份模块19,其中,前端机备份模块19由发明人基于LVS开发。
昊宇服务器7.1,……,7.m的构成相同,昊宇服务器7.1中的各构成部分在图中标记为存储系统9.1、应用模块10.1、监控模块11.1、服务器备份模块12.1和调度模块13.1,对应地,昊宇服务器7.m中的各构成部分标记为存储系统9.m、应用模块10.m、监控模块11.m、服务器备份模块12.m和调度模块13.m。
每次通信,昊宇志愿机8实际上是将请求发送给前端机6,然后由负载均衡模块18无缝地将志愿机的请求调度到适合的昊宇服务器7上,负载均衡模块18是LVS架构本身具有的,本发明利用其原有的功能进行工作。该服务器上的调度模块13处理完请求以后,直接将结果发送给昊宇志愿机8。服务器集群的结构对志愿机透明,志愿机就象访问一台高性能、高可用的服务器一样。
前端机备份模块19根据自适应策略建立并维护昊宇服务器之间的备份关系向量表,服务器备份模块12根据向量表将信息备份到指定的昊宇服务器中。备份模块的建立,使失效服务器可以迅速、方便的从备份服务器恢复信息。
自适应策略的优势在于当某台服务器加入或退出时,策略本身能够进行自适应调整,并且对昊宇服务器之间原有的备份关系影响最小。调整方法如图7、8所示,说明如下从1到j为每台服务器编号。假设服务器编号为i,当i<j时,i号服务器的信息备份到i+1号服务器上;j号服务器的信息备份到1号服务器上。当新服务器加入时,将新服务器编号为j+1,然后将j号服务器的信息备份到j+1号服务器上,j+1号服务器的信息备份到1号服务器上,其它服务器之间的备份关系不变。当编号为p的服务器退出时,将大于p的服务器编号均减1,p-1号服务器备份到新的p号服务器上,其它服务器之间的备份关系不变。
每台昊宇服务器7包括存储系统9、应用模块10、监控模块11、服务器备份模块12和调度模块13,其中存储系统是现有服务器所带有的,包括数据库系统和文件系统。
通过应用模块10提供的界面,客户可以提交应用,提交内容包括应用的可执行文件、数据文件、命令行参数等;应用模块10接收应用以后,通过划分数据文件,将应用划分成大量的、计算量较小的任务;然后,应用模块10通过命令安装应用,将应用信息写入数据库,二进制代码和数据文件存入指定目录;最后,应用模块10通过命令将任务信息存入数据库,任务的数据文件存入指定目录。
调度模块13根据应用模块10写入数据库的任务信息,统一调度等待执行的任务,分配给志愿机执行。当志愿机通信模块16请求计算任务时,调度模块13根据志愿机的操作系统和CPU类型,以及请求的应用,选择合适的任务分配给它,如果志愿机尚未缓存该应用的二进制代码,调度模块13会向通信模块16传送。分配完任务以后,如果一段时间内调度模块13未能接收到通信模块16发送的“alive”信息,它会再次调度该任务,分配给其它志愿机计算。当通信模块16返回计算结果以后,调度模块13会将结果文件存放到文件系统中,并修改数据库系统中的任务信息。
在服务器运行过程中,监控模块11实时监控昊宇服务器的运转状况。可根据用户的要求进行设计。例如,监控模块通过读取数据库中的应用程序信息、志愿者信息、志愿机信息和任务信息,经过处理以后,以表格、饼图、柱图或/和曲线图的形式显示出来,使管理员能够远程、实时、直观、方便的监控昊宇服务器7当前的运转状况。监控页面的内容可包括应用程序基本信息、志愿者个人信息、志愿机信息、已完成任务的结果跟踪信息、志愿机完成任务数的历史信息、志愿机活动状况信息和任务状态信息。
服务器备份模块12根据前端机备份模块19制定的备份关系,采用适当的备份策略,将存储系统9中的重要信息备份到相应服务器的存储系统9中。备份策略在常规的完全备份、增量备份基础上,增加了实时备份,以便在数据信息改变时同步进行备份。备份的数据库信息包括应用程序信息、任务信息、志愿者信息和志愿机统计信息。备份的文件包括应用二进制代码、应用的数据、任务的数据文件以及计算结果。其中应用信息、志愿者信息、应用二进制代码和应用的数据采用实时备份的方式,其它信息每天进行一次增量备份,所有信息每周进行一次完全备份。
昊宇服务器的工作流程如图9所示。
昊宇志愿机8包括志愿者接口模块14、控制模块15、通信模块16和计算模块17。志愿机软件启动以后,志愿者接口模块14和控制模块15立即被启动。志愿者接口模块14实时监听并执行志愿者发出的命令,包括①查看志愿机软件的工作日志;②暂停/继续计算;③修改希望运行的应用以及空闲资源分配策略信息;④修改志愿者个人信息;⑤修改志愿机资源贡献信息;⑥查看当前总的CPU利用率和计算线程的CPU利用率;⑦查看当前总的内存利用率和计算线程的内存利用率;⑧查看昊宇网络计算平台的动画介绍;⑨查看统计信息;⑩退出志愿机软件的运行。当志愿者发出命令①⑥⑦⑧⑨时,志愿者接口模块14调用相应的程序段,按照指定格式显示信息;当志愿者发出命令②③④⑤⑩时,志愿者接口模块14修改配置文件中相应的项。
控制模块15循环根据配置文件的设置,判断当前是否满足启动计算的条件,如果不满足,等待一段时间;如果满足,启动通信模块16,向服务器请求目前志愿机适合运行的应用的计算任务,同时告诉服务器这些应用二进制代码的缓存情况;获得任务以后,启动计算模块17,以最低优先级计算任务;在计算过程中,通信模块16周期性的向调度模块13发送“alive”信息;计算完毕后,通信模块16向昊宇服务器发送计算结果。
昊宇志愿机8启动以后,控制模块15根据志愿者接口模块14接收的志愿者设置,了解志愿者希望哪些应用,以及空闲资源在这些应用之间的分配策略,然后判断志愿机是否缓存这些应用的二进制代码;当计算条件达到时,控制模块15通过通信模块16主动向服务器请求这些应用的计算任务,并且告诉服务器每个应用的二进制代码缓存情况;通信模块16接收服务器调度模块13分配的任务和尚未缓存的应用的二进制代码;控制模块15启动计算模块17,执行计算任务,计算完毕后通信模块16向服务器调度模块13返回结果,然后请求下一个任务,依次循环。
志愿机的工作流程如图10所示。
目前已经开发出Windows和Linux平台的志愿机软件,并为其他操作系统平台提供了可扩展接口。
实例昊宇网络计算平台服务器系统构建在集群的3个节点机上,其基本配置如表1所示。

表1 各节点的硬件及网络配置其中,一台作为前端机,其余两台作为昊宇服务器。
具体实施如下所有节点均配置LVS;其中节点3充当前端机,同时具有真实IP 211.69.206.236和虚拟IP 192.168.1.203;节点9和节点11作为后台服务器,分别具有虚拟IP 192.168.1.220和192.168.1.211。后台服务器安装昊宇服务器软件,前端机负责维护后台服务器的负载平衡。
志愿机系统构建在Internet上的PC机上,其基本配置如表2所示。

表2 志愿机的硬件及网络配置对整个系统的实现说明如下(1)基于LVS的自适应容错备份系统根据自适应策略,前端机建立并维护昊宇服务器之间的备份关系向量表,其示例如表3所示。

表3 前端机维护的备份关系向量表各字段解释如下PeerName昊宇服务器的名称;PeerIP昊宇服务器的IP地址;Status昊宇服务器当前状态,true表示正常运转,false表示非正常运转;Port昊宇服务器监听备份信息的端口;BKPeerIP昊宇服务器信息备份的服务器IP;Description昊宇服务器的描述信息;从表3可以看出,目前前端机维护了node9和node11两台昊宇服务器之间的备份信息。node9的IP地址是192.168.1.220,当前处于活动状态,它在端口8848监听前端机备份系统的命令;根据自适应策略,node9的重要信息备份到服务器192.168.1.211上。node11的备份信息也可以从向量表中读出。
Node9和node11将根据向量表的规定进行数据库系统和文件系统的备份。数据库系统备份采用mysqldump+Crontab方式,文件系统备份采用NFS+shellscript+Crontab方式。
(2)采用应用系统与核心软件分离机制的服务器系统应用系统接收应用以后,将应用信息写入文件app.conf,主要信息项解释如下app.os.name应用适合运行的操作系统平台类型;app.cpu.type应用适合运行的CPU类型;app.name应用名称;app.bin应用的二进制代码存放路径;app.client_id提交应用的客户ID;app.priority应用的优先级;app.conf文件编辑完毕后,执行命令make installApp,该命令根据app.conf中的内容,建立应用主目录${HowU主目录}/db/${应用名称},然后再建立目录${应用主目录}/bin,将应用的二进制代码从app.bin目录拷贝到${应用主目录}/bin下,并将应用信息写入数据库apps表,应用就被安装到服务器系统中了。接下来,应用系统需要分解应用并提交任务。目前昊字主要运行SPMD类型的应用,因此划分应用其实是划分数据文件,划分后的每个数据文件对应一个任务。每个任务被分配一个wid,即任务的ID,任务的数据文件以任务ID命名。分解完成以后,执行命令javaSubTasks,系统会为每个任务建立目录${应用主目录}/{任务ID},然后任务的数据文件被拷贝到目录下,任务信息被写入数据库的works表中。
works表中的主要信息项如下wid任务的ID;priority任务的优先级;os任务适合运行的操作系统平台类型;nameApp任务所属的应用程序名称;status任务当前所处的状态;dirInName任务的数据文件所在目录,即${应用主目录}/{任务ID};dirOutName任务的结果文件存放目录;调度系统周期性的扫描数据库中的works表,根据任务的操作系统类型和优先级,选择status=“waiting”的任务,存入任务池,然后将该任务的status改为“inqueue”。当志愿机请求计算任务时,调度系统从任务池中选择合适的任务,然后从该任务的dirInName目录读出数据文件,传送给志愿机;如果志愿机需要二进制代码,调度系统会根据works表nameApp项,获取应用名称信息,然后将${应用主目录}/bin目录下应用的二进制代码传送给志愿机。志愿机接收任务后启动计算并返回结果,调度系统将结果文件保存到${应用主目录}/{任务ID},并将该任务的status改为“completed”。
(3)人性化的志愿者接口系统志愿者接口系统包括三个主菜单“Status”、“Setting”、“Help”和四个按钮“Log”、“CPU Utility”、“MEM Utility”、“Introduction”。
“Status”的下拉菜单包括“Statistics…”、“Pause”、“Continue”和“Exit”,选中它们,志愿机软件分别执行以下操作“显示志愿机软件完成任务的统计信息”、“暂停计算”、“继续计算”和“退出志愿机软件的运行”。
“Setting”的下拉菜单包括“User Information…”、“CPU andMemory…”和“Distribution Strategy…”。选中“User Information…”,会弹出对话框显示志愿者个人信息,志愿者可以修改对话框中的个人信息;选中“CPU and Memory…”,会弹出对话框显示志愿机当前贡献的CPU和内存资源的数量,志愿者可以修改对话框中的资源贡献信息;选中“Distribution Strategy…”,会弹出对话框显示志愿机当前可以运行的应用以及资源在这些应用之间的分配策略,志愿者可以修改应用和资源分配策略。
“Help”的下拉菜单包括“Help Topics”和“About us”。选中它们,志愿机软件会显示帮助信息。
选中按钮“Log”,志愿者接口系统界面会显示志愿机软件运行的日志信息;选中“CPU Utility”,会显示志愿机当前总的CPU利用率和计算线程的CPU利用率,选中“MEM Utility”,会显示志愿机当前总的内存利用率和计算线程的内存利用率,选中“Introduction”,会显示昊宇网络计算平台的动画介绍。
(4)方便的平台移植,实现Windows和Linux为了方便的开发出适用于多种操作系统平台的志愿机系统,发明人采用了移植性非常好的Java语言。发明人在Linux环境下开发出的志愿机软件经过少量修改就可以在Windows平台下运行,今后发明人还会开发出适用于其它操作系统平台的志愿机软件。
(5)应用系统与核心软件分离的志愿机系统志愿机软件第一次运行时,会在${志愿者主目录}/Temp下面建立目录howuCache,以后志愿机从服务器获取的应用二进制代码都存放在该目录下。
志愿机软件启动以后,等待启动计算的条件满足;然后根据志愿者的设定,判断志愿机当前可以运行哪些应用,查询目录${志愿者主目录}/Temp/howuCache,判断志愿者是否缓存这些应用的二进制代码;志愿机软件主动向服务器请求计算这些应用的任务并告知二进制代码缓存情况;最后从服务器接收任务以及首次计算的应用的二进制代码。
权利要求
1.一种基于改进的linux虚拟服务器架构的开放式网络计算平台,其特征在于该计算平台包括基于改进的linux虚拟服务器架构的服务器系统(20)和贡献空闲计算资源的志愿机系统(21);服务器系统(20)包括前端机(6)和m台昊宇服务器(7.1,……,7.m),m为正整数;志愿机系统(21)包括n台昊宇志愿机(8.1,……,8.n),n为正整数;前端机(6)包括负载均衡模块(18)和前端机备份模块(19);昊宇服务器(7)包括存储系统(9)、应用模块(10)、监控模块(11)、服务器备份模块(12)和调度模块(13),其中,存储系统包括数据库系统和文件系统;昊宇志愿机(8)包括志愿者接口模块(14)、控制模块(15)、通信模块(16)和计算模块(17);昊宇志愿机(8)将请求发送给前端机(6),其中的负载均衡模块(18)将请求转发到昊宇服务器的调度模块(13)上;前端机备份模块(19)根据自适应策略建立并维护昊宇服务器之间的备份关系向量表,服务器备份模块(12)根据备份关系向量表,将存储系统(9)中的数据库信息和文件信息备份到对应的服务器上;应用模块(10)用于接收客户提交的应用,并将应用划分成计算量小的任务,再通过命令将应用信息和任务信息存入数据库系统,应用的二进制代码和任务的数据文件存入文件系统;当昊宇志愿机中的通信模块(16)请求计算任务时,调度模块(13)根据应用模块(10)写入数据库系统中的任务信息,统一调度任务,通过昊宇志愿机中的通信模块(16)分配给志愿机执行;调度模块(13)还用于在通信模块(16)返回计算结果以后,将结果文件存放到文件系统中,并修改数据库系统中的任务信息;监控模块(11)用于读取数据库系统中的信息,处理后加以显示,以监控昊宇服务器的运转状况;志愿者接口模块(14)用于实时监听并执行志愿者发出的命令,根据命令修改配置文件中相应的项;控制模块(15)循环根据配置文件的设置,当启动计算的条件满足时,启动通信模块(16),向昊宇服务器请求计算任务,当调度模块(13)返回计算任务后,启动计算模块(17),以最低优先级计算任务,在计算过程中通信模块(16)周期性地向调度模块发送“alive”信息,并将计算结果通过通信模块(16)返回给调度模块(13)。
2.根据权利要求1所述的计算平台,其特征在于前端机备份模块(19)按照下述方式建立和维护备份关系向量表从1到j为每台服务器编号,假设服务器编号为i,当i<j时,i号服务器的信息备份到i+1号服务器上;j号服务器的信息备份到1号服务器上中;当新服务器加入时,将新服务器编号为j+1,然后将j号服务器的信息备份到j+1号服务器上,j+1号服务器的信息备份到1号服务器上,其它服务器之间的备份关系不变;当编号为p的服务器退出时,将大于p的服务器编号均减1,p-1号服务器备份到新的p号服务器上,其它服务器之间的备份关系不变。
全文摘要
本发明公开了一种基于改进的linux虚拟服务器架构的开放式网络计算平台,服务器系统和志愿机系统;前者包括前端机和多台昊宇服务器;后者包括多台昊宇志愿机。前端机包括负载均衡模块和前端机备份模块;昊宇服务器包括存储系统、应用模块、监控模块、服务器备份模块和调度模块。昊宇志愿机包括志愿者接口模块、控制模块、通信模块和计算模块。本发明具有网络计算平台实现细节对应用科学家透明,多应用共享志愿机资源,应用的选择、升级及资源分配策略实现对志愿者透明等优点。服务器系统自然继承了LVS的一切特性。适用于Windows和Linux的志愿机软件、人性化的志愿者接口系统和以最低优先级启动的计算线程有利于吸引更多的志愿者,使本平台具有强大的计算能力。
文档编号G06F9/50GK1560742SQ200410012810
公开日2005年1月5日 申请日期2004年3月4日 优先权日2004年3月4日
发明者金海 , 鄢娟, 章勤, 韩宗芬, 龚文君, 康达祥, 铁婧, 王成伟, 张超, 袁泉, 王玮, 邹德清, 金 海 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1