In large-scale distributed applications, efficient and reliable broadcast protocols are essential for node communication. Tree-based broadcast lacks flexibility and may suffer performance degradation or even broadcast failure when cluster membership changes. Gossip-based broadcast incurs high bandwidth overhead and only provides probabilistic delivery guarantees. In tree-based broadcasting, when an internal node leaves, its child nodes need to reconnect to a new parent. This process may introduce instability, leading to potential message duplication and increased transmission latency. However, in cloud environments, node departures and arrivals are common, causing frequent performance degradation in tree-based broadcasting. This paper introduces Snow, a self-organizing broadcast protocol designed for cloud environments. Instead, it dynamically sends or forwards messages based on each node's membership view, ultimately forming a broadcast structure resembling a multi-way balanced tree(the height difference of leaf nodes is at most 1). Our experimental results showed that Snow maintains message delivery reliability and latency guarantees under node churn while maintaining low overhead without sending unnecessary redundant messages.
翻译:摘要: 在大规模分布式应用中,高效可靠的广播协议对于节点通信至关重要。基于树的广播缺乏灵活性,当集群成员发生变化时,可能导致性能下降甚至广播失败。基于八卦的广播则会产生高带宽开销,且仅提供概率性的投递保证。在基于树的广播中,当一个内部节点离开时,其子节点需要重新连接到新的父节点。此过程可能引入不稳定性,导致潜在的消息重复和传输延迟增加。然而,在云环境中,节点的离开和加入十分常见,这导致基于树的广播频繁出现性能退化。本文介绍了Snow,一种专为云环境设计的自组织广播协议。它并非依赖预先定义的静态结构,而是根据每个节点的成员视图动态发送或转发消息,最终形成一种类似于多路平衡树(叶节点高度差至多为1)的广播结构。我们的实验结果表明,Snow在节点动态变化的情况下,能够在维持消息投递可靠性和延迟保证的同时,通过不发送不必要的冗余消息来保持较低的开销。