Distribution and persistence in multiple and heterogeneous address spaces
Résumé
We present the design of a flexible architectural model that supports clustering, storing, naming and accessing objects in a large scale distributed system. The system is logically divided in zones, i.e., groups of machines with an homogeneous address space organization. Both uniform (64-bit) zone-wide and partitioned (32 or 64-bit) address space organizations are supported. For clustering purpose objects are allocated within segments. Segments are logically grouped into bunches. Each bunch has a user-level bunch manager implementing the policies related to persistence and distribution specific to the bunch's data : allocation, garbage collection, mapping and un-mapping, function shipping or data shipping, shared data consistency, migration, etc. Objects are referenced by maillons and SSP (stub-scion pair) chains. These mechanisms are scalable and are well adapted to support distributed garbage collection, migration and compaction.