Lightweight support for fine-grained persistence on stock hardware

Persistent programming languages combine the features of database systems and programming languages to allow the seamless manipulation of both short- and long-term data, thus relieving programmers of the burden of distinguishing between data that is transient (temporarily allocated in main memory) o...

Full description

Bibliographic Details
Main Author: Hosking, Antony Lloyd
Language:ENG
Published: ScholarWorks@UMass Amherst 1995
Subjects:
Online Access:https://scholarworks.umass.edu/dissertations/AAI9524711
id ndltd-UMASS-oai-scholarworks.umass.edu-dissertations-7275
record_format oai_dc
spelling ndltd-UMASS-oai-scholarworks.umass.edu-dissertations-72752020-12-02T14:28:51Z Lightweight support for fine-grained persistence on stock hardware Hosking, Antony Lloyd Persistent programming languages combine the features of database systems and programming languages to allow the seamless manipulation of both short- and long-term data, thus relieving programmers of the burden of distinguishing between data that is transient (temporarily allocated in main memory) or persistent (residing permanently on disk). Secondary storage concerns, including the representation and management of persistent data, are directly handled by the programming language implementation, rather than the programmer. Moreover, unlike traditional database systems, persistent programming languages extend to persistent data all the data structuring features supported by the language, not just those imposed by the underlying database system. Prototype persistent languages have until now focused more on functionality than performance. In contrast, this dissertation addresses performance issues in the language implementation. It presents an architecture and framework for persistence which allows programming language implementation techniques to be brought to bear on the problem of performance. Building on this framework, a prototype persistent programming language is implemented, and submitted to performance evaluation to obtain direct comparisons of the performance of several implementation alternatives for different aspects of persistence. The results of these performance evaluations, which use established benchmarks, indicate that persistence can be implemented on general-purpose machines without imposing significant overhead above and beyond the fundamental costs of data transfer to and from secondary storage. Moreover, the results show that software-mediated implementation techniques can be a competitive alternative to techniques that rely on low-level support from the operating system and hardware. 1995-01-01T08:00:00Z text https://scholarworks.umass.edu/dissertations/AAI9524711 Doctoral Dissertations Available from Proquest ENG ScholarWorks@UMass Amherst Computer science
collection NDLTD
language ENG
sources NDLTD
topic Computer science
spellingShingle Computer science
Hosking, Antony Lloyd
Lightweight support for fine-grained persistence on stock hardware
description Persistent programming languages combine the features of database systems and programming languages to allow the seamless manipulation of both short- and long-term data, thus relieving programmers of the burden of distinguishing between data that is transient (temporarily allocated in main memory) or persistent (residing permanently on disk). Secondary storage concerns, including the representation and management of persistent data, are directly handled by the programming language implementation, rather than the programmer. Moreover, unlike traditional database systems, persistent programming languages extend to persistent data all the data structuring features supported by the language, not just those imposed by the underlying database system. Prototype persistent languages have until now focused more on functionality than performance. In contrast, this dissertation addresses performance issues in the language implementation. It presents an architecture and framework for persistence which allows programming language implementation techniques to be brought to bear on the problem of performance. Building on this framework, a prototype persistent programming language is implemented, and submitted to performance evaluation to obtain direct comparisons of the performance of several implementation alternatives for different aspects of persistence. The results of these performance evaluations, which use established benchmarks, indicate that persistence can be implemented on general-purpose machines without imposing significant overhead above and beyond the fundamental costs of data transfer to and from secondary storage. Moreover, the results show that software-mediated implementation techniques can be a competitive alternative to techniques that rely on low-level support from the operating system and hardware.
author Hosking, Antony Lloyd
author_facet Hosking, Antony Lloyd
author_sort Hosking, Antony Lloyd
title Lightweight support for fine-grained persistence on stock hardware
title_short Lightweight support for fine-grained persistence on stock hardware
title_full Lightweight support for fine-grained persistence on stock hardware
title_fullStr Lightweight support for fine-grained persistence on stock hardware
title_full_unstemmed Lightweight support for fine-grained persistence on stock hardware
title_sort lightweight support for fine-grained persistence on stock hardware
publisher ScholarWorks@UMass Amherst
publishDate 1995
url https://scholarworks.umass.edu/dissertations/AAI9524711
work_keys_str_mv AT hoskingantonylloyd lightweightsupportforfinegrainedpersistenceonstockhardware
_version_ 1719363959492968448