24 citations found. Retrieving documents...
Brown, A. L. "Persistent Object Stores", Ph.D Thesis, 1988. 12

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Causality Considerations in Distributed.. - Vaughan, Dearle.. (1994)   (1 citation)  (Correct)

....programs which reside and execute within their own containers. Managers are responsible for: provision of the pages of data stored in the container, responding to access faults, receiving data removed from physical memory by the kernel, implementation of a stability algorithm for the container [3, 14, 18, 22, 26], i.e. they maintain the integrity and resilience of data, and maintenance of coherence in the case of distributed access to the container [10, 15, 21] Managers are responsible for maintaining a resilient copy of the data in a container on stable media. It is only within a manager that the ....

Brown, A. L. "Persistent Object Stores", Ph.D Thesis, 1988. 12


Grasshopper: An orthogonally persistent operating system - Dearle, di Bona, Farrow, .. (1994)   (44 citations)  (Correct)

....for: provision of the pages of data stored in the container, responding to access faults, and receiving data removed from physical memory by the kernel. In addition, Grasshopper managers have the following responsibilities: implementation of a stability algorithm for the container [5, 22,27,35, 41], i.e. they maintain the integrity and resilience of data, and maintenance of coherence in the case of distributed access to the container [15, 25, 31] A manager is invoked whenever the kernel detects a memory access fault to data stored in the container it manages. Making data accessible in a ....

....8. Persistence Containers and their associated managers provide the abstraction of persistent data. Managers are responsible for maintaining a consistent and recoverable stable copy of the data represented by the container. As part of its interface, each manager must provide a stabilise operation [5, 35]. Stabilisation involves creating a consistent copy of the data on a stable medium. Managers alone are not able to maintain a system wide consistent state. For example, consider the case where two containers, A and B, both provide data which is used and modified by a single program. The manager ....

Brown, A. L. "Persistent Object Stores", Ph.D thesis, Computational Science, Universiy of St. Andrews, 1988.


An Examination of Operating System Support for.. - Dearle.. (1992)   (12 citations)  (Correct)

....identically as persistent objects. This leads to a requirement that objects must be addressed uniformly and moved between long and short term storage in a manner that is transparent to the application programmer. Several approaches have been taken to solve this problem. In Brown s stable store [15] two address spaces are managed: a local process address space in which objects may be directly accessed by machine instructions and a software supported persistent address space; objects are transparently moved from one to the other on demand. This requires software address translation between ....

....of these two problems may be addressed using memory mapping techniques as discussed in the following section. 2.2. Memory mapping techniques 2.2. 1 Using SunOS memory mapped files Support for persistence in the Napier88 system [28] has, to date, been provided using two different techniques [15, 16]. The first uses a much simplified CPOMS approach, the other uses SunOS memory mapped files. We will discuss this second implementation here. The Stable Store which implements a resilient persistent address space as discussed in section 3.2.2 is maintained in a single, fixed length Unix file as ....

[Article contains additional citation context not shown here]

Brown, A. L. "Persistent Object Stores", Universities of St. Andrews and Glasgow, Persistent Programming Report 71, 1989.


Grasshopper: An orthogonally persistent operating system - Dearle, di Bona, Farrow, .. (1994)   (44 citations)  (Correct)

.... was used for PS algol [5] and is the basis of the Monads architecture [34] Providing that control can be retained over the interregion references it is possible to garbage collect and checkpoint regions (or at least limited sets of regions) independently, alleviating problems (i) and (iii) above [6, 33]. In addition, the partitioning provides a convenient mechanism for the generation of unique object names [14] The major problem that remains with this approach is the issue of protection. It is necessary to restrict the set of addresses which can be generated by a process. One possiblity is to ....

....for: provision of the pages of data stored in the container, responding to access faults, and receiving data removed from physical memory by the kernel. In addition, Grasshopper managers have the following responsibilities: implementation of a stability algorithm for the container [6, 21, 26, 33, 41], i.e. they maintain the integrity and resilience of data, and maintenance of coherence in the case of distributed access to the container [15, 24, 30] A manager is invoked whenever the kernel detects a memory access fault to data stored in the container it manages. Making data accessible in a ....

[Article contains additional citation context not shown here]

Brown, A. L. "Persistent Object Stores", Ph.D Thesis, 1988.


Bounded Parallel Garbage Collection: Implementation.. - Vaughan..   (Correct)

....delayed until needed, such as the first time the pointer is dereferenced. A spectrum of options between these extremes is often found, and many systems employ a hybrid of eager and lazy swizzling, often eagerly swizzling pointers that are expected to be soon needed (such as those in stack frames. [Bro88] The existence of the CTT clearly impacts upon the garbage collection algorithm. It does this in a number of ways. The contents of the CTT are clearly roots of reachability and thus any object referenced by the CTT must be retained. During operation of the system, objects will be fetched into the ....

Brown, A. L. (1988). Persistent Object Stores. PhD Thesis. Universiy of St. Andrews. PPRR-71.


RT1R1/2: Report on the efficacy of Persistent Operating.. - Hulse, Dearle   (Correct)

....identically as persistent objects. This leads to a requirement that objects must be addressed uniformly and moved between long and short term storage in a manner that is transparent to the application programmer. Several approaches have been taken to solve this problem. In Brown s stable store [7] two address spaces are managed: a local process address space in which objects may be directly accessed by machine instructions and a software supported persistent address space; objects are transparently moved from one to the other on demand. This requires software address translation between ....

....problems may be addressed using memorymapping techniques as discussed in the following section. RT1R1 2 4 23 09 98 1.1.2# Memory mapping techniques 1.1.2. 1# Using SunOS memory mapped files Support for persistence in the Napier88 system [32] has, to date, been provided using several techniques [7]. The first uses a much simplified CPOMS approach, the other uses SunOS memory mapped files. We will discuss this second implementation here. The Stable Store which implements a resilient persistent address space as discussed in section 3.2.2 is maintained in a single, fixed length Unix file as ....

[Article contains additional citation context not shown here]

A.L. Brown, "Persistent Object Stores", Ph.D, University of St. Andrews, http://wwwfide. dcs.st-and.ac.uk/Info/Papers4.html#thesis.ab, 1988.


Operating System Support for Persistent Systems: Past, Present .. - Dearle, Hulse (2000)   (5 citations)  (Correct)

....long and short term storage in a manner that is transparent to the application programmer. The engineering solutions that have evolved to satisfy this requirement may be partitioned into two categories: 1. Those that utilise software address translation as typified by Brown s stable store [10], and 2. Those that utilise hardware address translation. In Brown s stable store [10] which is typical of systems that utilise software address translation, two address spaces are managed: a local process address space and a persistent address space. The process address space contains objects ....

....The engineering solutions that have evolved to satisfy this requirement may be partitioned into two categories: 1. Those that utilise software address translation as typified by Brown s stable store [10] and 2. Those that utilise hardware address translation. In Brown s stable store [10], which is typical of systems that utilise software address translation, two address spaces are managed: a local process address space and a persistent address space. The process address space contains objects that may be directly accessed by machine instructions. Long lived objects are stored in ....

[Article contains additional citation context not shown here]

A.L. Brown, "Persistent Object Stores", Ph.D, University of St. Andrews, http://www-fide.dcs.stand. ac.uk/Info/Papers4.html#thesis.ab, 1988.


The Napier88 Persistent Programming Language and.. - Morrison, Connor.. (1999)   (2 citations)  (Correct)

....being supplied by the persistent environment; rather the design attempted to separate the concepts required for persistent programming and to provide a powerful composition mechanism that allowed these concepts to be freely combined. The Napier88 system is designed as a layered architecture [34] as shown in Figure 1. All the architectural layers are virtual in that, in any implementation, they may be implemented separately or together as efficiency dictates. Thus, they are definitional rather than concrete. Stable Heap of Persistent Objects Stable Storage Non Volatile Storage ....

....the protection of data, controlled system evolution, concurrency control and transactions, and programming within the persistent environment, including hyper programming. The justification of the persistence design decisions is given in [53] and the advantages of the abstraction outlined in [4, 11, 15, 18, 34, 54 63]. 2 Controlling Complexity 2.1 Language Design McCarthy [64] van Wijngaarden [65] Strachey [66] and Tennent [67] all observed that expressive power in programming languages could be gained by separating the underlying concepts and allowing them to be combined by powerful composition rules. ....

Brown AL. Persistent Object Stores. Ph.D. thesis, University of St Andrews, 1989


Measuring the Heap Allocation of Napier88 - Printezis, Cutts (1996)   (Correct)

....holds in a Napier88 context. Therefore, it was decided that a series of measurements would be performed to provide experimental evidence on whether a generational scheme would be beneficial for Napier88 or not. 1. 1 The Napier88 Heap Collector The Napier88 GC is a mark and compact collector [5, 6], adopted from an algorithm proposed by Morris [8] When the heap is full, and there is not enough space for the next allocation, the operation of the system is halted and the GC is activated. It works in the following four phases: ffl Marking phase Marks all the live objects and any objects ....

....at address addr and of size size. Even though 1 can occur anytime during run time, 2, 4, and 6 can only occur during a garbage collection. Using a 16MB heap, typically only a few garbage 4 Keeping in mind that Napier88 allocates new transient objects and caches stable objects in the same heap [5], the time the GC takes to deal with this heap is longer than in a typical non persistent system, since some cached stable objects might need to be flushed back to the stable store, operation which typically requires an I O operation. 5 Flushing an object denotes, in this case, its de allocation ....

[Article contains additional citation context not shown here]

A. L. Brown. Persistent Object Stores. PhD thesis, University of St Andrews, Scotland, October 1989.


A Remote Execution Mechanism For Distributed.. - Dearle, Rosenberg.. (1991)   (4 citations)  (Correct)

.... failure, it can always return to a consistent state [lam81] This may be implemented either by a checkpointing mechanism [lor77] or by a low level transaction facility [HR83] Several stable stores have been designed and constructed and are being used to support experimental persistent languages [bro89, mos89, ros91]. In this paper we consider the issue of distribution by examining the motivation for distributed stable stores. We then give a taxonomy of distributed persistent store mechanisms and two major models of distributed persistent systems are examined in detail. This is followed by a description of ....

Brown, A.L. "Persistent Object Stores", Ph.D. thesis, Dept. of Computational Science, University of St Andrews {available as Technical Report PPRR--71, Universities of Glasgow and St Andrews, Scotland 1989}.


Architectural and Operating System Support for Orthogonal.. - Rosenberg (1992)   (9 citations)  (Correct)

....the system, makes it more difficult to understand and means that 3 applications which do not fit into the relational model cannot be implemented without resorting to an external file system. In many persistent systems persistence is determined by reachability from some form of persistent root [13, 15, 19]. Thus all persistent objects can be found by computing the transitive closure of that root. Other systems have taken the approach of associating persistence with type [40, 50] in violation of the third principle (and the second as a consequence) This can result in dangling references, or at best ....

Brown, A. L. "Persistent Object Stores", Universities of St. Andrews and Glasgow, Persistent Programming Report 71, 1989.


An evaluation of the Ten15 persistent store - Tim Blanchard   (Correct)

....first two blocks. Thus there are two consistent copies of the new root and the update operation can continue. This algorithm differs from the mechanism for providing stable storage used in PS algol and Napier88. Integrity of an update of a root is preserved using a variation of Challis algorithm [8, 11]. The root is composed of two root blocks. Held within each root are date stamps which differentiate between the active store and the shadow store. Updates occur by assigning pages in the shadow store. When the time comes to commit the changes to non volatile store, the shadow root is overwritten ....

A.L. Brown, "Persistent Object Stores", Persistent Programming Research Report 71, Universities of Glasgow and St. Andrews Computer Science Departments (March 1989).


On the Integration of Concurrency, Distribution and Persistence - Munro (1993)   (4 citations)  (Correct)

.... space, giving the illusion of an indefinitely large store; provide stable references (needed to implement all recursive types [Hoa75] and to provide persistent block retention semantics for procedures [Joh71] provide a reliable store that offers recovery after various kinds of failure [Bro89]; provide mechanisms for concurrent use of data; and . provide a transactional mechanism to allow programs to voluntarily withdraw updates that they have grouped together and to control their release of revised information. In unifying the database and programming languages views of data, the ....

....not surprising since this is the level which interacts closely with the operating system for the provision of non volatile storage and stable virtual memory. Currently, there are three versions of the stable store. They can be summarised as follows : The original store implementation by Brown [Bro89] uses block reads and writes for the movement of data between the SVM and the non volatile storage and performs all the address translations. It employs a before look shadowing scheme to ensure that a consistent store state is recoverable after a soft crash. This is the most portable and the least ....

Brown, A.L. "Persistent Object Stores". Ph.D. Thesis, University of St Andrews (1989).


Orthogonally Persistent Object Systems - Atkinson, Morrison (1995)   (46 citations)  (Correct)

.... described extensively in the literature [Atkinson, 1978, Atkinson, et al. 1982, Atkinson et al. 1984, Atkinson et al. 1985, Atkinson and Morrison, 1985, Morrison et al. 1985, Morrison et al. 1986, Atkinson Buneman, 1987, Morrison et al. 1987, Atkinson et al. 1988b, Dearle Brown, 1988, Brown, 1989, Connor et al. 1990, Cooper, 1990a, Cooper, 1990b, Albano et al. 1993, Connor et al. 1993, Morrison et al. 1993, Morrison et al. 1995] They can be summarised as: improving programming productivity from simpler semantics; avoiding ad hoc arrangements for data translation and long term ....

Brown, A.L., 1989. Persistent Object Stores. Ph.D. Thesis, University of St Andrews.


Modelling Recovery in Database Systems - Scheuerl (1997)   (Correct)

....of after image shadow paging schemes are used in Napier88 [MBC 89, Mun93] CASPER [VKD 92, Vau94] and Gemstone [BOP 89] Shadow paging is also used along with logging in System R [GMB 82] 2.2.4. 2 Before Image Shadow Paging In contrast to the previous mechanism, before image shadow paging [Bro89, BR91] always writes pages back to their original blocks. The mechanism ensures that beforeimages of the updated pages are available for recovery in a log appended to the end of the database. The page map on disk is used to record the locations of these shadow pages. Before an updated page is first ....

Brown, A.L. "Persistent Object Stores". Ph.D. Thesis, University of St Andrews (1989).


The DataSafe Failure Recovery Mechanism in the Flask.. - Scheuerl, Connor.. (1996)   (3 citations)  (Correct)

....To use the Flask architecture effectively, the transaction workload must be matched to the recovery technique and indeed the flexibility of the system is designed to achieve just that. One possibility is to use the DataSafe as part of a hybrid system. For example, before image shadow paging [2, 3] maintains the original clustering of data and writes the recovery data sequentially. Since the data is paged there is no restriction in the amount of uncommitted data. However, analysis of beforeimage shadow paging, by the MaStA model, indicates a high cost for writing the page maps. But the page ....

Brown, A.L. "Persistent Object Stores". Ph.D. Thesis, University of St Andrews (1989).


The Design of a new Persistent Object Store for PJama - Printezis, Atkinson.. (1997)   (13 citations)  (Correct)

....able to identify efficiently all pointers inside an object to speed up the pointer swizzling un swizzling operations, the scanning phase of garbage collection, etc. Some language designers optimise the object format itself to facilitate this. For example, the pointers in all objects of Napier88 [8, 21] are grouped together at the beginning of the object and can be identified efficiently and uniformly. Unfortunately, this is not possible for PJama, since the object format used by the JVM does not guarantee this. To keep the implementation simple, uniform, and generic, a new scheme needs to be ....

....object store implemented for the persistent language Napier88 [9, 10, 21] from the University of St Andrews, Scotland, has a good model of reachability and hence makes disk garbage collection possible. However, the object format which it uses groups all pointers in the beginning of the objects [8, 9, 10]. If the application which uses it does not have a similar object format (which is the case for PJama) expensive translations are necessary when objects are copied to and from the store. Finally PJSL was influenced by the Mneme object store [22] As mentioned in Section 2.1, it has a similar ....

A. L. Brown. Persistent Object Stores. PhD thesis, University of St Andrews, Scotland, October 1989.


Delivering the Benefits of Persistence to System Construction and.. - Cutts (1992)   (15 citations)  (Correct)

....within the system is independent of their other properties. A single programming language mechanism handles the longevity of all data items from micro seconds to years. 3 The benefits of orthogonal persistence are well documented [ACC82,ABC 83, ABC 84,AM85,AMP86,AB87,MBC 87,Wai87,AM88,Dea88,Bro89,MBC 90,Con 91,Weg90] A major advantage of persistent systems is seen in the removal of complexity. An inherent difficulty associated with the programming of data intensive applications is the understanding of the mappings between the real world and the computational models. The programmer of an ....

....SL cVecOrStats profile tags specialisations calls next Figure 5.20 A polymorphic specialisation showing the associated profile information. Making Execution Profiles Persistent Changes made to the persistent environment do not become permanent until a stabilise operation is performed [Bro89] This operation ensures that all changes to the environment are transferred from volatile to non volatile storage. The Napier88 system performs a stabilise operation when the system shuts down normally and at other times during the execution of the system as required. The changes made to the ....

[Article contains additional citation context not shown here]

A.L. Brown "Persistent Object Stores" Ph.D. Thesis, University of St Andrews (1989).


The MaStA I/O Cost Model and its Validation Strategy - Scheuerl, Connor.. (1995)   (Correct)

....19] Each of these systems alters the relative cost of crash recovery. To illustrate the MaStA model, we chose four specific recovery mechanisms: object logging and page logging , both with deferred updates [11] after image shadow paging (AISP) 9, 16] and before image shadow paging (BISP) [3, 5]. These mechanisms were chosen because of our familiarity with them [3, 18, 20, 23] Because we have good intuitions about how these mechanisms perform under varying workloads, we can satisfy ourselves that the model predicts appropriate qualitative behaviours. Furthermore, having implemented some ....

.... illustrate the MaStA model, we chose four specific recovery mechanisms: object logging and page logging , both with deferred updates [11] after image shadow paging (AISP) 9, 16] and before image shadow paging (BISP) 3, 5] These mechanisms were chosen because of our familiarity with them [3, 18, 20, 23]. Because we have good intuitions about how these mechanisms perform under varying workloads, we can satisfy ourselves that the model predicts appropriate qualitative behaviours. Furthermore, having implemented some of these mechanisms we have a basis for future empirical validation of the model ....

Brown, A.L. "Persistent Object Stores". Ph.D. Thesis, University of St Andrews (1989).


Reflection and Hyper-Programming in Persistent Programming Systems - Kirby (1992)   (22 citations)  (Correct)

....an environment in this implementation is similar to the reflective implementation. The savings occur when bindings in the environment are browsed as the need for compilation is removed. 6. 4 The Napier88 Compiler The first Napier88 compiler was implemented by Brown, Connor, Dearle and Morrison [Dea88, Bro89, Con90]. The version used for the experiments described in this thesis is itself implemented in Napier88 and was implemented by Cutts [Cut92] The compiler is accessible by Napier88 programs through several interfaces. The simplest is shown in Figure 6.20: compileString : proc( string any ) Figure ....

Brown, A.L. "Persistent Object Stores". Ph.D. Thesis, University of St Andrews (1989).


Persistence in the Spring System - Radia, Madany, Powell (1993)   (11 citations)  (Correct)

....of data to exceed the single execution of a program. A general goal in many systems is to allow data to be accessed simultaneously by several (possibly different) programs. Traditionally, programs accomplished persistence by explicitly storing some of their data in a file system or database[1]. To simplify the task of making data persistent, one can use a combination of two fundamental approaches: build persistence into the programming environment, and extend the operating system. In this section we present four examples of approaches to persistence. Since our goal is to build a ....

Brown, A., "Persistent Object Stores", Persistent Programming Research Report 71, Universities of St. Andrews and Glasgow, 1989.


The Napier88 Reference Manual - Release 2.0 - Morrison, Brown, Connor.. (1994)   (9 citations)  (Correct)

....parameterised types are allowed in the type algebra, which in general leads to undecidable type checking. This is dealt with in Napier88 by a syntactic convention which allows the type checking to be sound, complete and co complete [Con90] The Napier88 system is designed as a layered architecture [Bro89] consisting of a compiler [Dea88, Con90, Cut92, Kir92] the Persistent Abstract Machine (PAM) BCC 88, CBC 90] and persistent storage architecture [Bro89, BM92, Mun93] All the Napier88 architectural layers are virtual in that, in any implementation, they may be implemented separately or together ....

.... which allows the type checking to be sound, complete and co complete [Con90] The Napier88 system is designed as a layered architecture [Bro89] consisting of a compiler [Dea88, Con90, Cut92, Kir92] the Persistent Abstract Machine (PAM) BCC 88, CBC 90] and persistent storage architecture [Bro89, BM92, Mun93]. All the Napier88 architectural layers are virtual in that, in any implementation, they may be implemented separately or together as efficiency dictates. Thus, they are definitional rather than concrete. In the current release the stable storage is provided by an afterlook shadow paging mechanism ....

[Article contains additional citation context not shown here]

* Brown, A.L. "Persistent Object Stores". Ph.D. Thesis, University of St Andrews (1989).


A Log-Structured Persistent Store - Hulse, Dearle (1996)   (10 citations)  (Correct)

....modified data is written to unused disk blocks; this degrades read performance. However, if contiguous blocks can be found on disk, writes may be batched considerably improving checkpoint performance. 2.1. 2 Before Look Shadow Paging Systems based on the before look approach to shadow paging [2, 8] operate similarly to after look systems in that the shadow pages are always written to unused blocks on disk. In contrast to after look systems, the shadow pages are copies of the original pages allowing modified pages to be written to the disk locations from which they were fetched. The ....

....is free for reuse. Since pages always reside at the same location on disk, the mapping of virtual addresses to physical disk locations is much simpler than with after look shadow paging. In some systems this mapping is completely static as demonstrated by Brown s before look shadow paged store [2]. Before look has the advantage that it preserves physical clustering of data on disk which can improve read performance. However, since modified data is always written to the location from which it was read, writes are prone to high seek and latency delays. The major disadvantage of the before ....

Brown, A. L. "Persistent Object Stores", Ph.D thesis, Computational Science, University of St. Andrews, 1988.


Analysing a Simple Disk Garbage Collector - Printezis (1996)   (7 citations)  (Correct)

No context found.

A. L. Brown. Persistent Object Stores. PhD Thesis, University of St Andrews, Scotland, October 1989.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC