Saved in:
Bibliographic Details
Main Authors: Du, Fanrong, Shi, Jiuchen, Chen, Quan, Li, Li, Guo, Minyi
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2412.19083
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913627368325120
author Du, Fanrong
Shi, Jiuchen
Chen, Quan
Li, Li
Guo, Minyi
author_facet Du, Fanrong
Shi, Jiuchen
Chen, Quan
Li, Li
Guo, Minyi
contents A production microservice application may provide multiple services, queries of a service may have different call graphs, and a microservice may be shared across call graphs. It is challenging to improve the resource efficiency of such complex applications without proper benchmarks, while production traces are too large to be used in experiments. To this end, we propose a Service Dependency Graph Generator (DGG) that comprises a Data Handler and a Graph Generator, for generating the service dependency graphs of benchmarks that incorporate production-level characteristics from traces. The data handler first constructs fine-grained call graphs with dynamic interface and repeated calling features from the trace and merges them into dependency graphs, and then clusters them into different categories based on the topological and invocation types. Taking the organized data and the selected category, the graph generator simulates the process of real microservices invoking downstream microservices using a random graph model, generates multiple call graphs, and merges the call graphs to form the small-scale service dependency graph with production-level characteristics. Case studies show that DGG's generated graphs are similar to real traces in terms of topologies. Moreover, the resource scaling based on DGG's fine-grained call graph constructing increases the resource efficiency by up to 44.8% while ensuring the required QoS.
format Preprint
id arxiv_https___arxiv_org_abs_2412_19083
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A Microservice Graph Generator with Production Characteristics
Du, Fanrong
Shi, Jiuchen
Chen, Quan
Li, Li
Guo, Minyi
Software Engineering
A production microservice application may provide multiple services, queries of a service may have different call graphs, and a microservice may be shared across call graphs. It is challenging to improve the resource efficiency of such complex applications without proper benchmarks, while production traces are too large to be used in experiments. To this end, we propose a Service Dependency Graph Generator (DGG) that comprises a Data Handler and a Graph Generator, for generating the service dependency graphs of benchmarks that incorporate production-level characteristics from traces. The data handler first constructs fine-grained call graphs with dynamic interface and repeated calling features from the trace and merges them into dependency graphs, and then clusters them into different categories based on the topological and invocation types. Taking the organized data and the selected category, the graph generator simulates the process of real microservices invoking downstream microservices using a random graph model, generates multiple call graphs, and merges the call graphs to form the small-scale service dependency graph with production-level characteristics. Case studies show that DGG's generated graphs are similar to real traces in terms of topologies. Moreover, the resource scaling based on DGG's fine-grained call graph constructing increases the resource efficiency by up to 44.8% while ensuring the required QoS.
title A Microservice Graph Generator with Production Characteristics
topic Software Engineering
url https://arxiv.org/abs/2412.19083