| KEMPER, A. AND KOSSMANN, D. 1995. Adaptable pointer swizzling strategies in object bases: Design, realization, and quantitative analysis. VLDB Journal 4, 3, 519--566. |
....approach, and requires barriers over both primitive and reference fields, while the post barrier need only be applied to reference fields and is more eager. Swizzling Strategy The choice of swizzling 6 strategy is a significant design decision for implementers of persistent systems [Moss 1992; Kemper and Kossmann 1995] and has had a major impact on the way we have approached our OPJ implementations. For the purposes of this discussion, four broad options exist: eager swizzling, where all references are swizzled as soon as an object is faulted into memory; lazy swizzling, where references are swizzled when they ....
KEMPER, A. AND KOSSMANN, D. 1995. Adaptable pointer swizzling strategies in object bases: Design, realization, and quantitative analysis. VLDB Journal 4, 3, 519--566.
....requests for any information other than the name of the frame representing Peter, for example for the age of Peter, a frame fault is generated and it is loaded from the DBMS. Using stubs is also known as pointer swizzling and is a common implementation technique for object oriented databases (Kemper and Kossmann 1995). The classifier code in Loom is not re entrant, that is, while we are classifying a concept A into the subsumption hierarchy, we cannot always start classifying another concept B until classification of A is complete. As a result, frame faults generated while classification is in progress cannot ....
....must be addressed in the long term for scalability of PERK. Flushing frames from memory is not straightforward because frames can refer to other frames by pointers and displacing a frame from memory can invalidate references to it. Special purpose schemes have been developed to solve this problem (Kemper and Kossmann 1995). We believe that some of the existing schemes can be incorporated into PERK. Some of the schemes require that additional information be maintained while initially loading a KB which can affect the empirical results presented in this paper. Thorough experimentation to study the effect of flushing ....
Kemper, A. and Kossmann, D. 1995. Adaptable Pointer Swizzling Strategies in Object Bases: Design, Realization, and Quantitative Analysis. VLDB Journal, 4(3):519--566.
....coarse grained address translation technique because the granularity of translation is a virtual memory page. New Classification Scheme Various researchers have put forth different taxonomies for address translation approaches based on differences in the pointer swizzling techniques used [Mos92, KK95, MS95, Whi94] Unfortunately, some of these classifications are unclear, and sometimes even contradictory to each other. Instead of attempting to clarify these taxonomies, we present a new classification scheme using several design choices that we consider important for implementing orthogonal ....
....techniques and extending Texas to implement reachability based persistence for C and Modula 3 [HN97] 2. 3 Address Translation Taxonomies Persistence has been an active research area for over a decade and several researchers have put forth taxonomies for pointer swizzling techniques [Mos92, KK95, MS95, Whi94] In this section, we describe important details about each of these taxonomies and highlights various similarities and differences among them. In addition, we also provide motivation for a general classification of persistent systems based on granularity issues. 2.3.1 Eager vs. ....
[Article contains additional citation context not shown here]
Alfons Kemper and Donald Kossmann. Adaptable Pointer Swizzling Strategies in Object Bases: Design, Realization, and Quantitative Analysis. VLDB Journal, 4(3):519--566, July 1995.
....solution to prevent from excessive table lookup is to avoid multiple translations for different accesses to the same object. A class of techniques, which is commonly referred to as pointer swizzling , was investigated for managing references between in memory resident records [Mos92, WK92, Whi94, KK95] Those techniques transparently replace disk RIDs into virtual memory pointers at the first access. Thus, applications use RIDs as if they were virtual memory pointers and only the first access requires a lookup in the translation table. Swizzling can be perform at different granularities: lazy ....
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases: Design, realization, and quantitive analysis. VLDB Journal, 4(3):519--567, March 1995.
....it swizzles all the pointers of an object collection on the first access of an object [Moss, 1992] If pages are not resident they have to be prefetched from disk. The advantage of this technique is that no residency checks are needed at run time to distinguish swizzled and unswizzled pointers. [Kemper and Kossmann, 1993] and [McAuliffe and Solomon, 1995] define eagerness to be swizzling all pointers in a page or object. Lazy swizzling uses a more conservative approach to swizzling. The decision is made at run time as to what and when to swizzle. The granularity of what to swizzle can be a page, an object or just ....
Kemper, A. and Kossmann, D. (1993). Adaptable Pointer Swizzling Strategies in Object Bases. In [ICDE, 1993], pages 155--162.
....objects. In recent years, it has become clear that complex objects are only feasible if the DBMS provides adequate performance for the tasks mentioned above. Much work has been done on improving non standard DBMS performance: efficient conversion of complex objects via pointer swizzling strategies [15, 10], query optimization, and new DBMS architectures like single level stores [13, 17, 20, 21] However, the 7th International Workshop on Persistent Object Systems, Cape May, New Jersey, May 1996. y This work was done while with the Database Technology Research Group, Institut fur Informatik, ....
A. Kemper and D. Kossmann. Adaptable Pointer Swizzling Strategies in Object Bases. In Ninth International Conference on Data Engineering, Vienna, Austria, pages 155--162. IEEE Computer Society, 1993.
....There is no consensus in the literature: Moss [52] reasoned that node marking and edge marking should have roughly similar performance, but a later paper by Hosking and Moss [34] suggested in a footnote that edge marking is not competitive with node marking. Kemper and Kossmann s study [40] concluded that there were significant differences among swizzling techniques on different workloads. They went so far as to propose type specific and context specific approaches to swizzling, so that applications could mix swizzling techniques for performance. For example, an object might contain ....
....cache miss rates. If it appears that performance could be significantly improved with smaller code, it may be worth revisiting the node marking scheme. 4.7 Related work As previously indicated, Moss [52] first categorized swizzling techniques as edge marking or node marking. Kemper and Kossmann [40] subsequently distinguished techniques based on their eagerness (eager vs. lazy) and directness (direct vs. indirect) I start from Kemper and Kossmann s terms to categorize related work on swizzling techniques. There are two relatively independent dimensions of swizzling techniques. The first ....
[Article contains additional citation context not shown here]
Alfons Kemper and Donald Kossmann. Adaptable pointer swizzling strategies in object bases. In Proceedings of the 9th International Conference on Data Engineering, pages 155--162, 1993.
....the end of processing. In the remainder of this paper, we focus on two level OODBS architectures. Pointer swizzling strategies for two level OODBS architectures have been investigated in recent years as a primary technique to speed up object access in OODBS. All known pointer swizzling strategies [3, 4, 6, 8] rely on the same basic principle: references to objects are represented by the object identifiers (OID) of the corresponding objects. OIDs are typically used to identify objects at the object management level. These OIDs are stored as values in the storage objects, and are interpreted by the ....
A. Kemper and D. Kossmann. Adaptable Pointer Swizzling Strategies in Object Bases. In Ninth International Conference on Data Engineering, Vienna, Austria, pages 155--162. IEEE Computer Society, 1993.
....the memory bytes themselves are persistent [11, 20] The large address space provided by 64 bit processors offers a linear name space for objects that is directly supported in hardware. This precludes the overhead commonly incurred by software address translation mechanisms (i.e. pointer swizzling [34, 47, 24]) Further, since off the shelf systems now provide 64 bit addressing there is no need for custom hardware (e.g. 21, 39] 2.2 New Models of Protection Unfortunately, in moving from a conventional process model to an SVAS model, protection by address space separation is lost. Since all ....
A. Kemper and D. Kossmann. Adaptable Pointer Swizzling Strategies in Object Bases. In Proceedings of the International Conference on Data Engineering, pages 155 -- 162, 1993.
....are used both to reference data and to invoke other object methods. An object base system using multiple address spaces, into which objects are mapped, incurs the overhead of translating logical object pointers into address space specific pointers. This process is known as pointer swizzling [KK93] and it often results in high run time overhead when object methods are invoked. This is a disincentive to the development of fine grain objects and the support of fine grain concurrency control. Since address space separation is used in conventional systems to provide inter process protection, ....
A. Kemper and D. Kossmann. Adaptable Pointer Swizzling Strategies in Object Bases. In Proceedings of the International Conference on Data Engineering, pages 155 -- 162, 1993.
....that in step 3 of the above algorithm, it is necessary to record the relationship between a PID and its current local address in this process. This information is stored in a two way accessible table, called here the PIDLAM (PID to Local Address Map) It is called the Resident Object Table in [Kemper Kossmann, 1995]. It has to be accessed by PID in step 1 of the above algorithm to preserve sharing of substructures and by LA during deswizzling (see 4.2.2) 33 Figure 12: Lazy Incremental Loading Algorithm Active Process Store A C D E G D C B 1 2 3 5 4 0 6 7 Long Term Store Persistent Roots 8 9 B F E A ....
....algorithms in several important ways. When they fail to recover sufficient space by normal methods, they can release space by discarding unmodified objects that were previously loaded this requires that pointers that once referenced these discarded objects are deswizzled (a major issue in [Kemper and Kossmann, 1995]) When, even after discards of unmodified objects, there is still insufficient space, they can copy out modified objects or prematurely (and possibly falsely) promote new objects (steps 4 to 7 of the checkpoint algorithm must be applied) this increases the complexity of the subsequent ....
[Article contains additional citation context not shown here]
Kemper, A. & Kossmann, D., 1995. Adaptable Pointer Swizzling Strategies in Object Bases: Design, Realization and Quantitative Analysis. VLDB Journal 4, 3.
....system. Numerous advantages are achieved when building a persistent object system in this way. These include simplified programming, since both distribution and persistence are provided transparently, and certain implementation benefits including eliminating the need to swizzle [WK92, WD92, KK93] object references. This is because in a 64 bit DSVM system object references are simply persistent virtual addresses. We propose to use DSVM as a platform for research in interoperability [BPG95] using persistent object technology. A very high level diagram of the proposed logical system ....
D. Kemper and A. Kossmann. Adaptable pointer swizzling strategies in object bases. In Proceedings of the 9 th International Conference on Data Engineering, Vienna, April 1993.
....memory management unit (MMU) to raise a SIGSEGV signal which is caught and starts the desired page loading and pointer swizzling activities. White and DeWitt [29, 30] give a good comparison of techniques and discuss performance issues for their QuickStore System. Other comparisons can be found in [10, 28, 31] which discuss the differences between swizzling with object removal from memory and without removal. Gray and Reuter [7] discuss mapped files, pointing out that the concept has been around for 30 years. They also indicate the interesting perspectives in connection with journaled (transactional) ....
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases. Proc. 9th ICDE, pages 155--162, 1993.
....pointers are valid only in the address scope of the actual process they have to be adjusted if the data is shipped between address spaces, i.e. between client and server. The process of adjustment is called pointer swizzling. 5. 3 Swizzling, References, and Object Ids Swizzling: Pointer swizzling [16, 11, 20], i.e. the transformation of disk based pointers into virtualmemory pointers (and vice versa) offers two advantages. First, it offers performance gains since the pointers need not be interpreted for each traversal. Second, which might be more important, some swizzle techniques (e.g. 21] allow ....
A. Kemper and D. Kossmann. Adaptable Pointer Swizzling Strategies in Object Bases. In Proc. DE 93 [18].
....One may argue that we should be less demanding and only copy those fields of objects that are retrieved as part of the query anyway. However, state of the art caches cache in the granularity of whole objects (e.g. the cache of SAP R 3 [KKM98] This is necessary for pointer swizzling [Mos92, KK95] and to organize the cache efficiently (i.e. avoid a per attribute overhead in the cache) One may also argue that the granularity of caching and data transfer should be a group of objects or a page; caching and data transfer in such a granularity, however, is not possible in systems like ....
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases: Design, realization, and quantitative analysis. The VLDB Journal, 4(3):519--566, August 1995.
....object must be present. One may argue that we should only copy those fields of objects that are retrieved as part of the query anyway. However, state of the art caches cache in the granularity of whole objects (e.g. the cache of SAP R 3 [KKM98] This is necessary for pointer swizzling [Mos92, KK95] and to organize the cache efficiently (i.e. avoid a per attribute overhead in the cache) One may also argue that the granularity of caching and data transfer should be a group of objects or a page; caching and data transfer in such a granularity, however, is not possible in systems like ....
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases: Design, realization, and quantitative analysis. The VLDB Journal, 4(3):519--566, August 1995.
....One may argue that we should be less demanding and only copy those fields of objects that are retrieved as part of the query anyway. However, state of the art caches cache in the granularity of whole objects (e.g. the cache of SAP R 3 [KKM98] This is necessary for pointer swizzling [Mos92, KK95] and to organize the cache efficiently (i.e. avoid a per attribute overhead in the cache) Caching individual fields of objects is thus not useful in most systems. A consequence of this approach is that caching during query execution is not free. It introduces additional cost, as no attribute of ....
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases: Design, realization, and quantitative analysis. The VLDB Journal, 4(3):519--566, August 1995.
....ROT. Fig. 3 shows the ROT and some descriptors for the state of the dual buffer pool depicted in Fig. 1. An object descriptor contains a variety of information; e.g. in the ref field the main memory address of the resident object is materialized to carry out the access or for pointer swizzling [KK93] the cop field indicates whether the object has been copied, the mod field says whether the object has to be flushed before it may be evicted because it has been copied and modified, and the seg field refers to the buffer segment the object is located in so that usage statistics can be ....
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases. In Proc. IEEE Conf. on Data Engineering, pages 155--162, Vienna, April 1993.
....and to avoid computation on servers, the potential bottlenecks of the system. Typically, object oriented databases have been used in very computation intensive and or highly interactive applications (e.g. engineering applications) and therefore, techniques such as pointer swizzling [Mos92, KK95] have been used to speed up the processing of persistent objects at workstations. In this environment, scalabilty means that an arbitrary number of client workstations can be connected to the servers. The current client server architectures, however, are not flexible enough to meet the ....
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases: Design, realization, and quantitative analysis. The VLDB Journal, 4(3):519--566, August 1995.
....granularities is discussed. In the following we will assume that only one application works on the same main memory buffer at a time. If two or more applications access the same data in the same buffer and run in parallel, the possibilities to exploit adaptable pointer swizzling are restricted [KK93] 5.1 Application Specific Swizzling The coarsest way to realize adaptable pointer swizzling is to uniformly swizzle all pointers within one application. We called this approach applicationspecific swizzling. At the beginning of the execution of 0 2 4 6 8 10 12 0 5 10 15 20 25 30 35 40 45 ....
A. Kemper and D. Kossmann. Adaptable Pointer Swizzling Strategies in Object Bases. Technical Report RWTH Aachen, 1993.
.... mod seg yes ps pidA descriptor ref mod seg NIL no osI descriptor oid1 nextObj no cop descriptor oid2 ref mod seg no osII nextObj yes cop Figure 3: Object and Page Descriptors field the main memory address of the resident object is materialized to carry out the access or for pointer swizzling [KK93] the cop field indicates whether the object has been copied, the mod field says whether the object must be flushed before it may be evicted because it has been copied and modified, and the seg field refers to the buffer segment the object is located in so that usage statistics can be maintained ....
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases. In Proc. IEEE Conf. on Data Engineering, pages 155--162, Vienna, April 1993.
....indirect [KK83] PS algol lazy optimistic [ACCM83, CAC 84] ORION (objectwise) eager indirect [KBC 88] O 2 no swizzling [BBB 88] EPVM 2. 0 lazy optimistic [WD92] ObjectStore (pagewise) eager direct in VM [LLOW91] Texas (pagewise) eager direct in VM [WK92, SKW92] GOM adaptable swizzling [KK93] Table 2: Classification of the Swizzling Techniques in Existing Systems 2. Large objects restrict the use of pointer swizzling. These restrictions should have no influence on operations with small objects. 3. Descriptors and RRLs can consume a significant amount of main memory (cf. Section 5.3) ....
....design of an adaptable object manager for the object base system GOM. The adaptable object manager provides the flexibility to choose the most effective swizzling techniques for every individual application. Specific performance experiments that justify adaptable pointer swizzling are reported in [KK93] How this adaptability can be achieved with as little additional overhead as possible is discussed in this section. 4.1 Architecture of Adaptable Pointer Swizzling In an adaptable object manager, a module for each of the swizzling techniques is embodied. The idea is to divide statically (i.e. ....
[Article contains additional citation context not shown here]
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases. In Proc. IEEE Conf. on Data Engineering, pages 155--162, Vienna, April 1993.
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