This effort is still a "work in progress". Please feel free to add comments.
The overall architecture of HAMA
+-----------------------------------------------+ | HAMA APIs | +-----------------------------------------------+ ↑ ↑ ↑ | | | | | +---------------------------+ | | | Graph Computing Framework | | | +---------------------------+ Computing Engine +-----+-----+ +--+------------------------------+ | MapReduce | | BSP (Bulk Synchronous Parallel) | +-----------+ +---------------------------------+ +-----------------------------------------------+ | Zookeeper | Distributed Locking Service +-----------------------------------------------+ ↑ +-----------------------------------------------+ | | | +-----------------------------+ | | | HBase : Distributed Storage | | | +-----------------------------+ | Distributed Storage Systems | +---------------------------------+ | | | HDFS : Distributed File System | | | +---------------------------------+ | +-----------------------------------------------+
BSP
The BSP package is a implementation of BSP over Hadoop RPC(sockets). By using a BSP model which is based on the concept of a superstep, during which processes perform computations using local data, a more rapid and sensitive program will be allowed.
The BSP package consists of the following components:
Matrix
Graph
Shell/DSL
- Hama DSL (Domain Specific Language) in Groovy – Work in progress
- Hama Shell – Work in progress