P4-InTel: Bridging the Gap between iCF Diagnosis and Functionality

P4-InTel: Bridging the Gap between iCF Diagnosis and Functionality
复制标题

DOI:
10.1145/3359993.3366648
复制
发表时间:
2019-12
期刊:
Proceedings of the 1st ACM CoNEXT Workshop on Emerging in-Network Computing Paradigms
影响因子:
--
通讯作者:
Lucas Castanheira;Alberto E. Schaeffer-Filho;Theophilus A. Benson
Lucas Castanheira;Alberto E. Schaeffer-Filho;Theophilus A. Benson
中科院分区:
其他
文献类型:
--
作者:
Lucas Castanheira;Alberto E. Schaeffer-Filho;Theophilus A. Benson

文献摘要

相似文献

数据平面可编程性促进了一种新的计算范例,其中应用程序的部分执行可以卸载到网络中。然而,这种网络内计算功能(iCF)为分布式应用程序的跟踪和调试增加了额外的管理复杂性。具体地,当前的可编程硬件不提供足够强大的原语或抽象来实现网络内跟踪。此外,现有的分布式应用调试解决方案不直接扩展到可编程数据平面中。在本文中,我们退后一步,通过讨论开放性研究问题和全面的iCF遥测和调试解决方案所面临的挑战来重新审视基本问题,该解决方案弥合了传统调试和基于iCF的调试之间的差距。为此,我们引入了一个系统,P4-InTel,它(i)利用网络遥测监测任意跟踪数据,直接在PDP源代码上使用注释指示,以及(ii)收集和封装跟踪抽象中的数据。这种抽象以标准的可读格式提供了网络内计算的生命周期的全局视图,该格式可以被馈送到自动调试工具,或者由程序员用于促进故障排除。
Data plane programmability promotes a new kind of computing paradigm in which parts of an application's execution can be offloaded into the network. However, this in-network compute functionality (iCF) adds an extra layer of management complexity for the tracing and debugging of distributed applications. Specifically, current programmable hardware does not provide powerful enough primitives or abstractions to enable in-network tracing. Further, existing distributed application debug solutions do not extend directly into programmable data planes. In this paper, we take a step back and revisit the fundamental problem by discussing open research questions and challenges towards a comprehensive iCF telemetry and debugging solution which bridges the gap between traditional and iCF-based debugging. To this end, we introduce a system, P4-InTel, which (i) leverages network telemetry to instrument PDPs into monitoring arbitrary trace data, indicated directly on PDP source code using annotations, and (ii) collects and encapsulates this data in a tracing abstraction. This abstraction provides a global vision of an in-network computation's life-cycle in a standard, readable format, which can either be fed to automatic debugging tools, or used by programmers to facilitate troubleshooting.