David Hulse

Learn More
SUMMARY Since the 1980s, various groups have been constructing systems that support a concept known as orthogonal persistence. These systems support objects whose lifetime is independent of the context in which they were created. The benefits of such systems include greater run-time efficiency, strong semantic guarantees about the existence of data and its(More)
Persistent stores have been implemented using a variety of storage technologies including shadow paging, log-based and log-structured approaches. Here we compare these approaches and advocate the use of log-structuring. The advantages of such a technique include efficient support for large (64 bit) address spaces, scalability and fast snapshot processing.(More)
O PERATING systems manage a computer's resources, maintain its permanent data, and provide an efficient environment for the execution of user programs. Users expect an operating system to provide a certain level of resilience to failure and facilities for recovering from failure with minimal interruption of computations and minimal loss of data. In(More)
Over the last 15 years a number of persistent language systems have been produced whose implementation relies on the persistence mechanisms provided by an underlying operating system. We have produced an operating system called Grasshopper expressly designed to support orthogonally persistent systems. In this paper we demonstrate how the mechanisms provided(More)
Chronic exertional compartment syndrome (CECS) was first described in 1956, 1 but little research has been performed since then to confirm the pathological physiology. An assumption is made that elevated subfascial or intramuscular pressure during exercise causes tissue hypoxia and subsequent ischaemic pain due to decreased blood flow. 2 To date, no(More)
Monolithic-and micro-kernel-based operating systems such as Unix have failed to provide application developers with sufficient flexibility. They provide a host of inefficient and often inappropriate abstractions that prevent applications from accessing the hardware to exploit efficiency gains. These problems motivated the Grasshopper project to build a new(More)
[1] Water scarcity may appear to be a simple concept, but it can be difficult to apply to complex natural-human systems. While aggregate scarcity indices are straightforward to compute, they do not adequately represent the spatial and temporal variations in water scarcity that arise from complex systems interactions. The uncertain effects of future climate(More)
For persistent systems to be useful they must provide efficient snapshot and recovery mechanisms. This paper describes the design of the persistence architecture of the Grasshopper operating system which addresses these requirements. It shows how the major components of the architecture interact with one another and how it can be used to provide fast(More)