Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change 
notification.

The following page has been changed by udanax:
http://wiki.apache.org/hadoop/Hama

------------------------------------------------------------------------------
- Describe Hama here.
+ == Introduction ==
+ '''Hama''' is a parallel matrix computational package based on Hadoop 
Map/Reduce. It will be useful for a massively large-scale ''Numerical 
Analysis'' and ''Data Mining'', which need the intensive computation power of 
matrix inversion, e.g. linear regression, PCA, SVM and etc. It will be also 
useful for many scientific applications, e.g. physics computations, linear 
algebra, computational fluid dynamics, statistics, graphic rendering and many 
more.
  
+ Currently, several shared-memory based parallel matrix solutions can provide 
a scalable and high performance matrix operations, but matrix resources can not 
be scalable in the term of complexity.  The '''Hama''' approach proposes the 
use of 2-dimensional Row and Column(Qualifier) space and multi-dimensional 
Columnfamilies of Hbase, which is able to store large sparse and various type 
of matrices (e.g. Triangle Matrix, 3D Matrix, and etc.).  In addition, 
auto-partitioned sparsity sub-structure will be efficiently managed and 
serviced by Hbase. Row and Column operations can be done in linear-time, where 
several algorithms such as structured Gaussian elimination and iterative 
methods run in O(~-the number of non-zero elements in the matrix-~ / ~-number 
of mappers (processors/cores)-~) time on Hadoop Map/Reduce. 
+ === Initial Contributors ===
+  * Edward Yoon (R&D center, NHN corp.) 
+  * Chanwit Kaewkasi (Ph.D candidate, University of Manchester)
+ === Dependencies ===
+  * Hadoop (HDFS, Map/Reduce) License: Apache License, 2.0 
+  * Hbase (Sparse Matrix Table) License: Apache License, 2.0 
+  * Groovy (Agile Dynamic Language) License: Apache License, 2.0 
+ === Related Pages ===
+  * [http://code.google.com/p/hama/wiki/Design The design document of Hama]
+  * [http://code.google.com/p/hama/wiki/LanguageSyntax The language syntax 
discussion page]
+  * [http://code.google.com/p/hama/wiki/RoadMap Release plan for project Hama]
+ ----
+ == Basic Linear Algebra ==
+  * Addition/Substration 
+  * Multiplication 
+  * Determinant 
+  * Cholesky decomposition 
+  * Crout Decomposition 
+  * Doolittle Decomposition 
+ ----
+ == Groovy Language Syntax ==
+ The '''Hama''' project utilises Groovy for simplification of computational 
language.
+ For example, we can perform a parallel matrix multiplication by expressing as 
follows:
+ {{{
+   def a = rand(10,10)
+   def b = rand(10,10)
+   def c = a * b
+ }}}
+ ----
+ == References ==
+  * ScaLAPACK, a library of high-performance linear algebra routines for 
distributed-memory message-passing MIMD computers 
+  * Scheduling algorithms for parallel Gaussian elimination withcommunication 
costs, Amoura, A.K.; Bampis, E.; Konig, J.-C. 
+  * High performance numerical libraries in Java, Bjørn-Ove Heimsund 
+ 

Reply via email to