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.
[1]
Joe Armstrong,et al.
Concurrent programming in ERLANG
,
1993
.
[2]
HWAMOK KIM,et al.
AN APPROACH TO IMPROVING THE SCALABILITY OF PARALLEL HASKELL PROGRAMS
,
2017
.
[3]
Simon L. Peyton Jones,et al.
Template meta-programming for Haskell
,
2002,
Haskell '02.
[4]
Simon L. Peyton Jones,et al.
Towards Haskell in the cloud
,
2012,
Haskell '11.
[5]
Carl Hewitt,et al.
A Universal Modular ACTOR Formalism for Artificial Intelligence
,
1973,
IJCAI.
[6]
Simon Marlow.
Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming
,
2013
.