Title: Persistent heap Management library

Abstract

PERM is a C library for persistent heap management and is intended for use with a dynamic-memory allocator (e.g. malloc, free). The PERM memory allocator replaces the standard C dynamic memory allocation functions with compatible versions that provide persistent memory to application programs. Memory allocated with the PERM allocatory will persist between program invocations after a call to a checkpoint function. This function essentially saves the state of the heap and registered global variables to a file which may reside in flash memory or other node local storage. A few other functions are also provided by the library to manage checkpoint files. Global variables in an application can be marked persistent and be included in a checkpoint by using a compiler attribute defined as PERM. The PERM checkpoint methof is not dependent on the programming model ans works with distributed memory or shared memory programs.

@misc{osti_1306155,
title = {Persistent heap Management library, Version 00},
author = {},
abstractNote = {PERM is a C library for persistent heap management and is intended for use with a dynamic-memory allocator (e.g. malloc, free). The PERM memory allocator replaces the standard C dynamic memory allocation functions with compatible versions that provide persistent memory to application programs. Memory allocated with the PERM allocatory will persist between program invocations after a call to a checkpoint function. This function essentially saves the state of the heap and registered global variables to a file which may reside in flash memory or other node local storage. A few other functions are also provided by the library to manage checkpoint files. Global variables in an application can be marked persistent and be included in a checkpoint by using a compiler attribute defined as PERM. The PERM checkpoint methof is not dependent on the programming model ans works with distributed memory or shared memory programs.},
url = {https://www.osti.gov//servlets/purl/1306155},
doi = {},
year = 2012,
month = 1,
note =
}

The successful establishment and management of a library requires that there be a clearly defined operating philosophy. The following tasks are discussed in this report: defining the audience of the library, selecting high-quality software, integrating the software into the library, deleting absolete software, supplying the library in a readily accessible form, providing documentation, maintaining the library, publicizing the library, consulting on the use of the library, and monitoring use of the library. (RWR)

The use of the heap for memory management provides the FORTH programmer with a versatile tool. Its use speeds program development at the conceptual level by allowing the program designer to consider dynamic arrays, garbage collection, and overlays; and at the implementation stage by providing a framework for easy manipulation of such data structures. An examination of the high-level codes leads naturally to examples of these and other techniques of dynamic data management.

This report documents the idiosyncrasies of the Tektronix PLOT 10 Terminal Control System (TCS) level 3.3 software as it currently exists on the Oak Ridge National Laboratory Fusion Energy Division DECsystem-10 computer. It pertains to the graphics software library called TCSTEK, which may be used to convert TCS subroutine calls into display images on the screens of Tektronix 4000 series storage tube terminals. Fully described here are several user-oriented enhancements and system efficiency modifications to the vendor-supplied TCS software library. It is intended that this report serve as a reference for future TCS updates so that continuity between releases ofmore » TCS PLOT 10 software may be maintained. 1 figure.« less

A library of mathematical and statistical routines maintained by the Laboratory's Mathematics and Statistics Section is described, and instructions for users of the LLL Computer Facility to obtain the source programs in this library are given. Brief descriptions of the routines are included.

To initiate an order for this software, request consultation services, or receive further information, fill out the request form below. You may also reach us by email at: .

OSTI staff will begin to process an order for scientific and technical software once the payment and signed site license agreement are received. If the forms are not in order, OSTI will contact you. No further action will be taken until all required information and/or payment is received. Orders are usually processed within three to five business days.