Granularity analysis for exploiting adaptive parallelism of declarative programs on multiprocessors
Autor: | Dingxing Wang, Weimin Zheng, Dongchan Wen, Meiming Shen, Xinmin Tian |
---|---|
Rok vydání: | 1994 |
Předmět: |
Computer science
Data parallelism Programming language Task parallelism Multiprocessing Parallel computing Scalable parallelism Call graph computer.software_genre Computer Science Applications Theoretical Computer Science Computational Theory and Mathematics Hardware and Architecture Memory-level parallelism Parlog Implicit parallelism Instruction-level parallelism computer Software Declarative programming |
Zdroj: | Journal of Computer Science and Technology. 9:144-152 |
ISSN: | 1860-4749 1000-9000 |
DOI: | 10.1007/bf02939495 |
Popis: | Declarative Programming Languages (DPLs) apply a process model of Horn clauses such as PARLOG[8] or a reduction model of λ-calculus such as SML[7] and are, in principle, well suited to multiprocessor implementation. However, the performance of a parallel declarative program can be impaired by a mismatch between the parallelism available in an application and the parallelism available in the architecture. A particularly attractive solution is to automatically match the parallelism of the program to the parallelism of the target hardware as a compilation step. In this paper, we present an optimizing compilation technique called granularity analysis which identifies and removes excess parallelism that would degrade performance. The main steps are: an analysis of the flow of data to form an attributed call graph between function (or predicate) arguments; and an asymptotic estimation of granularity of a function (or predicate) to generate approximate grain size. Compiled procedure calls can be annotated with grain size and a task scheduler can make scheduling decisions with the classification scheme of grains to control parallelism at run-time. The resulting granularity analysis scheme is suitable for exploiting adaptive parallelism of declarative programming languages on multiprocessors. |
Databáze: | OpenAIRE |
Externí odkaz: |