论文标题

Kollaps:分散和动态拓扑仿真

Kollaps: Decentralized and Dynamic Topology Emulation

论文作者

Gouveia, Paulo, Neves, João, Segarra, Carlos, Liechti, Luca, Issa, Shady, Schiavoni, Valerio, Matos, Miguel

论文摘要

大规模分布式应用程序的性能和行为受到网络属性的高度影响,例如延迟,带宽,数据包丢失和抖动。例如,工程师可能需要回答以下问题:应用程序响应时间中网络延迟增加的影响是什么?地理区域之间的群集如何影响应用程序吞吐量?网络动态如何影响应用程序稳定性?鉴于对基础网络缺乏控制,以系统和可重复的方式回答这些问题非常困难。不幸的是,最先进的网络仿真或测试床的尺度较差(即挖掘),仅关注控制平面(即水晶网)或忽略网络动力学(即emulab)。 Kollaps是一个完全分布的网络模拟器,可解决这些限制。 Kollap取决于两个关键观察。首先,从应用程序的角度来看,重要的是紧急的端到端属性(例如,延迟,带宽,数据包丢失和抖动),而不是路由器和切换的内部状态。这个前提使我们能够构建一个更简单,动态适应性的仿真模型,该模型绕过维护完整的网络状态。其次,该简化模型可以完全分散的方式维护,从而使仿真随着应用程序的计算机数量扩展。 Kollap是完全分散的,对应用程序语言和传输协议的不可知论,比较成千上万的过程,并且与裸露的金属部署或模拟整个网络状态的裸机部署或最先进的方法相比,这是准确的。我们展示了Kollap如何准确地从文献中重现结果,并预测不同部署下复杂的未修饰分布式键值存储(即Cassandra)的行为。

The performance and behavior of large-scale distributed applications is highly influenced by network properties such as latency, bandwidth, packet loss, and jitter. For instance, an engineer might need to answer questions such as: What is the impact of an increase in network latency in application response time? How does moving a cluster between geographical regions affect application throughput? How network dynamics affects application stability? Answering these questions in a systematic and reproducible way is very hard, given the variability and lack of control over the underlying network. Unfortunately, state-of-the-art network emulation or testbeds scale poorly (i.e., MiniNet), focus exclusively on the control-plane (i.e., CrystalNet) or ignore network dynamics (i.e., EmuLab). Kollaps is a fully distributed network emulator that address these limitations. Kollaps hinges on two key observations. First, from an application's perspective, what matters are the emergent end-to-end properties (e.g., latency, bandwidth, packet loss, and jitter) rather than the internal state of the routers and switches leading to those properties. This premise allows us to build a simpler, dynamically adaptable, emulation model that circumvent maintaining the full network state. Second, this simplified model is maintainable in a fully decentralized way, allowing the emulation to scale with the number of machines for the application. Kollaps is fully decentralized, agnostic of the application language and transport protocol, scales to thousands of processes and is accurate when compared against a bare-metal deployment or state-of-the-art approaches that emulate the full state of the network. We showcase how Kollaps can accurately reproduce results from the literature and predict the behaviour of a complex unmodified distributed key-value store (i.e., Cassandra) under different deployments.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源