第一章 引言
伴随着移动互联网和物联网技术的迅速发展,流计算技术已经成为实时大数据分析场景下的主要支撑技术,被广泛地应用到金融风控、网络监控、智能运维等重要的领域中。这些场景对于数据处理的低延迟、高吞吐有着很高的要求,但是传统的精准算法由于算力资源和计算复杂度的限制,在处理大量的、不断到达的数据流的时候,会遇到很大的计算瓶颈和响应延迟,不能满足实时性的要求。因此,近似算法作为牺牲一定精度来换取计算效率提高的流计算场景下的一种重要方法,在流计算场景中有着很高的应用价值,很好地解决了资源受限情况下实时处理的问题。
虽然近似算法在工程实践中得到了广泛的应用,但是目前学界以及工业界对于流计算近似算法的收敛性方面还存在着较大的研究空白。缺少系统的理论分析框架,算法收敛的边界判定标准不清,对于动态变化的负载环境,算法的适应性就更差了。本文主要研究流计算环境下近似算法的收敛性问题,确定了本文的研究范围以及主要问题。本文后续章节会先整理出相关的理论基础和关键技术,再建立收敛性分析模型[1],用实验来检验算法对于不同数据分布的性能表现,整理出全文的逻辑脉络。
本研究有双重意义,从理论上讲,试图完善流计算近似算法的收敛性分析体系,弥补目前理论上的空白;从工程上讲,给实际流处理任务中参数配置和误差可控性调优提供科学依据,在保证实时处理效率的基础上,提高数据分析结果的可靠性以及应用价值。
第二章 流计算环境下近似算法的收敛性机制与实证分析
2.1 流计算场景下近似算法的核心运行约束与概念界定
流计算环境下近似算法的运行环境同传统的批处理模式有着根本的不同,这是确定其主要限制和概念的前提。批处理架构一般使用有界的静态数据集,用全量扫描的方式进行计算,注重高吞吐量和最终结果的准确性;流计算架构处理的是无限到达的数据流,不知道数据总量,必须在不完整的数据视图上实时输出结果。由于架构的不同,在流计算场景下会遇到四个独有的运行约束,分别是无限流数据的时序无界性、单批次处理的时延硬约束、数据增量式更新特性、资源的动态弹性调度。在此基础上,需要对本文中出现的核心术语进行严格的定义。与传统的静态数据集上用全部数据迭代逼近精确解的定义不同,在流计算场景下,近似算法的“收敛”是指数据流不断流入的时候,算法输出结果的估计值和真实值之间的误差慢慢变小,趋于稳定的过程。本文又对收敛边界、误差收敛轨迹和收敛扰动等主要概念进行了界定,收敛边界是指算法在一定的资源和时延限制下所能达到的最小误差范围,误差收敛轨迹是随着数据量的增加而变化的量化路径,收敛扰动是由于数据分布突然变化而产生的暂时性偏差。另外,本文研究的是符合流计算增量运行逻辑的在线近似算法,排除了需要全局数据重算的离线近似算法,为后面理论框架的建立扫清了概念上的歧义,保证了研究的针对性以及实用性。
表1 流计算场景下近似算法的核心运行约束与概念界定
2.2 流计算近似算法收敛性分析的理论框架搭建
流计算近似算法收敛性分析的理论框架的建立,是保证算法在动态数据流环境下准确性、可靠性的关键步骤。该框架要严格按照流计算的核心运行约束,把随机过程中鞅收敛理论、流式数据的增量统计特性和流计算引擎调度运行规则结合起来,形成一套适合流计算场景的专用分析体系。该框架从逻辑结构上把分析过程分成流输入层、近似计算层和收敛判定层这三个部分。首先,流输入层定义了数据流的特征量化参数,即数据流速 和数据项到达时刻 ,给分析提供了一个标准的时间基准;其次,近似计算层关注的是算法中间状态的演化,定义了关键中间变量 ,它表示截至时刻 的累积近似统计值,其更新过程按照增量计算规则进行,即当新的数据 到达时,状态更新公式为
其中 为更新函数, 代表算法参数;最后,收敛判定层依据鞅理论设定输出指标,核心在于计算误差界限 ,并验证近似值是否满足预设的收敛条件。在此框架之下,对于不同的近似算法,通用判定流程是通过对近似估计值和真实值之间偏差轨迹的观察来完成的,当偏差的期望值趋于稳定的时候就可以判定为收敛。相比传统的用静态数据集来近似算法收敛性分析的方法,该框架可以很好地解决数据无限性和实时性的难题,大大减少对存储资源的需求,更准确地体现系统调度以及数据波动给算法稳定性带来的影响,进而给后面具体的典型算法收敛性推导赋予了统一的标准化分析参照。
2.3 典型流计算近似算法的收敛性推导与验证实验
2.3.1 滑动窗口均值近似算法的收敛边界推导
滑动窗口均值近似算法属于流数据处理的基本统计方法,它的收敛边界同系统监控以及实时决策的准确程度存在直接联系。该算法在流计算环境中运行时,遵循着严格的增量更新逻辑,具体的流程为:当新的数据元素到达流计算引擎的时候,系统就会把它添加到滑动窗口的末尾,然后检查窗口的容量是否超过了规定的限度。如果溢出,就把窗口头部最旧的数据执行过期淘汰操作,然后触发均值计算模块。这时系统不再对窗口内所有的数据做全量扫描,而是用上一时刻的统计结果加上流入和流出的数据差值来快速计算出当前的近似均值,从而达到低延迟的全链路计算。
在推导收敛边界的时候,要依靠前面建立起来的理论框架,把流数据的非平稳性考虑进去,主要加入数据到达速率波动和采样偏差这两个重要的扰动变量。通过建立鞅差序列,用鞅不等式和递推统计的方法来对这个随机过程的累积误差做严格的界定。经过严密的数学变换之后,可以得到该算法在不同的窗口大小以及数据分布情况下绝对误差的上界。收敛边界的量化计算公式说明,误差上界和窗口大小的平方根成反比,并且受到数据波动方差的线性影响。该公式给出理论上的渐进收敛边界,也给出了算法达到预设收敛精度所需的最小流数据处理量阈值,给系统资源调优提供量化的依据。
为了检验理论推导的正确性,设计了多组对照实验。实验设置了不同的数据分布(正态分布、泊松分布)和不同的窗口参数(小窗口高灵敏度、大窗口高稳定性)的测试场景。在流式处理的时候,系统会实时保存近似均值和精确均值之间的差别,把实测的误差极值同推导得到的理论边界加以比较。实验结果表明,实测误差曲线一直稳定地包络在理论收敛边界内,随着数据量的增大,误差越来越接近于零。这就充分证明了收敛边界是紧致的、有效的,滑动窗口均值近似算法在实际使用中具有较好的鲁棒性和收敛性。
2.3.2 高频项挖掘近似算法的误差收敛轨迹验证
Space-Saving算法是工业界常用的流计算高频项挖掘近似算法,它的主要思想就是用有限的内存空间来保存候选集,并且通过动态淘汰低频项的方式来提高计算效率。当流数据不断流入的时候,理论假设近似误差会随着处理数据量的增多而呈指数级下降,即观测样本越多,局部统计结果就越接近全局真实分布。为了检验收敛性机制,本节给出了严格的实证过程,依靠自定义的时序误差采集机制,用并行运行的精准统计模块作为基准,在不同的数据偏斜度和不同的内存配额约束下,对每一个时间步的近似挖掘结果和全量精准统计结果的误差差值进行记录。通过实验数据的分析得到误差随流数据处理量增长的动态收敛轨迹,主要研究不同的参数设置对于收敛速度以及最终稳态误差值的影响规律。实验结果表明,在内存充足、数据分布非常倾斜的情况下,误差收敛速度快、最终稳态误差很小,符合指数收敛特性的理论假设。同时也标记出轨迹中出现异常扰动的节点,这些扰动大多是由数据流中突然出现的流量洪峰或者分布剧烈漂移造成的,初步判断这些因素会暂时打破统计平衡,造成误差上升。该验证工作既证明了Space-Saving算法在常态下是稳定的,又给后面对于动态负载下收敛性扰动的分析提供重要的数据支持。
2.4 流计算动态负载下的收敛性扰动与优化路径
在真实的流计算环境中,动态负载主要是指流量突然增加、资源被抢占、节点宕机等,这些非稳态因素都会对近似算法的收敛过程造成很大的影响。流量突增会使得单位时间内处理的数据量超过系统阈值,导致近似算法在有限的时间窗口内不能完成足够的采样或者迭代,从而造成收敛边界发生偏移;资源抢占和节点宕机都会造成计算中断,使收敛轨迹出现停滞或者倒退,量化分析表明,在高强度扰动下,算法的估值误差会增加百分之三十以上,严重偏离理论收敛区间。就以上问题而言,应该创建起诸多收敛性改善途径。首先,采用自适应窗口动态调节机制,根据输入速率的变化来实时改变计算窗口的大小和步长,在数据洪峰期的时候牺牲一些粒度来换取处理的时效性,防止算法因为阻塞而发散;其次,建立误差反馈式算力弹性调度策略,把实时计算的收敛误差当作反馈信号,动态调配计算资源,保证核心算力优先分配给收敛性差的数据分区;最后,设计扰动后的快速收敛恢复机制,用检查点技术保存中间状态,在故障恢复后加载历史收敛信息,用热启动方式加速回归稳定状态。为了检验上面提出的优化方案是否有效,设计了一个对照验证实验,比较优化前后算法在模拟动态负载下的表现。实验结果表明,在加入优化路径之后,算法对于流量波动、资源抖动等情况下收敛边界偏移量明显减小,收敛轨迹恢复时间也缩短了大约40%,而且整体误差一直处在可控制的范围之内。这就说明该方案可以很好地减小动态负载对收敛性的影响,保证流计算近似算法在复杂的生产环境中具有鲁棒性和可用性。
第三章 结论
本文对流计算场景下近似算法的收敛性做了系统的复盘梳理,首先确定了在有限内存和低延迟的双重约束下,算法运行的边界条件,建立了收敛性分析的理论框架。对流计算数据特征进行提取,得到了用来评价算法精度的主要指标,给后面具体算法的分析提供了一个标准化的度量基础。在此基础上,本文主要对两种典型的算法进行收敛性的推导和验证,研究求解非凸复合优化问题的随机近似算法并分析相应算法的收敛性和收敛速度[3]。用数学建模和理论证明的方式,清楚地说明了这两种算法在不同的分布下收敛的速度以及误差的范围,证明了它们在常规流计算环境中是有效的。另外,就动态负载变化的情况而言,本文发现收敛性扰动的规律是突发流量和数据倾斜造成收敛震荡,因此给出相应的改进途径。利用自适应调节机制来克服动态环境对于收敛稳定性产生的不良影响,从而提高算法的鲁棒性。本研究填补了之前流计算近似算法在收敛性定量分析和动态优化方面研究的空白,给工程实践提供强有力的理论支持。但是目前的研究还存在着一些不足,主要表现在所覆盖的算法类型较少,主要集中在某些统计类算法上,在极端并发或者数据分布非常不均匀等极端情况下的优化方案还存在改进的空间。展望未来,后续的研究可以扩大到更多的流计算近似算法上,研究用机器学习技术结合起来的智能化收敛控制方法,在大规模分布式环境下研究全局收敛协调机制,不断促进流计算近似算法在复杂应用场景下性能的提高。
参考文献
\[1\]万佳鑫. 基于SCGD算法求解随机复合优化问题的统计推断[D]. 大连理工大学, 2023.
\[2\]贺月红. 随机变分不等式的随机近似算法研究[D]. 重庆工商大学, 2023.
\[3\]国佳宏. 基于随机近似求解非凸复合优化问题的算法研究[D]. 大连理工大学, 2024.