当前位置: X-MOL 学术ACM Trans. Archit. Code Optim. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
MicroProf: Code-level Attribution of Unnecessary Data Transfer in Microservice Applications
ACM Transactions on Architecture and Code Optimization ( IF 1.6 ) Pub Date : 2023-12-14 , DOI: 10.1145/3622787
Syed Salauddin Mohammad Tariq 1 , Lance Menard 1 , Pengfei Su 2 , Probir Roy 1
Affiliation  

The microservice architecture style has gained popularity due to its ability to fault isolation, ease of scaling applications, and developer’s agility. However, writing applications in the microservice design style has its challenges. Due to the loosely coupled nature, services communicate with others through standard communication APIs. This incurs significant overhead in the application due to communication protocol and data transformation. An inefficient service communication at the microservice application logic can further overwhelm the application. We perform a grey literature review showing that unnecessary data transfer is a real challenge in the industry. To the best of our knowledge, no effective tool is currently available to accurately identify the origins of unnecessary microservice communications that lead to significant performance overhead and provide guidance for optimization.

To bridge the knowledge gap, we propose MicroProf, a dynamic program analysis tool to detect unnecessary data transfer in Java-based microservice applications. At the implementation level, MicroProf proposes novel techniques such as remote object sampling and hardware debug registers to monitor remote object usage. MicroProf reports the unnecessary data transfer at the application source code level. Furthermore, MicroProf pinpoints the opportunities for communication API optimization. MicroProf is evaluated on four well-known applications involving two real-world applications and two benchmarks, identifying five inefficient remote invocations. Guided by MicroProf, API optimization achieves an 87.5% reduction in the number of fields within REST API responses. The empirical evaluation further reveals that the optimized services experience a speedup of up to 4.59×.



中文翻译:

MicroProf:微服务应用程序中不必要的数据传输的代码级归因

微服务架构风格因其故障隔离能力、易于扩展应用程序以及开发人员的敏捷性而受到欢迎。然而,以微服务设计风格编写应用程序也面临着挑战。由于松散耦合的性质,服务通过标准通信 API 与其他服务进行通信。由于通信协议和数据转换,这会在应用程序中产生大量开销。微服务应用程序逻辑中低效的服务通信可能会进一步压垮应用程序。我们进行的灰色文献综述表明,不必要的数据传输是行业中真正的挑战。据我们所知,目前没有有效的工具可以准确识别不必要的微服务通信的来源,这些通信会导致显着的性能开销,并为优化提供指导。

为了弥补知识差距,我们提出了MicroProf,一种动态程序分析工具,用于检测基于 Java 的微服务应用程序中不必要的数据传输。在实现层面,MicroProf提出了远程对象采样和硬件调试寄存器等新技术来监控远程对象的使用情况。MicroProf报告应用程序源代码级别的不必要的数据传输。此外,MicroProf指出了通信 API 优化的机会。MicroProf在四个知名应用程序上进行了评估,其中涉及两个实际应用程序和两个基准,识别出五个低效的远程调用。在MicroProf的指导下,API 优化使 REST API 响应中的字段数量减少了 87.5%。实证评估进一步表明,优化后的服务速度提升高达 4.59 倍。

更新日期:2023-12-14
down
wechat
bug