Evaluation of the performance of multithreaded Cilk runtime system on SMP clusters

Liang Peng, M.D. Feng, C. K. Yuen · 1999

Multithreading is widely accepted in shared memory systems such as the symmetric multiprocessor (SMP) machine. However in the clustering environment, multithreading is considered expensive and difficult. Process is still used as the basic scheduling unit in the majority of parallel programming systems on clusters. To investigate the overhead a runtime system may have in supporting multithreading, an extended multithreaded Cilk runtime system called distributed Cilk, was evaluated on a cluster of SMP PCs. The distributed Cilk embodies the algorithmic features of the Cilk language, supports software distributed shared memory (DSM) for all Cilk threads in the cluster and provides user-level cluster-wide locking. The performance of the distributed Cilk was evaluated using three problems which were parallelized with different strategies to represent various parallel programming paradigms. The results were also compared with those of Tread-Marks, a typical software DSM implementation for clusters with no support for multithreading. The experiments show that multithreading Cilk programs written in a divide-and-conquer fashion with good data locality can achieve comparable performance with the corresponding multiple-process Tread-Marks programs. The results shed light on efficient multithreading for clusters.

Read the paper · More papers on PaperTik