Adaptive Main Memory Compression
Title: Adaptive Main Memory Compression
Irina Chihaia Tuduce and Thomas Gross
Applications that use large data sets frequently exhibit poor performance because the size of their working set exceeds the available physical memory. As a result, these applications suffer from excess page faults and ultimately exhibit thrashing behavior. For some applications, compression offers a way to reduce the number of page faults that must be serviced from the disk. We describe here a system that can be implemented with a small number of kernel changes.
The key idea to exploit the benefits of memory compression is to adapt the allocation of real (physical) memory between uncompressed and compressed pages without user involvement. The system manages its resources dynamically on the basis of the varying demands of each application and also on the situational requirements that are data dependent. The technique used to localize page fragments in the compressed area allows the system to reclaim or add space easily if it is advisable to shrink or grow the size of the compressed area.
The design is implemented in Linux, runs on both 32-bit and 64-bit architectures, and has been demonstrated to work in practice under complex workload conditions and memory pressure. The benefits from our approach depend on the relationship between the size of the compressed area, the application’s compression ratio, and the access pattern of the application. For a range of benchmarks and applications, the system shows an increase in performance by a factor of 1.3 to 55.
Thomas R. Gross is a Professor of Computer Science at ETH Zurich, Switzerland. He is the head of the Computer Systems Institute, from 1999-2004 he was the deputy director of the NCCR on on “Mobile Information and Communication Systems”, a research center funded by the Swiss National Science Foundation. He is also an Adjunct Professor in the School of Computer Science at Carnegie Mellon University.
Thomas Gross joined CMU in 1984 after receiving a Ph.D. in Electrical Engineering from Stanford University. In 2000, he became a Full Professor at ETH Zurich. He is interested in tools, techniques, and abstractions for software construction and has worked on many aspects of the design and implementation of programs. To add some realism to his research, he has focussed on compilers for uni-processors and parallel systems and has contributed to many areas of compilation (code generation, optimization, debugging, partitioning of computations, data parallelism and task parallelism). Compilers are also interesting systems that illustrate the use of many concepts to structure programs (frameworks, patterns, components). Compilers require a good cost-model of the target environment (e.g., to make space-time tradeoffs) but recent systems have become so complex that simple models no longer suffice. In his current research, Thomas Gross and his colleagues investigate network- and system-aware programs — i.e. programs that can adjust their resource demands in response to resource availability.
In addition to working on compilers, Thomas Gross has been involved in several projects that straddle the boundary between applications and compilers. And since many programs are eventually executed on real computers, He has also participated in the past in the development of several machines: the Stanford MIPS processor, the Warp systolic array, and the iWarp parallel systems. His current work in computer systems concentrates on networks.
Date: 2006-May-03 Time: 10:00:00 Room: Sala 905 (Sala Omega do POSI)
For more information:
Workshop “Metabolism and mathematical models: Two for a tango” – 2nd Edition
Title: Workshop Metabolism and mathematical models: Two for a tango – 2nd Edition
Dates: October 25-26, 2022
Location: This workshop will be held in a virtual way
The topic of this workshop is metabolism in general, with a special focus, although not exclusive, on parasitology. Besides an exploration of the biological, biochemical and biomedical aspects, the workshop will also aim at presenting some of the mathematical modelling, algorithmic theory and software development that have become crucial to explore such aspects.
This workshop is being organised in the context of two projects, both with the Inria European Team Erable. One of the projects involves a partnership with the University of São Paulo (USP), in São Paulo, Brazil, more specifically the Institute of Mathematics and Statistics (IME) and the Institute of Biomedical Sciences – Inria Associated Team Capoeira – and the other involves the Inesc-ID/IST in Portugal, ETH in Zürich and EMBL in Heidelberg – H2020 Twinning Project Olissipo.
The workshop is open to all members of these two projects but also, importantly, to the community in general.
The program and more details are available here.