Plasma GitLab Archive
Projects Blog Knowledge

Plasma Documentation

Plasma release: 0.1 "vorfreude". This is an alpha release to make Plasma known to interested developers. This release contains: General documents:

PlasmaFS Documentation

PlasmaFS is the distributed transactional filesystem. It is implemented in user space, and can be accessed via RPC calls, or via NFS.

PlasmaFS Commands

PlasmaFS Client Interfaces

Client applications can only link with plasmasupport and plasmaclient.

plasmaclient: RPC client


Plasma_client
Client access to the Plasma Filesystem
Plasma_client_config
Configuration of clients
Plasma_shm
Management of shared memory

These are the mappings of the XDR definition to Ocaml (as used in the client):


Plasma_rpcapi_aux
Plasma_rpcapi_clnt

plasmasupport: Support library


Plasma_rng
Random numbers

PlasmaFS RPC protocol definition

These are XDR definitions:

PlasmaFS Internal Server Interfaces

The following interfaces exist only within the server.

pfs_support: Support library


Pfs_db
Utility functions for database accesses

These are the mappings of the XDR definition to Ocaml (as used in the server):


Pfs_rpcapi_aux
Pfs_rpcapi_clnt
Pfs_rpcapi_srv

pfs_datanode: Datanode server


Dn_config
The clustername
Dn_store
The directory containing the store.
Dn_shm
Shared memory for transmitting data from the main process to the I/O processes and vice versa
Dn_io
Returns this as factory for inclusion into Netplex_main.startup
Dn_manager
Returns this as factory for inclusion into Netplex_main.startup

pfs_namenode: Namenode server


Nn_config
Configuration of name nodes
Nn_db
Namenode access routines to database
Nn_blockmap
block maps are in-memory representation of the per-datastore bitmaps whether blocks are used or free.
Nn_datanode_ctrl
Push safetrans secrets to the datanodes
Nn_datastores
Datastore types
Nn_datastore_news
Getting news about datastores and their availability
Nn_state
State manager: Provide the logical view of the state, and forward changes to the database and to the nameslaves (2-phase commit)
Nn_commit
Two-phase commit protocol
Nn_elect
Election of the coordinator
Nn_inodecache
The inodecache checks whether inode metadata is still up to date.
Nn_monitor
Management of datastores, i.e.
Nn_notify
Send all notifications requires for this list of db modifications.
Nn_push
Push updates to the slaves (client)
Nn_slave
The implementation of the namenode component for slave nodes
Nn_coord
The implementation of the namenode component for the coordinator node

pfs_nfs3: NFS server


Nfs3_aux
Nfs3_clnt
Nfs3_srv

Plasma MapReduce

Plasma MapReduce is the compute framework for Map/Reduce-style data transformations. It uses PlasmaFS for storing the data:

Plasma MapReduce Interfaces

mr_framework: Framework


Mapred_io
Utility library for record-based I/O
Mapred_config
Configuration of mapred servers
Mapred_def
Defining the map/reduce job
Mapred_split
Splits a line into key and value.
Mapred_sort
Mapred_tasks
Representation of tasks
Mapred_sched
Scheduler
Mapred_task_exec
Executes this task
Mapred_task_server
Factory for the processor "mapred_task_server"
Mapred_job_exec
Execute a scheduled job by submitting tasks to servers
Mapred_main
Main program for the task server and job controller
Mapred_rpc_aux
Mapred_rpc_clnt
Mapred_rpc_srv

Plasma MapReduce RPC protocol definition

These are XDR definitions:

  • Pmr_task: The RPC definition of the task executor

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml