Quick Q&A
| ||||||||||
This is the project document for the Memory Pool System Project. This document will be updated as the project develops to provide an index to all the project materials, and an overview of the project, its status, and so on. It's the starting point for anyone interested in the project, and a document to read to check on the project's progress.
The readership of this document is anyone interested in the project.
This document is not confidential.
This is a project to develop the Memory Pool System (MPS).
The Memory Pool System is a very general, adaptable, flexible, reliable, and efficient memory management system. It permits the flexible combination of memory management techniques, supporting manual and automatic memory management, in-line allocation, finalization, weakness, and multiple concurrent co-operating incremental generational garbage collections. It also includes a library of memory pool classes implementing specialized memory management policies.
For a more detailed overview of the MPS, see "The Memory Pool System: Thirty person-years of memory management development goes Open Source" [RB 2002-01-30].
For an introduction to memory management in general, see the Memory Management Reference Beginner's Guide, which also has links to numerous other resources.
The latest open-source release of the software is freely downloadable from release/1.106.2/. There is also a full list of releases.
This section was updated on 2007-07-06.
2001: We obtained the remaining project sources and documents from Global Graphics and imported them into our repository. We knocked as many as possible into shape and prepared them for publication.
2002: The MPS was made open source at the 2002 International Symposium on Memory Management. You can download the sources from the release directory or browse them in place.
2003-2006: Further commercial support and development.
2007: The MPS is in use by various proprietary and open-source projects. We recently (2007-04-01) gave a tutorial talk on using the MPS, and the techniques it uses, at ILC07 -- the International Lisp Conference 2007.
July 2007: Expanding the rank system. Semantics, programming patterns, and performance of finalization and weakness are all being worked on.
Background task: We are making the MPS give more feedback about its state and current activities.
Background task: We are supporting and developing the MPS for our current clients, and improving the introductory documentation.
Summer 2007: likely topics include changes / additions to weak reference semantics, and improving collection scheduling.
Planned for 2007: integrate the MPS with a lisp-like language, and make this integration process easier for new MPS users. Update (July 2007): some initial investigation complete, but further work is on hold during (unrelated) work on finalization and weakness.
master/ |
Master product sources: code, designs, manuals, etc. |
branch/ |
Development branches, both predating our acquisition of the MPS (and in particular the imported trunk) and postdating that acquisition. Most of these documents are confidential and not available to the public. |
doc/ |
Project documents: reports, meeting notes, etc. |
version/ |
Product version source branches (branched from master): 1.100 .. 1.108. |
release/ |
Product releases (built from version sources): 1.100.0 .. 1.108.0 (latest release). |
issue/ |
Issues with the project and its products. |
changes/ |
Changes made to the product. These documents are not available to the public. |
procedure/ |
Procedures governing the project: for the one-off import of RCS hierarchy into Ravenbrook's perforce repository , etc. |
import/ |
Material imported from outside the project. Some of these documents are confidential and not available to the public. |
tool/ |
Tools for managing the project (but not for development, building, or testing). |
mail/ |
Mail archives of the MM group at Harlequin (as was). These documents are confidential and not available to the public. |
If you have questions about the project please write to mps-questions@ravenbrook.com
You can also join the mps-discussion mailing list if you are interested in project progress, or if you're adapting or extending the MPS. The goals of the list are:
To join, send a message with the word "subscribe" in the body to mps-discussion-request@ravenbrook.com or send the word "help" for general information.
Please note that the mailing list will be archived and the archive may be published.
| [RB 2002-01-30] | "The Memory Pool System: Thirty person-years of memory management development goes Open Source"; Richard Brooksby; Ravenbrook Limited; 2002-01-30. |
| 2001-08-13 | NDL | Created. |
| 2001-10-05 | NDL | Added MM group mail archives, 1994-2000. |
| 2001-10-08 | NDL | Links to MMDoc and MMInfo. |
| 2001-10-31 | NDL | Added master/. |
| 2002-06-18 | RB | Added doc/. |
| 2002-06-18 | RB | Substantial rewrite. Claimed authorship. Added version 1.100 and release 1.100.0. |
| 2002-06-20 | NDL | Updated copyright / license to match the rest of the open-source distribution. Added glossary link for "incremental". |
| 2002-06-21 | NB | Added release 1.100.1. |
| 2004-12-13 | RHSK | Starting MPS Project Review: add link. Changed Quick Q&A. Other updates. |
| 2006-01-19 | RHSK | Update for start of 2006. |
| 2006-04-13 | RHSK | Update with release/1.106.2. |
| 2006-12-13 | RHSK | Version 1.107. |
| 2007-02-21 | RHSK | Update project status. |
| 2007-07-06 | RHSK | Version 1.108 and release 1.108.0. |
This document is copyright © 2001, 2002, 2004, 2006-2007 Ravenbrook Limited. All rights reserved. This is an open source license. Contact Ravenbrook for commercial licensing options.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement, are disclaimed. In no event shall the copyright holders and contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
$Id: //info.ravenbrook.com/project/mps/index.html#25 $