Improving Thread Partitioning of Non-Strict Functional Programs Using Type Information

  • WEON HEE YOO

초록

When compiling non-strict functional programs for a multithreaded model, one of the most important phase is to partition programs into threads. Many algorithms on thread partitioning for a multithreaded model have been developed. They use only input and output names and can not generate the maximal threads under the given constraints. In this paper, we propose Typed Separation Set partitioning algorithm for partitioning non-strict functional programs into threads. Any input cannot be indirectly dependent on outputs whose types are incompatible to those of inputs. When the type information is considered, there may be more opportunity to find input names and output names that do not have indirect dependencies and to improve the thread partitioning. Our algorithm uses type information of input names and output names of a dataflow graph. We have experimented the partitioning ability of our algorithm. Our algorithm generates the threads that are larger about 1.9 times on average then those generated by Separation Constraint Partitioning algorithm. We can expect that due to the reduction of the number of context switching and dynamic synchronization, performance of non-strict functional programs will be improved when executed on multithreaded models.

제목
Improving Thread Partitioning of Non-Strict Functional Programs Using Type Information
저자
WEON HEE YOO
학회명
The International Association of Science and Technology for Development - IASTED