Bump version to 0.3.5next
[archipelago] / xseg / doc / components.rst
1 Archipelagos Components
2 =======================
3
4 This document intends to document the various components of Archipelagos, the
5 storage infrastructure behind the Cydlades IaaS cloud software.
6
7 xq
8 **
9 Fixed-size (power of 2, up to 2^32), double-ended, circular queue of xserial
10 (unsigned int) elements, which guarantees safe concurrent access (with built-in
11 locking).
12
13 xq is used to safely index and/or split a shared buffer.
14
15 xseg
16 ****
17 The backbone of Archipelagos.
18
19 The xseg API (and its implementation) provides access to shared memory segments,
20 residing either in userspace (posix segments) or in kernel space (segdev
21 segments), to both user- and kernel-space 'processes/threads' (known as peers,
22 in the xseg API).
23
24 The shared memory segments (referred to as plainly segments in the xseg API) are
25 formed by a pool of requests (xseg requests), and multiple endpoints (xseg
26 ports), on which the xseg peers bind. 
27
28 The xseg API defines certain operations that can be performed on a segment
29 (malloc / allocate / map / etc), and ceration operations that can performed by
30 peers (signal / wait_for_signal / prepare_wait / cancel_wait etc).