89 research outputs found
End-to-End Application Cloning for Distributed Cloud Microservices with Ditto
We present Ditto, an automated framework for cloning end-to-end cloud
applications, both monolithic and microservices, which captures I/O and network
activity, as well as kernel operations, in addition to application logic. Ditto
takes a hierarchical approach to application cloning, starting with capturing
the dependency graph across distributed services, to recreating each tier's
control/data flow, and finally generating system calls and assembly that mimics
the individual applications. Ditto does not reveal the logic of the original
application, facilitating publicly sharing clones of production services with
hardware vendors, cloud providers, and the research community.
We show that across a diverse set of single- and multi-tier applications,
Ditto accurately captures their CPU and memory characteristics as well as their
high-level performance metrics, is portable across platforms, and facilitates a
wide range of system studies
NUMASK: High Performance Scalable Skip List for NUMA
This paper presents NUMASK, a skip list data structure specifically designed to exploit the characteristics of Non-Uniform Memory Access (NUMA) architectures to improve performance. NUMASK deploys an architecture around a concurrent skip list so that all metadata accesses (e.g., traversals of the skip list index levels) read and write memory blocks allocated in the NUMA zone where the thread is executing. To the best of our knowledge, NUMASK is the first NUMA-aware skip list design that goes beyond merely limiting the performance penalties introduced by NUMA, and leverages the NUMA architecture to outperform state-of-the-art concurrent high-performance implementations. We tested NUMASK on a four-socket server. Its performance scales for both read-intensive and write-intensive workloads (tested up to 160 threads). In write-intensive workload, NUMASK shows speedups over competitors in the range of 2x to 16x
EnergAt: Fine-Grained Energy Attribution for Multi-Tenancy
In the post-Moore's Law era, relying solely on hardware advancements for
automatic performance gains is no longer feasible without increased energy
consumption, due to the end of Dennard scaling. Consequently, computing
accounts for an increasing amount of global energy usage, contradicting the
objective of sustainable computing. The lack of hardware support and the
absence of a standardized, software-centric method for the precise tracing of
energy provenance exacerbates the issue. Aiming to overcome this challenge, we
argue that fine-grained software energy attribution is attainable, even with
limited hardware support. To support our position, we present a thread-level,
NUMA-aware energy attribution method for CPU and DRAM in multi-tenant
environments. The evaluation of our prototype implementation, EnergAt,
demonstrates the validity, effectiveness, and robustness of our theoretical
model, even in the presence of the noisy-neighbor effect. We envisage a
sustainable cloud environment and emphasize the importance of collective
efforts to improve software energy efficiency.Comment: 8 pages, 4 figures; Published in HotCarbon 2023; Artifact available
at https://github.com/HongyuHe/energa
- …