next up previous contents
Next: Opening the temporary Up: How to replace Previous: Object oriented methods

Internal data storage

The ADI code creates its own sophisticated scheme for data storage, caching and memory management. It is this part of the library which will be the hardest to support, and thus the most important part to replace.

This proposal uses the Starlink HDS (Hierarchical Data Storage) library to mimic these functions of ADI, as HDS includes support for all three types of operation.

Stated simply, each ASTERIX application opens a temporary HDS container file at the start of execution. The ADF library uses this file to store internal objected during execution of the application. Upon completion the HDS file is unmapped and unlinked before closing. Unless large volumes of data are to be stored in this temporary file, it is expected that all HDS operations will be performed in memory, and thus add little in the way of processing overheads to any ASTERIX application.

NB. Currently the temporary file is created in $PWD, though it is expected this will be moved to $ADAM_USER in the future. Also, the appropriate code that performs the unmapping, unlinking and closing of both temporary storage items and the file itself has been commented out - to aid in development and de-bugging.





Asterix
Tue Jun 23 11:39:42 BST 1998