论文部分内容阅读
信息技术的不断发展使得对计算性能的需求不断提升,单机的硬件发展速度已严重滞后于计算规模的发展速度。分布式计算为人们拓展计算机性能提供了一种新的思路:通过将计算任务并发的运行在多个计算机节点之上,实现水平拓展,避开单机计算性能的瓶颈。云计算的快速发展带来了许多计算领域的新概念、新技术,包括实现以虚拟化技术为基础的动态的、可拓展的计算机集群体系,满足高效并行计算的云计算编程模型等。本文根据地震数据处理计算的实际特点,借鉴和利用分布式计算及云计算的理念和技术,提出了一套地震数据处理的分布式计算解决方案,设计并实现了一套适用于地震数据处理的分布式执行控制系统。执行控制系统是用于处理地震数据的计算框架,现有的执行控制系统为集中式的执行控制系统,即每个计算任务只能在一个单一的节点上完成计算。这使得现有的集中式执行控制系统往往受到单机计算性能的限制,也使得计算机集群资源得不到充分的利用。本文采用水平拓展的思路和方法,将地震数据处理作业以分布式计算的方式同时利用多个计算节点完成计算。本文设计与实现的适用于地震数据处理的分布式执行控制系统有效的改进了原有系统资源利用率不足、大型计算作业耗时过长的问题,提升了执行控制系统的效能。主要工作包括:1、通过分析现有分布式计算和云计算的核心技术,研究地震数据处理软件的发展现状,根据地震数据处理的特点,选择合适的技术方案设计一套分布式执行控制系统计算框架,包含用户接口、调度控制层及作业运行框架。2、设计和实现一种分布式执行控制系统下的通信方案,利用boost::asio的前摄器模式来实现分布式执行控制系统中的大量并发通信需求。设计一种数据通道,用以满足分布于集群中各个计算节点上的计算子任务之间的数据传递,同时提供通信地址自动查询配对、数据传递流量控制、数据传递控制信号发送等功能。3、设计和实现一种允许用户自定义计算分组的方法,设计一种满足分布式执行控制的调度结构及运行方法,以实现对作业的分组和调度。4.通过实际地震数据处理作业检验测试分布式执行控制系统的效能,并与原有的执行控制系统做出对比。