Flow-level network measurement is critical to many network applications. Among various measurement tasks, packet loss detection and heavy-hitter detection are two most important measurement tasks, which we call the two key tasks. In practice, the two key tasks are often required at the same time, but existing works seldom handle both tasks. In this paper, we design ChameleMon to support the two key tasks simultaneously. One key design/novelty of ChameleMon is to shift measurement attention as network state changes, through two dimensions of dynamics: 1) dynamically allocating memory between the two key tasks; 2) dynamically monitoring the flows of importance. To realize the key design, we propose a key technique, leveraging Fermat's little theorem to devise a flexible data structure, namely FermatSketch. FermatSketch is dividable, additive, and subtractive, supporting the two key tasks. We have fully implemented a ChameleMon prototype on a testbed with a Fat-tree topology. We conduct extensive experiments and the results show ChameleMon supports the two key tasks with low memory/bandwidth overhead, and more importantly, it can automatically shift measurement attention as network state changes.
翻译:流动网络测量对于许多网络应用至关重要。 在各种测量任务中, 包丢失检测和重度辐射检测是两个最重要的测量任务, 我们称之为两个关键任务。 实际上, 两个关键任务往往同时需要, 但现有的工程很少同时处理这两个任务。 在本文中, 我们设计了Chamele Mon 来同时支持这两个关键任务。 Chamele Mon 的一个关键设计/新颖就是通过动态的两个维度的变化, 将测量注意力随着网络状态的变化而转移:(1) 动态地分配两个关键任务之间的记忆;(2) 动态地监测重要性的流动。 为了实现关键设计, 我们提出了一个关键技术, 利用Fermatt的小理论来设计一个灵活的数据结构, 即 FermatSketch 。 FermatSketch 是可分解、 添加和减缩的, 支持两项关键任务。 我们已经在带肥种地形表的测试台上完全应用了Chamele Mon 原型。 我们进行了广泛的实验, 结果显示 ChameleMon 支持两个关键任务, 低的记忆/ 腰部, 更重要的是, 它可以自动转移测量网络状态的变化 。