Flocc (Functional language on compute clusters)

Comparison code sizes

Figure 7 lists the comparative code sizes of programs written in Flocc, compared with other languages. The Flocc implementations are between 3x (K-means) and 34x (Grep) more concise (14x on average); illustrating the potential productivity gains of such a high-level language approach. Furthermore, numerous bugs are possible in low level C/C++ implementations which cannot occur in Flocc, provided ofcourse Flocc's code generation templates are implemented correctly.

ProblemFloccComparisonTypes
Matrix multiply (cf. Fig 4)5C/MPI89Arr
Floyd's all pairs shortest path15C/MPI88Arr
Jacobi 2D8C++/MPI120Arr
SOR red/black18C/MPI289Arr
N-body (gravitational)38C/MPI153Arr
K-means clustering36C/MPI114Map
Triangle enum (cf. Fig 13)12C++/MR-MPI263Map
R-MAT graph generation35C++/MR-MPI148Map
PageRank11Java/Hadoop157Map
Histogram (cf. Fig 5)6C++/MPI204Map
Apriori association mining14Java/Hadoop371Map
Dot product (cf. Fig 6)3C++/MPI35List
Standard deviation6C/MPI38List
Simple linear regression10C++/MPI47List
Word count3Java/Hadoop48List
Grep2Java/Hadoop59List
Fig. 7 Comparative code sizes (loc without comments, blanklines, and IO code)