生物信息计算网格系统的利记博彩app

文档序号:7697961阅读:191来源:国知局

专利名称::生物信息计算网格系统的利记博彩app
技术领域
:本发明涉及生物信息计算领域。
背景技术
:自20世纪80年代末起,随着基因组测序数据的迅猛增长,生物信息学(Bioinformatics)正逐步成为一门独立的新兴学科,而生物信息服务开发也成了一个专门领域。数据库搜索程序Blast、多序列联配程序ClustalW、生物种系发生分析软件Phylip,以及大型序列分析软件包EMBOSS等,已经成为分子生物学研究不可缺少的工具。公开、公共、公用,是生物信息服务的主要特征。这些软件和服务通常采用各种形式的开放源代码版权声明,多以开源的Limix操作系统为主要平台,多由科研机构、高等院校等学术部门自由开发,并提供公众使用,是当前生物信息应用开发的主流。复用这些现有的生物软件,加之引入新出现的其他生物软件,建立一个通用的生物信息计算平台,有其重要的作用和深远的影响。而且,生物信息计算通常是计算密集型的应用,需要大量的计算资源,单机很难完成如此大规模的作业。网格是一种先进的技术和基础设施,是继Internet之后又一次重大的科技进步。网格(Grid)是一个集成的计算和资源环境,或者说一个计算资源池。网格能够充分利用各种计算资源,并将它们转化为一种随处可得的、可靠的、标准的同时也是经济的计算能力。除了各种能力的计算机,这里的计算资源还包括网络通信能力、数据资料、仪器设备、甚至是人力等各种相关的资源。
发明内容本发明的目的是提供一种生物信息计算网格系统,以解决单个计算机难以完成大规模的生物信息计算的问题。它包括生物信息计算门户网站服务器1、多个生物信息计算服务的发布者终端2和多个服务的使用者终端4;生物信息计算服务的发布者终端2向生物信息计算门户网站服务器1提供服务的源代码或可执行程序;服务的使用者终端4从生物信息计算门户网站服务器1寻找自己需要的服务,并通过生物信息计算门户网站服务器1运行生物信息计算服务的发布者终端2上的可执行程序以获得结果,或者服务的使用者终端4根据生物信息计算服务的发布者终端2所提供的源代码自行编写程序在生物信息计算服务的发布者终端2上运行以获得结果;生物信息计算服务的发布者终端2所提供的源代码或可执行程序以XML文件形式发布。由于本发明利用了网格技术,把生物信息计算放到网格系统中交给多个生物信息计算服务的终端完成,解决了单个计算机难以完成大规模的生物信息计算的问题。另外,本发明还把生物信息计算服务的发布者终端所提供的源代码或可执行程序以标准的XML文件形式发布。这样做有四个好处其一,由于不需要制成多种标准的文件,可以节省服务发布方的部署资本,使其更关注于服务本身的完善;其二,可以使网格系统集成众多服务,并提供通用的服务;其三,用户可以无缝的使用各种生物信息计算服务而无需关注各种服务之间的差异;其四,由于描述文件严格规范,用户通过程序调用系统的API(软件操作系统本身提供的接口函数)即可自动完成服务的发现和作业的操作。本发明提出的生物信息计算网格系统解决了生物应用中存在的计算和存储瓶颈,使得大规模的生物信息计算应用共享服务成为可能,同时向生物学家屏蔽上述复杂的底层实现。。图l是本发明实施方式一和二的结构示意图,图2是实施方式三的结构示意图,图3是实施方式四中最快处理器速度优先调度算法、最大处理器数目优先调度算法、最大处理器总量优先调度算法、最大空闲内存容量优先调度算法、最大内存总容量优先调度算法、最大带宽优先调度算法、最大空闲磁盘容量优先调度算法、最大磁盘总容量优先调度算法、随机调度算法进行比较的实验结果示意图,图4是实施方式四中最快处理器速度优先调度算法、最大空闲内存容量优先调度算法和随机调度算法进行对比的实验结果示意图,图5是实施方式四中在线调度算法的比较结果示意图。图3横坐标中的A代表最快处理器速度优先调度算法、B代表最大处理器数量优先调度算法、C代表最大处理器总量优先调度算法、D代表最大空闲内存容量优先调度算法、E代表最大内存总容量优先调度算法、F代表最大带宽优先调度算法、G代表最大空闲磁盘容量优先调度算法、H代表最大磁盘总容量优先调度算法、I代表随机调度算法,每处的三个灰度柱状体依次表示非阻塞20、非阻塞40和非阻塞80。图4横坐标中的J代表最快处理器速度优先调度算法、K代表最大空闲内存容量优先调度算法、L代表随机调度算法,每处的四个灰度柱状体依次表示非阻塞20、非阻塞40、非阻塞80和阻塞20。图5横坐标中的M指非阻塞20、N指非阻塞40、O指非阻塞80,每处的九个灰度柱状体依次表示最快处理器速度优先调度算法、最大处理器数量优先调度算法、最大处理器总量优先调度算法、最大空闲内存容量优先调度算法、最大内存总容量优先调度算法、最大带宽优先调度算法、最大空闲磁盘容量优先调度算法、最大磁盘总容量优先调度算法、随机调度算法。具体实施例方式具体实施方式一下面结合图1具体说明本实施方式。本实施方式的生物信息计算网格系统由接入Internet等互联网服务的生物信息计算门户网站服务器1、多个生物信息计算服务的发布者终端2和多个服务的使用者终端4组成;生物信息计算服务的发布者终端2向生物信息计算门户网站服务器1提供服务的源代码或可执行程序;服务的使用者终端4从生物信息计算门户网站服务器1寻找自己需要的服务,并通过生物信息计算门户网站服务器1运行生物信息计算服务的发布者终端2上的可执行程序以获得结果,或者服务的使用者终端4根据生物信息计算服务的发布者终端2所提供的源代码自行编写程序在生物信息计算服务的发布者终端2上运行以获得结果;生物信息计算服务的发布者终端2所提供的源代码或可执行程序以XML文件形式发布。网格有接入方便以及终端用户也可以贡献资源的优势。网格基础设施可以建立在全世界最大的网络^Internet上,如此,普通的终端用户可以通过访问互联网就能接入网格,日益增长的互联网使得Internet用户急剧增长,为网格的应用的提供了巨大的潜力。此外,网格不仅能够使用比较固定的服务器资源,也可以使用终端用户的主机资源,终端用户可以选择将自己的资源加入到网格的基础设施中,为网格应用贡献资源,这样就为网格应用提供了无形中的巨大计算和存储资源。在电子科学中,经常需要整合分布、动态、异构的有不同的资源组成的"虚拟组织"的服务,这种整合可能会十分困难,因为资源都处于不同的平台上。例如,它们可能存在于不同的操作系统上,如Linux,Unix,Windows以及MacOS;或者它们可能处于不同的地域的网络中,等等。网格可以应用于分布式超级计算、高吞吐量计算和数据密集型计算。网格技术将游离在互联网中的闲散计算资源集成为一个统一的计算平台,故为生物信息计算的大规模集成应用提供了可能。具体实施方式二本实施方式与实施方式一的不同点是所述生物信息计算网格系统还包括多个服务的部署者服务器3,服务的部署者服务器3从生物信息计算服务的发布者终端2的官方站点或者生物信息计算门户网站服务器1的镜像下载生物信息计算服务的发布者终端2所发布的服务,部署到自己的服务器上,供所有的服务的使用者终端4使用,并将自己的服务部署信息登记到生物信息计算门户网站服务器l上。本实施方式中,服务的部署者终端3把自己的计算资源提供出来,给服务的使用者终端4提供生物信息计算服务。在计算机科学和应用中,术语"服务"通常是指运行在某一个资源上的一类软件程序,为用户提供某一种功能。由于本发明只是研究网格中的软件程序,所以,在本文中,"服务"一词特指Web上的服务,即Web服务(WebService)。具体实施方式三本实施方式与实施方式二的不同点是所述生物信息计算门户网站服务器l包括用户管理模块l-l、服务发布模块l-2、服务部署模块1-3、服务监测模块1-4、作业调度模块1-5和作业状态检测模块1-6;用户管理模块1-1:以完成对不同的用户提供相应的服务和规定相应的操作权限;从功能上分,连接到生物信息计算门户网站服务器1上的用户有三种角色服务的发布者,服务的部署者和服务的使用者。生物信息计算门户网站服务器1在以上三种用户在其网站上注册的时候会让用户选择自己的角色,保存到网站数据库中。当使用时,可以根据用户的角色显示不同的功能菜单。生物信息计算门户网站服务器1也会根据用户的角色,给相应的用户发送邮件提示。从权限上分,生物信息计算门户网站服务器l的用户有三类普通用户、管理员和系统维护者。普通用户使用生物信息计算门户网站服务器1发布、注册或使用服务;管理员负责控制用户权限,管理用户资料等,系统维护者配置系7统的运行参数,备份系统数据,维护系统的正常运行。生物信息计算门户网站服务器1为管理员提供更改用户信息的操作,管理员可以在此批准、修改普通用户的信息。系统为维护者提供了修改配置文件的功能,维护者修改配置文件之后,可以直接重启系统的配置,无需重启服务器。服务发布模块1-2:以完成生物信息计算服务的发布者终端2在生物信息计算门户网站服务器1上发布其生物信息计算服务并注册其服务;服务的发布者在编写完服务软件的代码之后,可以在系统的生物信息计算门户网站服务器l上发布服务,供服务的使用者终端4使用。服务的发布者在发布服务之后,需要到生物信息计算门户网站服务器1上注册服务,使生物信息计算门户网站服务器1的服务数据库中增加该服务的基本信息,并返回一个服务编号给服务的发布者。服务的发布者在注册服务的时候需要提供服务名、参数输入页面模板以及服务的通用描述文件URL。当注册成功之后,系统返回一个服务编号,这个服务编号就能在系统中标识该服务。而服务的部署者和服务使用者就能够根据这个服务号在系统中直接定位服务。服务部署模块1-3:以完成对服务的部署者服务器3服务部署信息的登记,生成服务的部署信息文件;当服务生产商的服务发布之后,服务部署者可以从服务生产商的官方站点或者生物信息计算门户网站服务器1的镜像下载该服务,并部署到自己的服务器上,然后将自己服务器上的服务部署信息文件登记到生物信息计算门户网站服务器1上,供所有的终端用户使用'。在部署的时候,每个服务对应一台服务的部署者服务器3中的服务器,每一台服务器上的服务配置也不相同,所以服务的部署信息文件中需要加入到资源服务器(此服务器属于生物信息计算门户网站服务器l中的服务器,主要负责记录服务路径等信息,帮助用户查找服务的信息)中,包括该服务器的IP地址和端口,以及服务在本地的路径等信息。最终的服务部署登记页面需要的信息有服务名称、服务的部署描述文件。当部署完毕之后,部署者可以在系统网站上注册,此时部署者需要根据系统规定的格式,根据自己资源的部署情况,提交一份服务部署的信息文件,也是xml格式。当部署者注册完毕之后,该服务的可用资源便增加了一个。普通用户也可以使用此资源上的服务。服务监测模块1-4:每隔一段时间对所有的生物信息计算服务的发布者终端2、服务的使用者终端4和服务的部署者服务器3资源的状态进行一次检测,如果遇到资源失效,则会将其标记为不可用;如果资源恢复,则将其重新标记为可用。同时,检测过程中,系统还会收集资源的硬件和软件信息,用于调度决策的依据。资源状态检测包括(1)硬件资源的监测服务监测模块卜4定时监测机群中的节点的增删情况,并更新节点的硬件信息。其中对静态硬件信息(如主机名称、CPU、数目、内存总容量等)的监测频率稍低,因为它们几乎固定不变;对动态硬件信息(如内存占用率、进出网卡包数等)的监测则要频繁得多,因为它们几乎每时每刻都在变化。(2)服务资源的监测服务资源的监测是为了监测已经注册的服务资源(resource)的信息,亦即资源中的软件信息。服务监测模块1-4会定时启动一个监测程序,其任务是定期监测资源列表中的服务是否存在或者是否可用。服务资源监测的方式是调度节点或机群首节点与曾经注册过服务的节点建立套接字连接,调度节点或机群首节点查询它们提供的服务是否仍在运行。这里存在一个效率的问题,由于网格环境下网络机群之间延迟可能比较大,所以监测事件发生的比较频繁,那么査询最好能够在每一个机群的首节点发起,这样查询的开销比较小,然后所有机群的首节点向调度器汇聚,将分布式的资源信息合成一个集中式的资源信息数据库。服务的检查是定时执行,系统会启动一个单独的进程,并发的检查各个服务器上的服务。进程需要检查每一个服务器的基本测试服务,如果查询出错,可以从系统数据库中标注出错,并将其内所有服务设置为暂不可用。当进程禁用某一个服务器后,为了以后检査正常时恢复,需设定一个整数frozentime(冻结时间)。初始和正常服务的frozentime值均为1,系统检查到服务异常后,会将该值递增。系统检查异常服务的时间开始是线性增长,幅度不太大,此时是考虑到网络原因,下次检查服务可能正常,但是如果时间超过某一个阈值,则说明该服务9可能长期不可用,此时检查间隔是指数级增长。这种设计,既可以即使检査到服务的失效和恢复状态,同时又可以减少系统的开销。上述方法解决了检査整个服务器失效的问题。还有单个服务失效的情况,这种情况一般有两种可能,一种是服务被服务部署者删除,这种情况需要用户报告,经确认后系统将其设置为暂不可用,同时系统发邮件给服务部署者,经部署者确认服务正常之后再恢复;另一种是服务本身有bug(指软件缺陷或软件漏洞),这种情况需要联系服务生产商,并在服务的说明中添加bug追踪。复杂的网格环境必然决定了资源的不稳定性,而失效的资源对调度的成功性和效率造成了很大的影响。所以维护一张可用资源的列表,是系统十分重要的工作。系统资源是以网格机群的形式进行管理的,即一个网格环境中有若干个机群,一个机群中有若干个节点,机群之间的节点的物理距离或网络距离很近,而机群之间的节点的物理距离或网络距离相对较远。作业调度模块1-5:以完成服务的使用者终端4所要求的生物信息计算服务在多个生物信息计算服务的发布者终端2和多个服务的部署者服务器3之间的任务布置和调度指挥。作业状态检测模块1-6:以完成作业进程的状态跟踪和显示。作业的运行时间很长,所以需要加入状态检测,以供普通用户了解作业的运行情况。作业状态分为未提交、传输输入文件、等待、开始执行、挂起、传输输出文件、清理作业、失败、完成。系统需要对这些状态进行检测,获得准确的状态信息,进而处理相应的场景。系统使用GlobusToolKit提供的网格基础构架组建中的GRAM组件来帮助我们实现将用户的作业提交到网格组织中某一执行节点,并对该作业控制管理,得到最终结果的过程。当用户提交一个作业时,GRAM创建一个ManagedJob对象,并返回其句柄。然后就可以使用这个句柄与这个作业进行交互,这实际上是一个WS-AddressingEndpointReference(EPR)。GRAM提供了作业和执行管理服务来提交、监视和控制作业,但是这都依赖于用来传输文件和管理证书所使用的支持服务。GridFTP所提供的文件服务用来帮助GRAM实现对输入和输出文件的分段传输。证书管理服务处理证书,对其他服务和所需要的分布式网格资源进行委托。利用GRAM提交作业需要一个前提,那就是用户必须通过身份验证并具有有效的证书。这是因为这个作业可能需要将证书委托给他人来执行远程操作,例如分段传输文件。通常,可以在CA服务器上申请证书;申请成功后将证书拷贝到你的作业提交机器上便可。GRAM调用过程中,作业提交以后就开始了GRAM的作业状态转变的过程。本实施方式中的生物信息计算门户网站服务器1是一个集成了生物服务发布、检测管理和服务应用的生物信息计算门户站点。本发明的系统为服务本身的属性和部署在资源上的服务属性提供了统一的描述,使得服务能够以统一的方式集成到门户中;可以无缝的整合现有的各种生物信息计算软件,终端用户可以不关注服务之间的差异,使用统一的方式定位服务,运行服务,最后获得运行结果。具体实施方式四本实施方式与实施方式三的不同点是作业调度模块1-5使用在线启发式的调度算法;所述在线启发式的调度算法由最快处理器速度优先调度算法、最大处理器数目优先调度算法、最大处理器总量优先调度算法、最大内存总容量优先调度算法、最大空闲内存容量优先调度算法、最大磁盘总容量优先调度算法、最大空闲磁盘容量优先调度算法、最大带宽优先调度算法和随机调度算法组成,在具体的服务中由服务的使用者终端4在作业调度模块1-5的提示下选择使用哪一个调度算法。在异构的网络环境下的作业调度算法是一个NP完全问题(NP完全问题是指针对某个问题在有限的时间内无法通过穷举的方法得到最优解的问题。这种问题是计算机领域最难解决的问题,因此需要借助一些近似算法即启发式算法来获得近似最优解),一般会采用启发式的算法,主要有两类批处理调度和在线调度。由于系统关注作业操作的实时性,所以使用在线调度方式。在线调度启发式算法的思想是当作业一旦到达调度器,就被调度到一个资源上。同时根据作业的特点,采用了如下在线的启发式的调度算法1.最快处理器速度优先调度算法很多生物信息计算的软件都是计算密集型的,所以一个直观的想法就是处理器速度越快,作业的完成时间就越短。所以最快处理器速度优先调度算法是在可用资源中选择拥有最大的处理器速度的资源。2.最大处理器数目优先调度算法处理器越多,完成作业的时间有可能越短,特别是支持多线程的程序,这种效果更明显。所以最大处理器数目优先调度算法是在可用资源中选择拥有最大的处理器数目的资源。3.最大处理器总量优先调度算法最大处理器总量优先调度算法是在可用资源中选择拥有最大的处理器速度和数目乘积的资源。由于有一些作业可能存在多线程或多进程,所以处理器性能发挥的瓶颈可能不仅仅在于处理器的速度,还在于处理器的个数,例如低速多核的处理器(2xl000M)执行任务可能会快于高速的单核(lxl500M)的处理器。所以我们设计的这种算法的关键在于对处理器的速度和数目的综合值进行比较。4.最大内存总容量优先调度算法最大内存总容量优先调度算法是在可用资源中选择拥有最大的内存的资源。由于有的生物信息计算会花费大量的内存资源,最大内存容量调度算法能够减少内存页面换出的几率,加快作业运行的时间。5.最大空闲内存容量优先调度算法最大空闲内存容量优先调度算法是在可用资源中选择拥有最大的空闲内存的资源。由于资源的内存不是专供一个服务使用,有可能一个资源的内存很大,但是可以使用的空闲内存却很小,这种情况下再使用最大内存容量的调度算法就不明智了,所以我们引入了最大空闲内存容量的调度。6.最大磁盘总容量优先调度算法最大磁盘总容量优先调度算法是在可用资源中选择拥有最大的磁盘容量的资源。由于有的生物信息计算需要存储数据,会花费大量的磁盘资源,最大磁盘容量调度算法能够满足作业运行的要求。7.最大空闲磁盘容量优先调度算法最大空闲磁盘容量优先调度算法是在可用资源中选择拥有最大的空闲磁盘容量的资源。由于资源的磁盘不是专供一12个服务使用,有可能一个资源的磁盘很大,但是可以使用的空闲磁盘空间却很小,这种情况下使用最大磁盘容量的调度算法有可能不满足作业运行的要求,所以我们引入了最大空闲磁盘容量的调度。8.最大带宽优先调度算法最大带宽优先调度算法是选择可用资源中带宽最大的资源进行调度,当作业的输入输出文件相当大的时候,网络传输时间会在作业完成时间中占相当大的部分,这种情况下,使用最大带宽调度的方法会减少传输时间,加快作业的完成时间。9.随机调度算法随机调度算法就是在现有的可用资源中随机选出一个资源进行调度,随机调度没有考虑到资源和作业的特性,不能发挥QoS的优势,但是随机调度算法的时间复杂性为O(l),这种算法在候选资源多,作业运行时间短的条件下会有一定优势。在线调度比其他的调度算法有更快的终端响应,能更快的完成生物学家提交的作业。下面进行实验验证本实施方式在线调度的性能。本实验是真实的系统运行的一个作业流,从运行的情况获得实验数据。实验环境中,有四台服务器,硬件配置和操作系统信息如表5-l:表5-l主机硬件信息<table>tableseeoriginaldocumentpage13</column></row><table>四台服务器都安装了Globus-4.0.2,其中一台调度服务器(202.118.236.132),本身不运行作业,只运行Portal的Web前端,我们在这台服务器上提交作业流,服务器对每一个作业进行调度,向计算节点传输输入文件,获得作业的输出文件,并且记录作业的状态和时间;另有三台计算服务器(202.118.236.136、202.118.236.137和202.118.236.138),计算资源部署了服务,接受调度服务器的输入文件,启动作业,在作业完成后向调度服务器传输输出文件。进行实验,必需首先有一个作业流(workload)的输入文件。调度节点对该文件进行批处理。我们设计一个作业流文件workload.txt,其中内容例如133246638610212113716618620622825127457659461863465867169171173174976434433443334444444444第一列表示作业到达的时间,单位为秒;第二列为服务号,表示启动哪个作业类型,例如3为seqret,4为getorf;第三列为调度策略。其中,调度算法和数值的对应关系如表5-2所示表5-2调度算法对应关系<table>tableseeoriginaldocumentpage15</column></row><table>调度服务器每隔一段时间检查作业流文件,如果当前时间>=下一个作业的时间+第一个作业的时间,则对该作业进行调度。所以整个测试作业流的过程和真实提交作业没有区别。(一)阻塞调度和非阻塞调度的关系首先我们需要明确阻塞调度和非阻塞调度的定义。给定自然数NX),假设实验环境有三台计算资源A、B和C,调度器在调度之前会依次检査每一个资源,如果调度器检査到某一个资源已有大于N个作业,则将其从可用资源列表中删除;检查完毕之后生成一个可用列表,调度器在该可用资源列表中继续使用某一个在线调度算法进行调度,提交作业,这种调度策略我们称之为非阻塞调度。相反,如果调度器没有检查资源上是否存在大于N个作业的过程,那么我们称之为阻塞调度。由于某些在线调度算法的结果比较稳定,例如最快处理器速度优先调度算法总会选择有最快处理器的资源,不妨设为A,而在线资源的处理器速度是永远不变的,所以调度器都会向A提交作业,所以作业的分布情况如表5-4所示。表5-4阻塞调度典型映射<table>tableseeoriginaldocumentpage15</column></row><table>表5-3作业周期样例资源到达时间调度时间提交时间开始时间完成时间执行时间运行时间136121265065812126506581212650658121265068912126509712823131361212650734121265073412126507341212650966121265124928351513612126508261212650826121265082612126512361212651515279689136121265090912126509091212650909121265150912126517842758751361212651006121265100612126510061212651778121265203325510271361212651089121265108912126510891212652031121265228525411961361212651158121265115812126511591212652282121265253825613801361212651231121265123112126512311212652531121265279025915591361212651309121265130912126513101212652784121265304125717321361212651384121265138412126513841212653034121265329225819081361212651464121265146412126514651212653285121265353925420751361212651552121265155212126515521212653536121265379425822421361212651631121265163112126516311212653790121265403824824071361212651710121265171012126517101212654031121265428024925701361212651792121265179212126517921212654277121265452524827331371212651889121265188912126518891212651918121265221830032913712126519641212651964121265196412126522151212652493278529137121265202412126520241212652024121265249012126527642747401361212652115121265211512126521151212654476121265472424826091371212652180121265218012126521801212652761121265304528486513712126522581212652258121265225812126530411212653319278腿...……………...…13612126536151212653615121265361512126558971212656144247252913712126537101212653711121265371112126561781212656444266273413812126537861212653786121265378612126538151212654083268297这样,所有的作业都堆积在A上,B和C始终处于空闲状态,这样资源利用率不高,必然会增加总的作业运行时间。而用非阻塞方式,上面的问题就会减少,当A上的作业大于某一个阈值N,调度器则会向其他资源调度,所以一种作业的典型分布情况如表5-5所示。表5-5非阻塞调度典型映射ABC作业l作业216作业3作业N我们设计以下实验证实如上推测一个作业流序列,共有四十个作业,作业的到达满足泊松分布(Poissondistribution)。第一组实验,每一个作业的泊松分布满足P(20),也就是说该作业流作业平均到达时间间隔为20秒,调度策略为非阻塞,记为unblock20;第二组实验,每一个作业的泊松分布满足P(40),调度策略为非阻塞,记为unblock40;第三组实验,每一个作业的泊松分布满足P(80),调度策略为非阻塞,记为unblock80;第四组实验,每一个作业的泊松分布满足P(20),调度策略为阻塞,记为block20。我们分别使用最快处理器速度优先调度算法、最大空闲内存容量优先调度算法和随机调度算法进行比较。实验结果如图3所示。可以看出,在平均到达时间20秒的条件下,在比较稳定的调度算法中,例如最快处理器速度优先调度算法,非阻塞的调度策略比阻塞的调度策略快2.87倍,次稳定的最大内存调度算法,非阻塞的调度策略比阻塞的调度策略快1.97倍,而比较均匀的随机调度算法,非阻塞的调度策略比阻塞的调度策略快1.24倍。如上数据可以证实,在阻塞的策略下,比较稳定的调度算法会导致更长的作业运行时间,而比较随机的调度算法,会有比较短的作业运行时间。同时,随着平均到达时间的增长,作业的总运行时间也会增加,但是即使从20秒增加到80秒,非阻塞调度的效果也好于阻塞调度。(二)作业平均到达时间和作业总运行时间的关系从上个实验可以看出,作业平均到达时间增加,可能会造成作业的总完成时间的增加。我们设计如下实验进行验证第一组实验,每一个作业的泊松分布满足P(20),记为unblock20;第二组实验,每一个作业的泊松分布满足P(40),记为unblock40;第三组实验,每一个作业的泊松分布满足P(80),记为unblock80。以上三组实验均的调度策略均为非阻塞。实验对最快处理器速度优先调度算法(cpuspeed)、最大处理器数目优先调度算法(cpunum)、最大处理器总量优先调度算法(cputotal)、最大空闲内存容量优先调度算法(memfree)、最大内存总容量优先调度算法(memtotal)、17最大带宽优先调度算法(band)、最大空闲磁盘容量优先调度算法(diskfree)、最大磁盘总容量优先调度算法(disktotal)、随机调度算法(random)进行比较。结果如图4所示。将第二组的结果除以第一组,再将第三组的结果除以第二组,我们得到表5-6:表5-6作业平均到达时间对作业总完成时间的影响<table>tableseeoriginaldocumentpage18</column></row><table>可以看出,随着任务平均达到时间的增加,作业总运行时间会增加,但是并不是正比关系,而是一种缓慢增加的趋势。因为作业总的完成时间不仅涉及到任务平均到达时间,还涉及到作业的调度时间和执行时间。因为作业的执行时间比较稳定,所以,任务平均达到时间的增加造成作业总的完成时间增长的趋势会变缓。(三)在线调度算法的比较我们对我们提出的各种在线调度算法进行比较。可以从上面章节中给出的表看出,测试环境中计算资源的性能基本差别不大,在这种情况下我们猜想针对特定资源的异构特性设计的在线调度算法不会有特别好的效果,相反,随机性比较大的调度算法会比较均匀的分配作业,可能会达到我们设计如下实验进行验证第一组实验,每一个作业的泊松分布满足P(20),记为unblock20;第二组实验,每一个作业的泊松分布满足P(40),记为unblock40;第三组实验,每一个作业的泊松分布满足P(80),记为unblock80。以上三组实验均的调度策略均为非阻塞。实验对比如图5所示。由图5看出,在作业平均到达时间20秒的对比实验中,各个调度算法之间的差距并不大,结果是最大内存总容量优先调度算法<最快处理器速度优先调度算法<最大磁盘总容量优先调度算法<随机调度算法<最大处理器数量优先调度算法<最大带宽优先调度算法<最大可用磁盘容量优先调度算法<最大可用内存容量优先调度算法<最大处理器总量调度算法;在作业平均到达时间40秒的对比实验中,有些算法之间还有一些起伏,但是大致作业总的运行时间差别不大,结果为最大处理器数量优先调度算法<随机调度算法<最大可用磁盘容量优先调度算法<最大带宽优先调度算法<最大处理器总量优先调度算法<最快处理器速度优先调度算法<最大磁盘总容量优先调度算法<最大内存总容量优先调度算法<最大可用内存容量优先调度算法;但是在作业平均到达时间80秒的对比实验中,结果为随机调度算法<最大可用内存容量优先调度算法<最大带宽优先调度算法<最大内存总容量优先调度算法<最大处理器速度优先调度算法<最大磁盘总容量优先调度算法<最大处理器数量优先调度算法<最大可用磁盘容量优先调度算法<最快处理器总量优先调度算法。可见,随机性比较大的最大空闲内存优先调度算法和随机调度算法的作业总运行时间比其他调度算法的作业总运行时间短很多,以最差的最快处理器总量优先调度算法为基准,其它算法中最好的最大带宽优先调度算法比最快处理器总量优先调度算法快2.967°/。,而最大可用内存容量优先调度算法比最快处理器总量调度算法快7.6739%,而随机算法则比最快处理器总量调度算法快30.4493%。性能-我们给出了阻塞调度和非阻塞调度的定义;完成了阻塞调度和非阻塞调度的对比实验,验证了非阻塞调度在作业到达时间较大的情况下,效果好于阻塞调度。我们研究了作业平均到达时间和作业总运行时间的关系,随着作业平均到达时间的增加,作业总运行时间也增加,但是两者不是正比关系,作业总运行时间的增长速度会随作业平均到达时间的增加而放缓。最后我们对比了我们设计的各种在线调度算法,在作业平均到达时间比较小的时候,各个调度算法的区别并不明显,偶尔还有颠簸现象。当作业平均到达时间较大时,随机性较强的随机调度算法和最大空闲内存容量优先调度算法有很好的效果。结论适用于不同生物信息计算应用、适用于不同规模的异构网络,均可使用此发明中的方法。20权利要求1、生物信息计算网格系统,其特征在于它包括生物信息计算门户网站服务器(1)、多个生物信息计算服务的发布者终端(2)和多个服务的使用者终端(4);生物信息计算服务的发布者终端(2)向生物信息计算门户网站服务器(1)提供服务的源代码或可执行程序;服务的使用者终端(4)从生物信息计算门户网站服务器(1)寻找自己需要的服务,并通过生物信息计算门户网站服务器(1)运行生物信息计算服务的发布者终端(2)上的可执行程序以获得结果,或者服务的使用者终端(4)根据生物信息计算服务的发布者终端(2)所提供的源代码自行编写程序在生物信息计算服务的发布者终端(2)上运行以获得结果;生物信息计算服务的发布者终端(2)所提供的源代码或可执行程序以XML文件形式发布。2、根据权利要求1所述的生物信息计算网格系统,其特征在于它还包括多个服务的部署者服务器(3),服务的部署者服务器(3)从生物信息计算服务的发布者终端(2)的官方站点或者生物信息计算门户网站服务器(1)的镜像下载生物信息计算服务的发布者终端(2)所发布的服务,部署到自己的服务器上,供所有的服务的使用者终端(4)使用,并将自己的服务部署信息登记到生物信息计算门户网站服务器(l)上。3、根据权利要求2所述的生物信息计算网格系统,其特征在于所述生物信息计算门户网站服务器(l)包括用户管理模i央(l-l)、服务发布模±央(1-2)、服务部署模块(l-3)、服务监测模块(l-4)、作业调度模块(l-5)和作业状态检测模块(1-6);用户管理模块(l-l):以完成对不同的用户提供相应的服务和规定相应的操作权限;服务发布模块(l-2):以完成生物信息计算服务的发布者终端(2)在生物信息计算门户网站服务器(1)上发布其生物信息计算服务并注册其服务;服务部署模块(l-3):以完成对服务的部署者服务器(3)服务部署信息的登记,生成服务的部署信息文件;服务监测模块(l-4):每隔一段时间对所有的生物信息计算服务的发布者终端(2)、服务的使用者终端(4)和服务的部署者服务器(3)资源的状态进行一次检测,如果遇到资源失效,则会将其标记为不可用;如果资源恢复,则将其重新标记为可用;同时,检测过程中,系统还会收集资源的硬件和软件信息,用于调度决策的依据;作业调度模块(l-5):以完成服务的使用者终端(4)所要求的生物信息计算服务在多个生物信息计算服务的发布者终端(2)和多个服务的部署者服务器(3)之间的任务布置和调度指挥;作业状态检测模块(l-6):以完成作业进程的状态跟踪和显示。4、根据权利要求3所述的生物信息计算网格系统,其特征在于作业调度模块(1-5)使用在线启发式的调度算法;所述在线启发式的调度算法由最快处理器速度优先调度算法、最大处理器数目优先调度算法、最大处理器总量优先调度算法、最大内存总容量优先调度算法、最大空闲内存容量优先调度算法、最大磁盘总容量优先调度算法、最大空闲磁盘容量优先调度算法、最大带宽优先调度算法和随机调度算法组成,在具体的服务中由服务的使用者终端(4)在作业调度模块(l-5)的提示下选择使用哪一个调度算法。全文摘要生物信息计算网格系统,本发明涉及生物信息计算领域。它解决了单个计算机难以完成大规模的生物信息计算的问题。它包括生物信息计算门户网站服务器、多个生物信息计算服务的发布者终端和多个服务的使用者终端;生物信息计算服务的发布者终端向生物信息计算门户网站服务器提供服务的源代码或可执行程序;服务的使用者终端从生物信息计算门户网站服务器寻找自己需要的服务,并通过生物信息计算门户网站服务器运行生物信息计算服务的发布者终端上的可执行程序以获得结果,或者服务的使用者终端根据提供的源代码自行编写程序在生物信息计算服务的发布者终端上运行;生物信息计算服务的发布者终端所提供的源代码或可执行程序以XML文件形式发布。文档编号H04L12/18GK101488872SQ200910071229公开日2009年7月22日申请日期2009年1月9日优先权日2009年1月9日发明者慧何,刘文懋,吴太康,张伟哲,张宏莉,笑许申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1