HAMA Hama is a distributed computing framework based on BSP (Bulk Synchronous Parallel) computing techniques for massive scientific computations (e.g., matrix, graph, network, ..., etc), Currently being incubated as one of the incubator project by the Apache Software Foundation .
The greatest benefit of adoption of BSP computing techniques is the opportunity to speed up iteration loops during the iterative process which requires several passes of messages before final processed output is available. (especially, such as finding the shortest path, and so on.)
Hama also provides an easy-to-program and flexible programming model as compared with traditional model of Message Passing, and also compatible with any distributed storage (e.g., HDFS, HBase, …, etc), so you can use the Hama BSP on your existing Hadoop clusters.
General Information
- Hama Official Website
- Hama Official Blog
- Presentations and Articles about Hama and BSP
- PoweredBy, a list of sites and applications powered by Hama
- Hama Architecture – Work in progress
- BSP Programming Model
- Performance Benchmarks
User Documentation
- Getting Started with Hama
- Getting Started with Hama on Mesos Hama User Guide Documents
- Getting Started with Hama on YARN
- Running Hama over InfiniBand
- Hama Pipes (Native C/C++ BSP Bridge)
- Build Dynamic Graphs on Hama
- Hama Aggregators
- Command Line Interfaces for hama Hama shell script.
- How to debug your own Applications
- Configuring third party JAR with native library
- FAQ list
- Hama StreamingBSP Programming Model
- Examples
- Advanced Documentation
Developer Documentation
- Guide for Hama Contributors
- Guide for Hama Committers
- Guide for Hama PMC memers
- Roadmap, listing release plans
- Building, Testing, CI
- How to contribute to HamaHow to commitrelease
- Developer FAQ
- Hama Streaming Protocol
- Guidelines provides information that developers can follow.