A Customisable Memory Management Framework

A Customisable Memory Management Framework

Author: International Computer Science Institute

Publisher:

Published: 1994

Total Pages: 20

ISBN-13:

DOWNLOAD EBOOK

Abstract: "Memory management is a critical issue for many large object-oriented applications, but in C++ only explicit memory reclamation through the delete operator is generally available. We analyse different possibilities for memory management in C++ and present a dynamic memory management framework which can be customised to the need of specific applications. The framework allows full integration and co-existence of different memory management techniques. The Customisable Memory Management (CMM) is based on a primary collector which exploits an evolution of Bartlett's mostly copying garbage collector. Specialised collectors can be built for separate memory heaps. A Heap class encapsulates the allocation strategy for each heap. We show how to emulate different garbage collection styles or user-specific memory management techniques. The CMM is implemented in C++ without any special support in the language or the compiler. The techniques used in the CMM are general enough to be applicable also to other languages."


Network and Parallel Computing

Network and Parallel Computing

Author: Chen Ding

Publisher: Springer

Published: 2010-09-10

Total Pages: 504

ISBN-13: 364215672X

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the IFIP International Conference, NPC 2010, held in Zhengzhou, China, in September 2010. The 39 papers presented were carefully selected from 89 submissions. The papers are organized in topical sections on Parallelization and Optimization, Parallel Algorithms, Network, CPU and Multicore, Cloud and Grid Infrastructure, Network on Chip.


A Static Analysis for Automatic Individual Object Reclamation in Java

A Static Analysis for Automatic Individual Object Reclamation in Java

Author:

Publisher:

Published: 2005

Total Pages:

ISBN-13:

DOWNLOAD EBOOK

Automatic garbage collection has proven software engineering benefits: fewer memory-related errors and less programmer effort. However, to attain performance competitive with explicit memory management, garbage collection needs much more memory. This key tradeoff exists because the collector only reclaims memory when it is invoked: invoking it more frequently reclaims memory quickly, but incurs a significant cost, while invoking it less frequently fills memory with dead objects. This work comes closer to the best of both worlds by adding novel runtime and compiler support for compiler-inserted frees to a garbage-collected system. The compiler analysis automatically identifies when objects become unreachable and inserts calls to free. The analysis combines a simple interprocedural pointer analysis with liveness information. The free() implementation depends on the allocator, and we demonstrate variations for \emph{free-list} and \emph{bump-pointer} allocators. Explicitly freeing objects reduces memory requirements by reclaiming memory quickly, reduces garbage collection load, and improves performance, often substantially for mark-sweep collectors. Compared to the baseline, free-me cuts total time by 22\% on average, collector time by 50\% to 70\% on average, and allows programs to run in 17\% less memory on average. Our approach differs from stack and region allocation in two crucial ways. First, it frees objects incrementally exactly when they become unreachable, instead of based on program scope. Second, our system does not require allocation-site lifetime homogeneity, and thus can free objects on some program paths and not on others. Our system also handles common design patterns, such as freeing inside loops and objects created by factory methods.


Logic Programming

Logic Programming

Author: Verónica Dahl

Publisher: Springer

Published: 2007-08-24

Total Pages: 482

ISBN-13: 3540746102

DOWNLOAD EBOOK

This book contains the refereed proceedings of the 23rd International Conference on Logic Programming, ICLP 2007, held in Porto, Portugal. The 22 revised full papers together with two invited talks, 15 poster presentations, and the abstracts of five doctoral consortium articles cover all issues of current research in logic programming, including theory, functional and constraint logic programming, program analysis, answer-set programming, semantics, and applications.


Dynamic Storage Reclamation in C++

Dynamic Storage Reclamation in C++

Author: Daniel Edelson

Publisher:

Published: 1990

Total Pages: 166

ISBN-13:

DOWNLOAD EBOOK

It remains within the philosophy of its implementation language, C++, because code fragments that do not use the collector are not affected in any way. Any number of collectors can coexist concurrently in an application on disjoint data structures, making it an appropriate component of an object-oriented system. This system adds an important feature to C++ that increases productivity and makes the language more convenient. It makes dynamic memory management more efficient than manual reclamation for an important class of problems. It serves as a platform for research into reclamation techniques, particularly virtual memory issues, and, it provides an appropriate organization for automatic dynamic memory reclamation in object-oriented imperative programming languages."