生物启发的分布式流处理系统中间件管理
1. 引言
当前计算机系统的复杂性促使科学家从自然界获取灵感。自然系统具备容错性和分散控制的特性,其设计直观且简单,这使其在解决计算机系统问题方面极具吸引力。例如,计算机安全领域借鉴免疫系统架构,无线传感器网络受萤火虫同步性启发,中间件平台模仿蜂群行为,自组织网络多播采用蚁群算法等。
蚁群优化(ACO)算法源于对蚂蚁集体觅食行为的研究。这些算法是解决计算问题的概率技术,可将问题转化为在图中寻找最优路径。蚁群算法已被应用于解决组合优化问题,如旅行商问题、二次分配问题、图着色、作业车间调度、顺序排序和车辆路由等。此外,它们还适用于随机时变问题,如电信网络中的路由。由于蚁群算法具有自适应能力,因此非常适合需要在线适应变化条件的问题。
在分布式流处理系统(DSPS)中,自适应在线任务放置是一个重要问题。DSPS 将数据从多个数据源或生产者流式传输到多个对处理结果感兴趣的客户端或消费者。数据在生产者和消费者之间通过数据流图中的多个计算任务进行处理。每个任务接收一个或多个输入数据流消息,异步执行计算,并可能生成一个或多个消息发送给消费者或下游任务。
许多学术和商业环境中都有知名的分布式流处理系统,它们支持处理金融市场数据、管理地理分散的传感器网络数据以及检测计算机系统中的网络入侵和其他安全违规等应用。流数据源通常以高且可变的速率产生大量数据。在动态变化的数据和网络条件以及新的、多样化的处理请求中,提供低延迟、高吞吐量的执行是一项挑战。动态地将流处理任务放置在流处理网络中的可用机器上,以最大程度地满足某些目标函数,是降低流量和提高 DSPS 性能的一种方法。
本文提出了一种受生物启发的算法,用于在分布式流处理系统的机