Abstract
This paper describes a new implementation of PaiLisp interpreter PaiLisp/MT on a multi-thread architecture. A P-continuation based PaiLisp interpreter called PaiLisp/FX is implemented on Alliant FX/80 [ItoS93]. PaiLisp/FX executes any PaiLisp programs under a non-preemptive scheduling policy and a static task partitioning method called eager task creation(ETC). PaiLisp/MT can be used as an experimental system of granularity adaptive parallel execution of PaiLisp programs to select multiple evaluation strategies. The granularity of programs is estimated by an average execution time and standard deviation of distributions of their execution time according to the granularity of target programs. In case of coarse-grained programs, PaiLisp/MT can execute them under a preemptive scheduling policy and the lazy task creation(LTC). In case of fine-grained programs it can execute them under a non-preemptive scheduling policy and LTC. This kind of adaptation of evaluation strategies can be done according to the granularity of programs and the number of executable processes. Experimental results show that the lazy task creation under the non-preemptive scheduling is very effective for a wide range of parallel programs but the granularity adaptation is useful when a program creates with various degree of granularity.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have