Network programmability allows modification of fine-grain data plane functionality. The performance benefits of data plane programmability have motivated many researchers to offload computation that previously operated only on servers to the network, creating the notion of in-network computing (INC). Because failures can occur in the data plane, fault tolerance mechanisms are essential for INC. However, INC operators and developers must manually set fault tolerance requirements using domain knowledge to change the source code. These manually set requirements may take time and lead to errors in case of misconfiguration. In this work, we present Araucaria, a system that aims to simplify the definition and implementation of fault tolerance requirements for INC. The system allows requirements specification using an intent language, which enables the expression of consistency and availability requirements in a constrained natural language. A refinement process translates the intent and incorporates the essential building blocks and configurations into the INC code. We present a prototype of Araucaria and analyze the end-to-end system behavior. Experiments demonstrate that the refinement scales to multiple intents and that the system provides fault tolerance with negligible overhead in failure scenarios.
翻译:网络可编程性允许对细粒度数据平面功能进行修改。数据平面可编程性带来的性能优势促使许多研究人员将原本仅运行在服务器上的计算任务卸载到网络中,从而形成了网内计算(INC)概念。由于数据平面可能发生故障,容错机制对INC至关重要。然而,INC运维人员和开发人员必须利用领域知识手动设置容错需求,以修改源代码。这些手动设置的需求可能耗时较长,并且在配置错误时容易导致出错。在本工作中,我们提出Araucaria系统,旨在简化INC容错需求的定义与实现。该系统允许通过意图语言指定需求,从而能够以受限自然语言表达一致性和可用性需求。通过精化流程,意图被转换,并将必要的构建模块和配置融入INC代码中。我们展示了Araucaria的原型,并分析了端到端系统行为。实验表明,该精化过程可扩展至多个意图,且系统在故障场景下能以可忽略的开销提供容错能力。