一种基因计算系统和方法

文档序号:6354739阅读:204来源:国知局
专利名称:一种基因计算系统和方法
技术领域
本发明涉及生物信息计算领域,尤其涉及一种基因计算系统和方法。
背景技术
基因研究中计算量主要集中在基因组装和比对运算上,其中又以基因比对运算为盛。现有的基因计算平台采用例如通用网格引擎(GridEngine)进行集群作业管理,虽然能够满足基本使用要求,但是在应对大量用户并发大量比对类型计算需求时,存在很多不足, 运行效率有待提高。

发明内容
本发明要解决的一个技术问题是提供一种基因计算系统,能够提高运行效率。本发明的一个方面提供一种基因计算系统,包括任务调度器,用于结合工作节点的资源使用率向工作节点分配计算任务;工作节点,用于接收任务调度器分配的计算任务,将计算任务预部署到本地,执行计算任务,回收计算结果数据。根据本发明的基因计算系统的一个实施例,任务调度器采用权重轮询调度算法向工作节点分配计算任务。根据本发明的基因计算系统的一个实施例,任务调度器实时采集工作节点的资源使用率,当接收到计算任务时,采用权重轮询调度算法向工作节点分配计算任务。根据本发明的基因计算系统的一个实施例,工作节点采用ICE通信。根据本发明的基因计算系统的一个实施例,任务调度器包括任务查询模块,用于通过实时资源信息的搜集记录各个工作节点的资源使用率的情况;任务投递模块,用于接收用户投递的计算任务,发送给控制中心模块;任务调度模块,用于根据各工作节点资源情况对计算任务做全局的投放分配;控制中心模块,用于存储获得的信息,对任务调度器各个模块进行调度管理,通过任务调度模块对计算任务做全局的投放分配。根据本发明的基因计算系统的一个实施例,还包括日志信息模块,用于实时收集任务信息记录任务日志。本发明要解决的另一个技术问题是提供一种基因计算方法,能够提高运行效率。根据本发明的另一方面,提供一种基因计算方法,包括接收任务调度器分配的计算任务,计算任务由任务调度器结合工作节点的资源使用率进行分配;将计算任务预部署到本地;执行计算任务;回收计算任务的计算结果数据。
根据本发明的基因计算方法的一个实施例,任务调度器采用权重轮询调度算法向工作节点分配计算任务。根据本发明的基因计算方法的一个实施例,采用ICE进行计算任务预部署和计算结果数据回收。根据本发明的基因计算方法的一个实施例,对各个计算任务进行并行处理。本发明实施例提供的基因计算系统和方法,将计算任务拆分成三个阶段由工作节点执行,克服了现有技术没有对IO(Input/Output,输出/输入)密集型的任务进行优化的问题,提高了系统的运行效率和稳定性。


图1示出本发明的基因计算系统的一个实施例的结构图;图2示出本发明一个例子中任务调度器采用的调度算法的示意图;图3示出本发明的任务调度器的一个实施例的结构示意图;图4示出本发明一个例子的工作节点的并行执行模型示意图;图5示出本发明的工作节点的一个实施例的结构图;图6示出本发明的基因计算方法的一个实施例的流程图;图7示出本发明的基因计算方法的一个实施例中预部署流程图;图8示出本发明的基因计算方法的一个实施例中计算流程图;图9示出本发明的基因计算方法的一个实施例中回收流程图。
具体实施例方式下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。图1示出本发明的基因计算系统的一个实施例的结构图。如图1所示,该基因计算系统包括任务调度器11和工作节点12。任务调度器11负责分发计算任务、监控工作节点12的状态并在全局优化计算任务的调度。工作节点12负责启动计算任务、数据的部署和回收。任务调度器11结合工作节点12的资源使用率向工作节点12分配计算任务;工作节点12接收任务调度器11分配的计算任务,将计算任务预部署到本地,执行计算任务,回收计算结果数据。任务调度器11接收用户命令获得计算任务,将计算任务的相关信息存储在用户任务信息存储模块13中,采用全局优化调度算法结合工作节点12的资源使用率向各个工作节点12分配计算任务;工作节点12接收计算任务,进行计算任务预部署,从数据源获取计算数据部署到本地,执行计算任务,完成后将计算结果数据输出。上述实施例中,将计算任务拆分成三个阶段由工作节点执行,克服了现有技术没有对IO密集型的任务进行优化,系统于网络存储依赖严重,导致共享存储故障时所有计算任务均受到影响的问题,提高了系统的运行效率和稳定性。各个计算任务之间可以并行处理,也提供了系统的运行效率。而任务调度器对所有的计算任务进行全局优化调度分配给各个工作节点,可以提升整个系统的运行处理效率。图2示出本发明一个例子中任务调度器采用的调度算法的示意图。在该例子中, 任务调度器采用权重轮询调度算法(Weighted Round-Robin)。每个用户(用户1、用户 2,......,用户N)的所有任务采用按照优先级别排序的优先队列算法进行投放分配。根据每个工作节点的处理能力为每个工作节点分配不同的权值,使其能够接受相应权值数的任务请求。此算法与基因计算系统紧密结合,克服了现有技术中基于优先级模型的调度算法设计在公平性上有明显缺失的问题,对计算任务进行公平的投放分配。图3示出本发明的任务调度器的一个实施例的结构示意图。如图3所示,该任务调度器包括控制中心模块31、任务查询模块32、任务投递模块33、和任务调度模块34。可选地,该任务调度器还包括日志信息模块35。控制中心模块31是任务调度器的核心,用于存储获得的信息,对各个模块进行调度管理,负责根据调度算法,向工作节点分配计算任务。 任务查询模块32通过实时资源信息的搜集,记录着各个工作节点的资源使用率的情况。当用户通过前端web服务器投递任务时,任务投递模块33接收计算任务,并发送给控制中心模块31。任务调度模块34根据各工作节点资源情况对计算任务做全局的投放分配;控制中心模块31根据各工作节点资源情况,通过任务调度模块34对计算任务做全局的投放分配。日志信息模块35实时收集任务信息,记录任务日志。图4示出本发明一个例子的工作节点的并行执行模型示意图。如图4所示,工作节点将各个计算任务(例如,任务A、任务B和任务C)拆分成三个阶段进行执行,分别为数据预取部署(prefetch),计算(Compute),和结果数据回收(Store)。而各个计算任务之间可以并行处理。例如,在进行任务A的计算时可以执行任务B的数据预取部署,可以充分利用系统的性能,提高系统的运行效率。上述实施例中,通过将计算任务分为预部署到本地、执行计算和回收结果数据三个阶段,并采用图4所示的模型将三个阶段并行,实现了 IO和计算的并行化。这样做可以充分利用NFS (Network FileSystem,网络文件系统)带宽,由于预部署和数据回收的IO I^ttern (模式)较为单纯,且为连续数据读写,有利于发挥网络存储的性能;预先取到本地的任务,其状态与NFS存储设备既无关,即便NFS网络设备故障,当前任务仍然可以继续运行下去。根据本发明的一个实施例,工作节点采用ICE通信,使调度引擎能够很好的与云计算服务系统结合。ICE(Internet CommunicationsEngine,因特网通信引擎)是一款高性能的中间件,支持分布式的部署管理,消息中间件,以及网格计算等等。其主要优点有面向对象的语义,所有的操作调用都使用迟后绑定;支持同步和异步的消息传递,提供了同步和异步的操作调用和分派,提供了发布——订阅消息传递机制;与硬件架构无关,客户端及服务器与底层的硬件架构屏蔽开来。对于应用代码而言,像字节序和填充这样的问题都隐藏了起来;与上层的编程语言无关,客户端和服务器可以分别部署,所用语言也可以不同,支持C++、Java语言,客户端支持PHP (Hypertext Pr印rocessor,超级文本预处理语言)语言; 与采用的操作系统无关,ICE完全是可移植的,同样的源码能够在WindOWS、LinuX、Mac0S和 UNIX上编译和运行;完全是线程化的,其API(Application Programminghterface,应用程序编程接口)是线程安全的。图5示出本发明的工作节点的一个实施例的结构图。如图5所示,工作节点通过监控器(observer) 51监控整个工作节点的状态;通过准备O^r印are) 53获取分配的计算任务,进行预部署;通过运行(Rim)M获取准备就绪的计算任务,发送给容器(COntainer)52 进行计算;计算结果由代理(Agent) 55通过ICE通信进行网络存储。图6示出本发明的基因计算方法的一个实施例的流程图。
如图6所示,在步骤602,任务调度器接收用户的计算任务,结合工作节点的资源使用率分配计算任务。例如,任务调度器对所有的计算任务进行全局优化调度分配给各个工作节点。在步骤604,工作节点接收任务调度器分配的计算任务。在步骤606,工作节点将计算任务预部署到本地。在步骤608,工作节点执行计算任务。在步骤610,工作节点回收计算任务的计算结果数据。上述实施例中,将计算任务拆分成三个阶段由工作节点执行,克服了现有技术没有对IO密集型的任务进行优化,系统于网络存储依赖严重,导致共享存储故障时所有计算任务均受到影响的问题,提高了系统的运行效率和稳定性。各个计算任务之间可以并行处理,也提供了系统的运行效率。而任务调度器对所有的计算任务进行全局优化调度分配给各个工作节点,可以提升整个系统的运行处理效率。图7示出本发明的基因计算方法的一个实施例中预部署流程图。如图7所示,在步骤701,工作节点从任务调度器取任务。在步骤702,判断DISK(磁盘)资源是否满足,如果否,则等待,否则,执行步骤 703。在步骤703,在工作节点资源满足的情况下,调用预取接口,根据任务的资源地址预取任务,将任务相关资源拷贝到本地例如/perfetch目录下。如果预取任务失败,则置任务状态为失败,进行清除(步骤704);如果预取任务成功,则置任务状态为就绪,任务预部
署结束。图8示出本发明的基因计算方法的一个实施例中计算流程图。在步骤801,在一定时间间隔内查询记录表中计算任务的状态。在步骤802,判断是否有处于“就绪”(ready)状态的任务,如果没有,则休眠等待 (807),如果有,则把第一个处于ready状态的任务取出。在步骤803,确定当前系统剩下资源是否符合该任务运行所需资源,如果足够,则创建一线程去执行处理该任务,如果不符合,则休眠等待(807),每隔一段时间再重新比较一次。在步骤804,开始执行计算任务。在步骤805,检查计算过程是否存在错误,如果存在错误,则进行处理。在步骤806,进行计算结果回收。图9示出本发明的基因计算方法的一个实施例中回收流程图。在步骤901,遍历记录表,检查计算任务状态。在步骤902,判断是否有计算任务运行结束,如果否,返回步骤901,否则,执行步骤 903。在步骤903,对运行结束的计算任务回收计算结果数据。在步骤904,回收结束后删除该任务。在步骤905,判断是否需要删除库(lib),如果是,则删除库(906),否则结束。上述实施例中,在加速云计算产品市场化、实用化的背景下,基于前期积累的经验,在云计算产品中,应用基因计算系统,解决了 (1)系统过于重型,安装配置麻烦;(2)没有对IO密集型的任务进行优化;C3)基于优先级模型的调度算法设计在公平性上有明显缺失;(4)接口复杂,与云计算服务系统结合困难;(5)系统于网络存储依赖严重,导致共享存储故障时,所有计算任务均受到影响等问题。 本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
权利要求
1.一种基因计算系统,其特征在于,包括任务调度器,用于结合工作节点的资源使用率向工作节点分配计算任务; 工作节点,用于接收所述任务调度器分配的计算任务,将所述计算任务预部署到本地, 执行计算任务,回收计算结果数据。
2.根据权利要求1所述的基因计算系统,其特征在于,所述任务调度器采用权重轮询调度算法向工作节点分配计算任务。
3.根据权利要求2所述的基因计算系统,其特征在于,所述任务调度器实时采集工作节点的资源使用率,当接收到计算任务时,采用权重轮询调度算法向工作节点分配计算任务。
4.根据权利要求1所述的基因计算系统,其特征在于,所述工作节点采用ICE通信。
5.根据权利要求1所述的基因计算系统,其特征在于,所述任务调度器包括 任务查询模块,用于通过实时资源信息的搜集记录各个工作节点的资源使用率的情况;任务投递模块,用于接收用户投递的计算任务,发送给控制中心模块; 任务调度模块,用于根据各工作节点资源情况对计算任务做全局的投放分配; 控制中心模块,用于存储获得的信息,对任务调度器各个模块进行调度管理,通过任务调度模块对计算任务做全局的投放分配。
6.根据权利要求5所述的基因计算系统,其特征在于,还包括 日志信息模块,用于实时收集任务信息记录任务日志。
7.一种基因计算方法,其特征在于,包括接收任务调度器分配的计算任务,所述计算任务由所述任务调度器结合工作节点的资源使用率进行分配;将所述计算任务预部署到本地; 执行所述计算任务; 回收所述计算任务的计算结果数据。
8.根据权利要求7所述的基因计算方法,其特征在于,所述任务调度器采用权重轮询调度算法向工作节点分配计算任务。
9.根据权利要求7所述的基因计算方法,其特征在于,采用ICE进行计算任务预部署和计算结果数据回收。
10.根据权利要求7所述的基因计算方法,其特征在于,对各个所述计算任务进行并行处理。
全文摘要
本发明公开一种基因计算系统和方法,涉及生物信息计算领域。该基因计算系统包括任务调度器,用于结合工作节点的资源使用率向工作节点分配计算任务;工作节点,用于接收任务调度器分配的计算任务,将计算任务预部署到本地,执行计算任务,回收计算结果数据。通过本发明的技术方案,具体解决了系统过于重型,安装配置麻烦;没有对IO密集型的任务进行优化;基于优先级模型的调度算法设计在公平性上有明显缺失;接口复杂,与云计算服务系统结合困难;系统于网络存储依赖严重,导致共享存储故障时,所有计算任务均受到影响等问题。
文档编号G06F19/10GK102222174SQ20111004263
公开日2011年10月19日 申请日期2011年2月22日 优先权日2011年2月22日
发明者吴家胜, 李雯榕, 杜睿, 陈天健, 陈炎, 龙灿 申请人:深圳华大基因科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1