Analysis of the parallel programming models in Haskell for many-core systems
Xiao Liu, Yeoneo Kim, Junseok Cheon, Sugwoo Byun, Gyun Woo · 2018 IEEE International Conference on Applied System Invention (ICASI) · 2018
The Moore's law has reached its limitation since the integration and economic issues of CPU. Therefore, the trend of chip design is moving to the increase of the number of cores rather than stressing the density of circuits. Consequently, the parallel programming is attracting interests. In this trend, functional languages are getting popular for parallel programming since they have inherent parallelism. This paper aims to compare and analyze two Haskell programming models for many-core environment. We developed applications based on a Haskell parallel programming model named Eval monad and Cloud Haskell, respectively to compare the performance of them. We test the application on both 32 cores and 120 cores CPU. The experimental result shows that on 32 cores, the performances are similar, but on the 120 cores, Cloud Haskell performs 32% faster on run-time, and 123% better on scalability. This result implies that Cloud Haskell is more appropriate for a large number of cores than Eval monad, and the latter is more suitable for simple parallelism involving just tens of cores.