Performance evaluation and modeling of remote execution and caching cluster - AGUILAR ROMERO, MARÍA FERNANDA (My University, 2021)
The scope and application of distributed systems are an increasing trend by the need for high-performance infrastructure. Many multi-branch organizations adopt the resource-sharing approach to maximize the system’s utilization, especially in the software developing industry. Computational techniques such as caching and clustering are suitable to boost the performance of computer systems at any architectural level. This project presents a performance evaluation, modeling, and analysis of a system inspired by the case study of the industrial partner, Veoneer. The case study is used for software development and implements Bazel, a suitable tool for multibranch cooperation through remote caching and remote execution. Here, the remote cache allows storage and sharing the outputs from all the compilations among the branches, thus preventing the re-execution of tasks and reducing the response time for developers. On the other hand, remote execution benefits from the computational resources of different servers across the branches. However, the benefits are at the cost of complexity, and systems start to degrade in performance, such as long response times revealed from the system’s monitoring. Therefore, performance evaluation is essential for planning and improvement. This work uses operational analysis, queueing networks, and the universal scalability law to evaluate, model, and predict the system’s performance, respectively. The aim is to establish algebraic relations between the system’s factors and metrics to understand the impact of workload and system capacity on performance to predict its behavior. The results expose that the cache is over-utilized and benefits from horizontal scalability. On the other hand, the study reveals that a cluster benefits from vertical scalability but still has its scalability bounds to prevent that multithreading effects (i.e. coherence, concurrency, and contention) affect performance on parallel executions.
Keywords: Performance evaluation; performance modeling; remote cache; remote execution; queueing modeling; scalability