正在加载图片...
·1280· 智能系统学 报 第14卷 的微批量样式(mini-batch scheme)的数据流传输 据源的最大处理延迟来定义,形式化定义为 机制,利用多级别管道缓存计算出精准查询结 Latency max Latency(source,) (2) 果,并提出异常检测的增量学习模型ODRegres- 式中n是查询请求中涉及到的数据源个数。 sion(outerlier detection regression),可较好解决易 定义4参数配置。向流处理系统提交查询 变数据流的资源配置问题。 任务时,需提前定义进程的内存大小、不同算子 1基本概念与问题描述 的并行度等参数信息。该过程称为系统资源的参 数配置。 1.1概念描述 1.2问题定义 OrientStream-+需要实时监控大规模数据流管 向大规模数据流管理系统提交查询请求时 理系统的查询执行情况,并基于不同的数据流速 往往需要凭借用户的经验和平台的硬件情况动态 和参数配置搜集训练数据集。接下来,我们给出 配置不同的参数。参数配置是否合理将直接影响 形式化的定义。 系统的吞吐率和处理延迟,以及平台的资源使用 由于数据流无限的特性,本文采集训练数据 情况。随着数据流的变化情况,我们需要动态调 集的过程使用窗口模型(见定义1)。 整参数配置以满足用户对处理延迟和系统吞吐率 定义1窗口模型。将无限的数据流切分成 阈值的要求。但是,流处理系统往往不允许任意 若干有限子数据流,每次的查询处理仅针对当前 调整配置参数。比如,Storm的“re-balance?”机 窗口内的子数据流。一般可根据用户设定的时间 制,仅可降低处理单元的并行度,不能超越用户 间隔或窗口内元组数量设置窗口大小,并在多查 设定的最大处理单元实例值。 询场景下使用翻转窗口或滑动窗口的语义信息。 我们需要对任意的参数配置预测资源使用情 在OrientStream+框架中,我们使用基于时间 况、处理延迟和系统吞吐率。根据预测结果,从 间隔的窗口模型获取训练集。每个具有不同时间 中选取最优配置。即,在保证处理延迟和系统吞 间隔的窗口作为一条训练数据。训练样本搜集过 吐率满足用户设定阈值的前提下,尽量减少CPU 程中,时间窗口的下限是30s,上限是120s。首 和内存的资源使用率。该问题可形式化表示为资 先,以初始的参数配置启动查询请求,当窗口大 源使用最优化的问题,定义如下。 小达到时间间隔约束时,我们采集一条训练数 令N=(n1,n2,…)为集群的各个节点集合,每 据。接下来,以新的窗口大小和新的参数配置重 个节点n,关于CPU使用情况Upu和内存使用情 启查询请求,用于获取下一条训练数据。最后, 况Umemocy可用式(3)表示。 通过迭代操作,我们可采集到不同窗口大小和配 U(n)=a×Upa(n)+B×Umemory(n)(a+B=1)(3) 置信息的训练数据集。 式中:a和B分别是CPU和内存使用率的权重。 定义2算子并行度。构建在分布式集群上 本文中,a和B均设置为50%。 的流处理系统往往可同时执行由不同类型算子构 接下来,令C=(c1,c2,…)为用户提供的候选 成的若干拓扑任务。每个算子可根据不用的查询 配置集合。对整个集群来讲,我们需要预测出最 请求设置不同的并行度,一般以多线程的形式实 佳的配置c以实现式(4)的优化目标。 现。以本文使用的Storm系统为例,可动态设置 Minimize∑Uo)) 数据源部件spout和查询处理部件bolt的单元实 s.t.R(latency)<T(latency) (4) 例task的并行度。 定义3系统处理延迟。每个数据流元组被 and R(throughput)>T(throughput) 各个查询算子处理延迟的总和。数据源i的处理 式中:R(latency)和R(throughput)是查询请求的处 延迟表示为每个单元实例处理延迟的平均值,形 理延迟和吞吐率;T(latency)和T(throughput)是用 式化定义为 户设置的对应阈值。 (Latency((source,》 2系统设计 =1 Latency(source)= (1) m 2.1 OrientStream+概述 式中:m是数据源(source)节点的并行度。然而, 如图l所示,给出了OrientStream+系统的架 由于查询请求往往涉及到多个数据流,因此,大 构图。该系统主要分为3个部分:左部是层次性 规模数据流管理系统的处理延迟需要按照每个数 的特征抽取机制,从下向上主要分为3个部分即的微批量样式 (mini-batch scheme) 的数据流传输 机制,利用多级别管道缓存计算出精准查询结 果,并提出异常检测的增量学习模型 ODRegres￾sion (outerlier detection regression),可较好解决易 变数据流的资源配置问题。 1 基本概念与问题描述 1.1 概念描述 OrientStream+需要实时监控大规模数据流管 理系统的查询执行情况,并基于不同的数据流速 和参数配置搜集训练数据集。接下来,我们给出 形式化的定义。 由于数据流无限的特性,本文采集训练数据 集的过程使用窗口模型 (见定义 1)。 定义 1 窗口模型。将无限的数据流切分成 若干有限子数据流,每次的查询处理仅针对当前 窗口内的子数据流。一般可根据用户设定的时间 间隔或窗口内元组数量设置窗口大小,并在多查 询场景下使用翻转窗口或滑动窗口的语义信息。 在 OrientStream+框架中,我们使用基于时间 间隔的窗口模型获取训练集。每个具有不同时间 间隔的窗口作为一条训练数据。训练样本搜集过 程中,时间窗口的下限是 30 s,上限是 120 s。首 先,以初始的参数配置启动查询请求,当窗口大 小达到时间间隔约束时,我们采集一条训练数 据。接下来,以新的窗口大小和新的参数配置重 启查询请求,用于获取下一条训练数据。最后, 通过迭代操作,我们可采集到不同窗口大小和配 置信息的训练数据集。 定义 2 算子并行度。构建在分布式集群上 的流处理系统往往可同时执行由不同类型算子构 成的若干拓扑任务。每个算子可根据不用的查询 请求设置不同的并行度,一般以多线程的形式实 现。以本文使用的 Storm 系统为例,可动态设置 数据源部件 spout 和查询处理部件 bolt 的单元实 例 task 的并行度。 定义 3 系统处理延迟。每个数据流元组被 各个查询算子处理延迟的总和。数据源 i 的处理 延迟表示为每个单元实例处理延迟的平均值,形 式化定义为 Latency(sourcei) = ∑m j=1 (Latency(sourcei))j m (1) 式中:m 是数据源 (source) 节点的并行度。然而, 由于查询请求往往涉及到多个数据流,因此,大 规模数据流管理系统的处理延迟需要按照每个数 据源的最大处理延迟来定义,形式化定义为 Latency = n max i=1 Latency(sourcei) (2) 式中 n 是查询请求中涉及到的数据源个数。 定义 4 参数配置。向流处理系统提交查询 任务时,需提前定义进程的内存大小、不同算子 的并行度等参数信息。该过程称为系统资源的参 数配置。 1.2 问题定义 向大规模数据流管理系统提交查询请求时, 往往需要凭借用户的经验和平台的硬件情况动态 配置不同的参数。参数配置是否合理将直接影响 系统的吞吐率和处理延迟,以及平台的资源使用 情况。随着数据流的变化情况,我们需要动态调 整参数配置以满足用户对处理延迟和系统吞吐率 阈值的要求。但是,流处理系统往往不允许任意 调整配置参数。比如,Storm 的“re-balance”机 制,仅可降低处理单元的并行度,不能超越用户 设定的最大处理单元实例值。 我们需要对任意的参数配置预测资源使用情 况、处理延迟和系统吞吐率。根据预测结果,从 中选取最优配置。即,在保证处理延迟和系统吞 吐率满足用户设定阈值的前提下,尽量减少 CPU 和内存的资源使用率。该问题可形式化表示为资 源使用最优化的问题,定义如下。 令 N = (n1,n2,···) 为集群的各个节点集合,每 个节点 ni 关于 CPU 使用情况 Ucpu 和内存使用情 况 Umemory 可用式 (3) 表示。 U(ni) = α×Ucpu(ni)+β×Umemory(ni) (α+β = 1) (3) 式中:α 和 β 分别是 CPU 和内存使用率的权重。 本文中,α 和 β 均设置为 50%。 接下来,令 C = (c1, c2,···) 为用户提供的候选 配置集合。对整个集群来讲,我们需要预测出最 佳的配置 copt 以实现式 (4) 的优化目标。 Minimize∑ ni∈N U(ni) s.t. R ( latency) < T ( latency) and R ( throughput) > T ( throughput) (4) 式中:R(latency) 和 R(throughput) 是查询请求的处 理延迟和吞吐率;T(latency) 和 T(throughput) 是用 户设置的对应阈值。 2 系统设计 2.1 OrientStream+概述 如图 1 所示,给出了 OrientStream+系统的架 构图。该系统主要分为 3 个部分:左部是层次性 的特征抽取机制,从下向上主要分为 3 个部分即 ·1280· 智 能 系 统 学 报 第 14 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有