ChameleMon: Shifting Measurement Attention as Network State Changes
ChameleMon: Shifting Measurement Attention as Network State Changes 是一篇 2023 年发表在 ACM 的研究型论文。共同一作是来自 National Key Laboratory for Multimedia Information Processing, School of Computer Science, Peking University 的 Kaicheng Yang,Yuhan Wu 和 Ruijie Miao,通讯作者是来自同样单位的 Tong Yang。ChameleMon 提供了 prototype。
背景与前人工作
Network measurement 的目标是支持更多任务并以更少的内存实现更高的准确性。
There are mainly two kinds of flow-level measurement tasks in Network measurement : 1) packet accumulation tasks and 2) packet loss tasks.
前人工作的局限性在于:要么只能完成两种任务之一,受限于其数据结构无法拓展完成另一种任务;要么能同时完成两种任务,但无法充分利用资源,导致至少线性级别的内存 / 带宽开销。
解决方案
该论文经研究总结,提出一个实用的测量系统需要满足以下三个要求:
通用性:同时支持丢包测量任务和包累积测量任务;
效率:以亚线性空间复杂度实现高精度;
注意力转换:在不同网络状态下关注不同类型的任务。
该论文提出了一种新型的测量系统——ChameleMon,该系统能同时满足以上三个要求,突破了现有工作的瓶颈。
ChameleMon 的关键设计是通过动态的两个维度,实现随着网络状态的变化而转移测量注意力:1)在两种任务之间动态分配内存; 2)动态监控重要流量。为了实现关键设计,该论文提出了一项技术:利用费马小定理设计灵活的数据结构——FermatSketch。 FermatSketch 具有可除性、加法性和减法性,支持以上两种测量任务。 ChameleMon 的 workflow 如下:
Step 1: Capture flow-level statistics
对于一个 flow,通过 Classifier 将其分为四类(分类依据:flow size):
Heavy-hitter(HH)
heavy-losses(HLs)
light-losses(LLs) - according to sample rate divied into two classes
sampled LL candidate
non-sampled
UpStream 统计进入网络的 flow,DownStream 统计离开网络的 flow。
Step 2: Collect from edge
中央控制器定期从边缘交换机收集 sketches 以支持持续测量。 为避免与 flow 插入发生冲突,收集 sketches 时,每个边缘交换机都会将时间线划分成连续的固定长度时间间隔(称为 epoch),以及复制一组 sketches 作为备份。
Step 3: Perform analysis
每个 epoch,中央控制器对收集的 sketches 进行分析(共支持七项测量任务)。 通过分析上下游的编码器,中央控制器可以支持丢包检测。 通过分析流分类器和上游 HH 编码器,中央控制器可以支持 HH 检测和其他五个数据包累积任务。
Step 4: Shift attention
每个 epoch,中央控制器通过分析收集到的 sketches 来监控实时网络状态(若能监控所有的 victim flow,则为 healthy 状态,反之为 ill 状态),在运行时重新配置边缘交换机的数据平面。通过调整内存分配,来控制两种任务的占比;通过调整 Tl 和 Th 这两个阈值,动态选择最重要的流。
实验结果能够证明 ChameleMon 达到了其所描述的效果:
美中不足的是,该论文在整体排版上不够美观,page5-8 没有任何图表,EVALUATION 部分草草收尾,附录部分又占比过大,不免令读者怀疑作者是否存在写作仓促的情况。
Last updated