Regular Paper
Memory Mangement in the PoSSo Solver

https://doi.org/10.1006/jsco.1996.0013Get rights and content
Under an Elsevier user license
open archive

Abstract

A uniform general purpose garbage collector may not always provide optimal performance. Sometimes an algorithm exhibits a predictable pattern of memory usage that could be exploited, delaying as much as possible the intervention of the collector. This requires a collector whose strategy can be customized to the need of an algorithm. We present a dynamic memory management framework which allows such customization, while preserving the convenience of automatic collection in the normal case. The Customizable Memory Management (CMM) organizes memory in multiple heaps, each one encapsulating a particular storage discipline. The default heap for collectable objects uses the technique of mostly copying garbage collection, providing good performance and memory compaction. Customization of the collector is achieved through object orientation by specialising the collector methods for each heap class. We describe how the CMM has been exploited in the implementation of the Buchberger algorithm, by using a special heap for temporary objects created during polynomial reduction. The solution drastically reduces the overall cost of memory allocation in the algorithm.

Cited by (0)

The research described here has been funded in part by the ESPIRIT Basic Research Action, project PoSSo

Part of this work has been done while the first author was visiting the International Computer Science Institute, Berkeley, California

f2

E-mail: {attardi,tito}@di.unipi.it