A Performance Study of BDD-Based Model Checking
FMCAD '98 Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
Compressed caching and modern virtual memory simulation
Compressed caching and modern virtual memory simulation
Adaptive Compressed Caching: Design and Implementation
SBAC-PAD '03 Proceedings of the 15th Symposium on Computer Architecture and High Performance Computing
Adaptive Cache Compression for High-Performance Processors
Proceedings of the 31st annual international symposium on Computer architecture
The case for compressed caching in virtual memory systems
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Improving application performance through swap compression
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
CRAMES: compressed RAM for embedded systems
CODES+ISSS '05 Proceedings of the 3rd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Using Lin-Kernighan algorithm for look-up table compression to improve code density
GLSVLSI '06 Proceedings of the 16th ACM Great Lakes symposium on VLSI
High-performance operating system controlled memory compression
Proceedings of the 43rd annual Design Automation Conference
Improving disk bandwidth-bound applications through main memory compression
MEDEA '07 Proceedings of the 2007 workshop on MEmory performance: DEaling with Applications, systems and architecture
MEMMU: Memory expansion for MMU-less embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
PSMalloc: content based memory management for MPI applications
Proceedings of the 10th workshop on MEmory performance: DEaling with Applications, systems and architecture
Online memory compression for embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
High-performance operating system controlled online memory compression
ACM Transactions on Embedded Computing Systems (TECS)
Difference engine: harnessing memory redundancy in virtual machines
Communications of the ACM
Difference engine: harnessing memory redundancy in virtual machines
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Performance of SAP ERP with memory virtualization using IBM active memory expansion as an example
Proceedings of the 5th international workshop on Virtualization technologies in distributed computing
VSwapper: a memory swapper for virtualized environments
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Migratory compression: coarse-grained data reordering to improve compressibility
FAST'14 Proceedings of the 12th USENIX conference on File and Storage Technologies
Hi-index | 0.04 |
Applications that use large data sets frequently exhibit poor performance because the size of their working set exceeds the real memory, causing excess page faults, and ultimately exhibit thrashing behavior. This paper describes a memory compression solution to this problem that adapts the allocation of real memory between uncompressed and compressed pages and also manages fragmentation 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.