论文部分内容阅读
数据流处理系统广泛应用在众多领域,例如金融管理、网络监视、通信数据管理、Web应用、传感器网络数据处理等。随着计算机网络、分布式计算技术的迅速发展,使得实时处理分布在网络不同结点上的流数据成为可能,于是分布式流处理技术便应运而生。由于流数据源及应用本身存在分布的特点,并且应用规模不断扩大,分布式流处理系统成为流数据处理研究的必然趋势。分布式数据流处理系统的研制在国际上也是刚刚起步,在军事、网络、金融等关系到国计民生的领域,将会有越来越广泛的用途。在分布式流处理系统中,算子调度策略的选取对系统内存的消耗,输出延迟的长短等系统重要性能指标有很大的影响。我们设计的GM调度策略综合考虑了将来的负载变化、当前的内存消耗状况以及用户对于主要性能指标的偏好与要求,在系统内存最小化和结果输出延迟方面取得平衡。在GM调度策略中,算子的执行顺序由一个评分函数统一决定。可以通过设置评分函数的静态参数来满足不同应用场景的需要,也可以自动地调整评分函数的动态参数来反映系统的工作状态。另外,GM调度策略可以保证查询的优先级。由于流处理应用中需要实时处理大量具有相当高的突发性的数据,系统可能不能及时处理。所以无论是集中式数据流处理系统还是分布式数据流处理系统,负载管理成为研究的热点与重点。在传统并行分布式系统领域,对负载管理问题的研究,与数据流的负载管理有许多相似之处,但存在着本质上的区别。负载平衡研究领域的大量算法可以大致分为静态负载平衡和动态负载平衡两个方面。对系统负载的准确预测往往是静态负载平衡算法的基础,对于改进动态负载平衡的效果也很重要。在数据流系统中,对于数据的处理有实时性要求。我们提出以加权时间性能比来评价算法的优劣,我们考察了效率很高的一些线性时间序列预测算法,如移动平均法,指数平滑法和GM(1, 1)法,并针对流处理的特点作了相应的修改。这些算法在分布式流处理领域具有很好的时间性能比。我们设计了一种新的大规模分布式数据流处理系统的体系结构,系统由一组异构的服务器集群组成,负载在每个服务器集群内部多台同构的服务器之间获得平衡,从而达到整个系统的负载平衡。集群设计的主要目标之一是以资源换性能,服务器集群中服务器的最大数目足够保证系统不再发生过载现象,不再需要会降低性能的卸载技术。而且投入运行的服务器的数目根据实际的系统负载来决定,负载较轻时,一部分服务器可以进入休眠状态来减少能源的消耗。在系统静态负载平衡方面,我们研究了很多相应的启发式方法,并在此基础上提出了一种高效率、高性能的静态平衡算法。首先根据一个初始化策略把任务分配到机器上,每台机器的任务数目、负载大致相当。我们提出了在两台机器之间交换任务的最优标准,利用这个标准,加快了平衡负载的过程。在分布式流处理系统静态负载平衡方面,我们还提出了一种新颖的负载平衡算法,为解决负载平衡问题提供了新的思路。首先,几乎所有的任务组织成所谓的标准任务组合,每一个任务组合由1到4个任务组成。然后,这些任务组合根据一个特殊的整数分割算法分配到机器上,每台机器上分配的负载比较平均。