基因计算平台WebLab中并发Blast计算的网格调度技术和原型实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:gogoboy725
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
WebLab是北京大学生物信息中心开发的一个生物信息网上实验室,它集成了包括Blast等共计194个程序及所需的数据库。用户无需安装任何软件,即可通过浏览器使用这个基因计算平台,选择或上传序列文件,通过菜单选择程序进行分析,然后通过文本或图形界面查看结果。但由于WebLab系统结构的局限性、计算节点的不足,导致了在大量计算请求存在时,WebLab系统容易负载过大而无法有效的提供服务。 Blast应用是当前最为流行的核酸序列数据库检索程序,它对一条或多条DNA序列在一个核酸或蛋白质序列库中进行比对。一台计算机在提供Blast服务时需安装Blast工具包及数据库。 本文介绍了以Blast为切入点,使用网格技术来解决WebLab的问题。我们在多个计算机上部署不同的数据库,将用户的计算请求调度到不同的计算机上进行计算。我们提出了一个解决方案,并开发出一个原型系统。这个系统包括一个网格计算支撑环境和一组Java编程API。WebLab开发者通过使用Java API重新编写服务器端程序,把用户请求提交到网格计算支撑环境。 网格计算支撑环境使用网格服务组来进行资源调度和执行计算。在资源调度分配时我们主要考虑两点:第一是是否有用户所需要的数据库;第二是节点自身计算能力的大小。为了尽可能的满足后续的计算要求,在满足数据库的要求下,我们尽可能的使用计算能力较小的节点。这样当后续有对节点要求比较高的计算请求时,我们的系统仍能较好的满足请求,进行计算。 系统主要使用Java实现。我们使用不同的基因和蛋白质序列,在两台集群上进行测试,得到了有用的数据。测试显示,对于计算时间很短(几秒)的序列,我们系统的开销增加了约20s-40s,主要在包装服务中对状态信息获取的延迟上。对于计算时间较长(几分钟甚至更长)的序列,我们的系统能充分使用多个计算节点,将计算资源动态分配给不同的计算请求。虽然增加了一些网络开销,但相比计算时间来说是可以接收的。在大量用户访问WebLab请求Blast计算服务时能较快速的进行响应,提供服务。
其他文献
随着智能手机技术的发展,人们越来越多地把工作和生活的计算平台从传统的PC平台转移到移动平台。智能手机储存了大量的用户隐私,例如通信记录、位置信息等,因而成为攻击者的
量化的软件过程管理方法对于提高过程成熟度和软件产品质量起到了重要的作用,并且已经被业界广泛的接受。现有的方法存在下述问题:需要为每个过程独立的制定其度量策略,成本很高
随着Internet的快速发展和网络信息量的增长,Web信息已经成为当前人们生活必不可少的信息源。为了在Web这个大的信息库中查找、获取我们感兴趣的信息,我们通常的方式使用搜索引
随着P2P文件共享系统从以服务器为中心架构转变为弱中心或无中心的架构,传统的节点管理已经不能适应发展需求,因而导致了一些漏洞的产生。与此同时P2P的用户数量却在迅速增长,使
随着blog在全世界的流行,面向blog的Internet服务系统也越来越多。其中最常见的是blog搜索服务,也就是面向blog的垂直搜索引擎。尽管对blog的研究方兴未艾,但是很少有文献完整全
作为主流的分布式软件系统运行支撑平台,J2EE中间件封装了一组公共服务以提高分布应用的开发、部署、维护和演化的效率与质量。Internet的普及、中间件标准化的完善以及开源
随着嵌入式系统越来越广泛的使用,嵌入式系统中的数据存储和管理成为一个新的研究热点。Flash存储器拥有速度快,功耗低和价格便宜等众多优点,在嵌入式系统中被广泛用作数据存储
指代大量地出现在自然语言文本中,它对于简化表达、衔接上下文起着重要的作用,文本的概念关联性在很大程度上就是通过指代关系来刻画的。指代消解已成为许多自然语言处理应用中
随着信息技术的不断发展,软件产品被应用到社会的每个角落。在软件开发过程中,保证软件的质量和保持软件的高效对于软件开发人员是一个巨大的挑战。软件质量是通过软件测试和
近年来,在不断涌现的数字视频应用需求的推动下,数字视频编解码技术获得了突飞猛进的发展。为了使不同厂家生产的多媒体产品交换或接受来自公共信源的信息,国际上相关的研究组织