SAM: A Haskell parallel programming model for many-core systems

Since the multicore CPU has been released, the parallel programming method has become a significant issue to programmers. For parallel programming, functional languages such as Haskell are especially attractive since they reduce the data dependency hindering parallelism. One of the popular parallel programming models of Haskell is Cloud Haskell. Though it is an effective model for the manycore environments, it is quite difficult to use compared with other models. This paper proposes an efficient Haskell programming model for the manycore system named SAM. SAM takes advantages of the outstanding performance of Cloud Haskell and overcomes its disadvantages. To present the performance of SAM, we developed four different applications for the experiment. According to the experimental result, the compilation time of using SAM increased 5%, and execution time reduced 0.2%, respectively, compared with Cloud Haskell. In addition, the code size of using SAM reduced to 86% on the parallel part.