-
Pond: CXL-Based Memory Pooling Systems for Cloud Platforms
Authors:
Huaicheng Li,
Daniel S. Berger,
Stanko Novakovic,
Lisa Hsu,
Dan Ernst,
Pantea Zardoshti,
Monish Shah,
Samir Rajadnya,
Scott Lee,
Ishwar Agarwal,
Mark D. Hill,
Marcus Fontoura,
Ricardo Bianchini
Abstract:
Public cloud providers seek to meet stringent performance requirements and low hardware cost. A key driver of performance and cost is main memory. Memory pooling promises to improve DRAM utilization and thereby reduce costs. However, pooling is challenging under cloud performance requirements. This paper proposes Pond, the first memory pooling system that both meets cloud performance goals and sig…
▽ More
Public cloud providers seek to meet stringent performance requirements and low hardware cost. A key driver of performance and cost is main memory. Memory pooling promises to improve DRAM utilization and thereby reduce costs. However, pooling is challenging under cloud performance requirements. This paper proposes Pond, the first memory pooling system that both meets cloud performance goals and significantly reduces DRAM cost. Pond builds on the Compute Express Link (CXL) standard for load/store access to pool memory and two key insights. First, our analysis of cloud production traces shows that pooling across 8-16 sockets is enough to achieve most of the benefits. This enables a small-pool design with low access latency. Second, it is possible to create machine learning models that can accurately predict how much local and pool memory to allocate to a virtual machine (VM) to resemble same-NUMA-node memory performance. Our evaluation with 158 workloads shows that Pond reduces DRAM costs by 7% with performance within 1-5% of same-NUMA-node VM allocations.
△ Less
Submitted 21 October, 2022; v1 submitted 1 March, 2022;
originally announced March 2022.
-
Prediction-Based Power Oversubscription in Cloud Platforms
Authors:
Alok Kumbhare,
Reza Azimi,
Ioannis Manousakis,
Anand Bonde,
Felipe Frujeri,
Nithish Mahalingam,
Pulkit Misra,
Seyyed Ahmad Javadi,
Bianca Schroeder,
Marcus Fontoura,
Ricardo Bianchini
Abstract:
Datacenter designers rely on conservative estimates of IT equipment power draw to provision resources. This leaves resources underutilized and requires more datacenters to be built. Prior work has used power capping to shave the rare power peaks and add more servers to the datacenter, thereby oversubscribing its resources and lowering capital costs. This works well when the workloads and their ser…
▽ More
Datacenter designers rely on conservative estimates of IT equipment power draw to provision resources. This leaves resources underutilized and requires more datacenters to be built. Prior work has used power capping to shave the rare power peaks and add more servers to the datacenter, thereby oversubscribing its resources and lowering capital costs. This works well when the workloads and their server placements are known. Unfortunately, these factors are unknown in public clouds, forcing providers to limit the oversubscription so that performance is never impacted.
In this paper, we argue that providers can use predictions of workload performance criticality and virtual machine (VM) resource utilization to increase oversubscription. This poses many challenges, such as identifying the performance-critical workloads from black-box VMs, creating support for criticality-aware power management, and increasing oversubscription while limiting the impact of capping. We address these challenges for the hardware and software infrastructures of Microsoft Azure. The results show that we enable a 2x increase in oversubscription with minimum impact to critical workloads.
△ Less
Submitted 29 October, 2020;
originally announced October 2020.
-
Learning from the past: A process recommendation system for video game projects using postmortems experiences
Authors:
Cristiano Politowski,
Lisandra M. Fontoura,
Fabio Petrillo,
Yann-Gaël Guéhéneuc
Abstract:
Context: The video game industry is a billion dollar industry that faces problems in the way games are developed. One method to address these problems is using developer aid tools, such as Recommendation Systems. These tools assist developers by generating recommendations to help them perform their tasks. Objective: This article describes a systematic approach to recommend development processes fo…
▽ More
Context: The video game industry is a billion dollar industry that faces problems in the way games are developed. One method to address these problems is using developer aid tools, such as Recommendation Systems. These tools assist developers by generating recommendations to help them perform their tasks. Objective: This article describes a systematic approach to recommend development processes for video game projects, using postmortem knowledge extraction and a model of the context of the new project, in which "postmortems" are articles written by video game developers at the end of projects, summarizing the experience of their game development team. This approach aims to provide reflections about development processes used in the game industry as well as guidance to developers to choose the most adequate process according to the contexts they're in. Method: Our approach is divided in three separate phases: in the the first phase, we manually extracted the processes from the postmortems analysis; in the second one, we created a video game context and algorithm rules for recommendation; and finally in the third phase, we evaluated the recommended processes by using quantitative and qualitative metrics, game developers feedback, and a case study by interviewing a video game development team. Contributions: This article brings three main contributions. The first describes a database of developers' experiences extracted from postmortems in the form of development processes. The second defines the main attributes that a video game project contain, which it uses to define the contexts of the project. The third describes and evaluates a recommendation system for video game projects, which uses the contexts of the projects to identify similar projects and suggest a set of activities in the form of a process.
△ Less
Submitted 4 September, 2020;
originally announced September 2020.
-
Product Line Annotations with UML-F
Authors:
Wolfgang Pree,
Marcus Fontoura,
Bernhard Rumpe
Abstract:
The Unified Modeling Language (UML) community has started to define so-called profiles in order to better suit the needs of specific domains or settings. Product lines1 represent a special breed of systems they are extensible semi-finished pieces of software. Completing the semi-finished software leads to various software pieces, typically specific applications, which share the same core. Though p…
▽ More
The Unified Modeling Language (UML) community has started to define so-called profiles in order to better suit the needs of specific domains or settings. Product lines1 represent a special breed of systems they are extensible semi-finished pieces of software. Completing the semi-finished software leads to various software pieces, typically specific applications, which share the same core. Though product lines have been developed for a wide range of domains, they apply common construction principles. The intention of the UML-F profile (for framework architectures) is the definition of a UML subset, enriched with a few UML-compliant extensions, which allows the annotation of such artifacts. This paper presents aspects of the profile with a focus on patterns and exemplifies the profile's usage.
△ Less
Submitted 15 October, 2014;
originally announced October 2014.
-
UML-F: A Modeling Language for Object-Oriented Frameworks
Authors:
Marcus Fontoura,
Wolfgang Pree,
Bernhard Rumpe
Abstract:
The paper presents the essential features of a new member of the UML language family that supports working with object-oriented frameworks. This UML extension, called UML-F, allows the explicit representation of framework variation points. The paper discusses some of the relevant aspects of UML-F, which is based on standard UML extension mechanisms. A case study shows how it can be used to assist…
▽ More
The paper presents the essential features of a new member of the UML language family that supports working with object-oriented frameworks. This UML extension, called UML-F, allows the explicit representation of framework variation points. The paper discusses some of the relevant aspects of UML-F, which is based on standard UML extension mechanisms. A case study shows how it can be used to assist framework development. A discussion of additional tools for automating framework implementation and instantiation rounds out the paper.
△ Less
Submitted 24 September, 2014;
originally announced September 2014.
-
The WebShop E-Commerce Framework
Authors:
Marcus Fontoura,
Wolfgang Pree,
Bernhard Rumpe
Abstract:
This paper presents an e-commerce framework called WebShop, which was developed by the authors for the purpose of demonstrating the use of UML and the UML-F in the domain of Web applications. Thus, the WebShop is not regarded as a full-fledged system out of which real Web stores can be derived. For example, the framework in the presented version does not encounter security features. However, it pr…
▽ More
This paper presents an e-commerce framework called WebShop, which was developed by the authors for the purpose of demonstrating the use of UML and the UML-F in the domain of Web applications. Thus, the WebShop is not regarded as a full-fledged system out of which real Web stores can be derived. For example, the framework in the presented version does not encounter security features. However, it presents the most important variation points related to online catalogs. The UML-F Web site http://www.UML-F.net provides the Java source files and some sample adaptations of WebShop.
△ Less
Submitted 22 September, 2014;
originally announced September 2014.
-
Factorization-based Lossless Compression of Inverted Indices
Authors:
George Beskales,
Marcus Fontoura,
Maxim Gurevich,
Sergei Vassilvitskii,
Vanja Josifovski
Abstract:
Many large-scale Web applications that require ranked top-k retrieval such as Web search and online advertising are implemented using inverted indices. An inverted index represents a sparse term-document matrix, where non-zero elements indicate the strength of term-document association. In this work, we present an approach for lossless compression of inverted indices. Our approach maps terms in a…
▽ More
Many large-scale Web applications that require ranked top-k retrieval such as Web search and online advertising are implemented using inverted indices. An inverted index represents a sparse term-document matrix, where non-zero elements indicate the strength of term-document association. In this work, we present an approach for lossless compression of inverted indices. Our approach maps terms in a document corpus to a new term space in order to reduce the number of non-zero elements in the term-document matrix, resulting in a more compact inverted index. We formulate the problem of selecting a new term space that minimizes the resulting index size as a matrix factorization problem, and prove that finding the optimal factorization is an NP-hard problem. We develop a greedy algorithm for finding an approximate solution. A side effect of our approach is increasing the number of terms in the index, which may negatively affect query evaluation performance. To eliminate such effect, we develop a methodology for modifying query evaluation algorithms by exploiting specific properties of our compression approach. Our experimental evaluation demonstrates that our approach achieves an index size reduction of 20%, while maintaining the same query response times. Higher compression ratios up to 35% are achievable, however at the cost of slightly longer query response times. Furthermore, combining our approach with other lossless compression techniques, namely variable-byte encoding, leads to index size reduction of up to 50%.
△ Less
Submitted 9 August, 2011;
originally announced August 2011.