高级检索

    基于动态插桩的网络功能软件性能测量方法

    Dynamic Instrumentation Based Performance Measurement for Software Based Network Functions

    • 摘要: 网络功能(network function,NF)软件化为新型网络场景和应用的实现与部署提供灵活性. 然而,相较于专有硬件,网络功能软件的程序结构和运行环境更复杂,导致短时吞吐异常、长尾时延等各种性能问题,影响用户体验. 当出现性能问题时,需要快速通过性能测量,定位问题所在模块,确定问题产生的原因. 面对NF软件复杂的运行环境、日益膨胀的代码规模、问题根因的复杂多样等问题,粗粒度性能测量已经无法满足性能问题定位和分析的需求,急需高效的细粒度NF软件性能测量方法. 当前NF软件性能测量主要分为基于采样和基于插桩2类方法. 通过实际测量分析证明了基于采样的性能测量方法不适用于细粒度NF软件的性能测量,而基于插桩的方法可以满足细粒度测量的功能需求,但会产生大量的额外测量开销,影响测量准确度. 为此,提出了动态库插桩和函数级快速断点相结合的函数级动态插桩方法:和静态库插桩相比,动态库插桩可以在NF软件运行过程中实时按需打桩,解决了静态库打桩的灵活性问题;和传统快速断点相比,函数级快速断点的插桩开销平均降低了70%. 在此基础上,设计并实现了数据包级的NF软件性能测量方法LProfile,基于轻量化探针和存储优化等技术进一步减少测量开销. 对比基线方法TAU,LProfile降低了82%的单点测量开销.

       

      Abstract: Softwareization of network function (NF) provides flexibility for the implementation and deployment of new network applications. However, duo to more complex program structure and running environment compared with NF hardware, NF software introduces various performance issues, such as, short-term throughput anomalies and long-tail delays, degrades user experience. Once NF performance problem occurs, it is necessary to quickly locate problematic modules and determine the cause of the problems through performance measurement. Facing to NF's complex operating environments, increasingly expanding code size, and diverse root causes of problems, coarse-grained performance measurement cannot meet the requirement of problem location and analysis. More efficient fine-grained NF performance measurement is necessary. For the two types of widely used NF performance measurement methods: sampling-based and instrumentation-based, we first prove through actual measurement analysis that, the sampling-based performance measurement method is not suitable for fine-grained NF performance measurement, and the instrumentation-based method will generate a large amount of additional measurement overhead, affecting the measurement results. To this end, we propose a function-level dynamic instrumentation method that combines dynamic library piling and function-level fast breakpoints. Compared with static instrumentation, dynamic instrumentation can execute instrumentation on demand in runtime. It is more suitable for use in the production environment. Our dynamic instrumentation method reduces the instrumentation overhead by an average of 70% compared to baseline fast breakpoints. On this basis, we design and implement the packet-level NF performance measurement method LProfile, based on lightweight probes and storage optimization. Compared with TAU, a general-purpose performance measurement tool, LProfile reduces the single-point measurement overhead by 82%.

       

    /

    返回文章
    返回