Experiments with a Fast Object Swapper - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2010

Experiments with a Fast Object Swapper

Résumé

In object-oriented systems, runtime memory is composed of an object graph in which objects refer to other objects. This graph of objects evolves while the system is running. Graph exporting and swapping are two important object graph operations. Exporting refers to copying the graph to some other memory so that it can be loaded by another system. Swapping refers to moving the graph to a secondary memory (e.g., a hard disk) to temporary release part of the primary memory. While exporting and swapping are achieved in different ways, each of them faces a common and central problem which is the speed of the approach in presence of large object graphs. Nevertheless, most of the existing solutions do not address well this issue. Another challenge is to deal with extremely common situations where objects outside the exported/swapped graph point to objects inside the graph. To correctly load back an exported subgraph, it is necessary to compute and export extra information that is not explicit in the object subgraph. This extra information is needed because certain objects may require to be reinitialized or recreated, to run specific code before or after the loading, to be updated to a new class definition, etc. In this paper, we present most of the general problems of object exporting and swapping. As a case of study, we present an analysis of ImageSegment, a fast solution to export and swap object graphs, developed by Dan Ingalls. ImageSegment addresses the speed problems in an efficient way, as shown by the results of several benchmarks we have conducted using Pharo Smalltalk. However, ImageSegment is not a panacea since it still has other problems that hampers its general use.
Fichier principal
Vignette du fichier
Mart10b-Smalltalks2010-Swapper-ImageSegments.pdf (629.65 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

inria-00531565 , version 1 (03-11-2010)

Identifiants

  • HAL Id : inria-00531565 , version 1

Citer

Mariano Martinez Peck, Noury Bouraqadi, Marcus Denker, Stéphane Ducasse, Luc Fabresse. Experiments with a Fast Object Swapper. Smalltalks'2010, Nov 2010, Buenos Ares, Argentina. ⟨inria-00531565⟩
221 Consultations
85 Téléchargements

Partager

Gmail Facebook X LinkedIn More