DocumentCode
2069595
Title
The Diadora principle: efficient execution of concurrent logic and related languages
Author
Massey, Bart ; Tick, Evan
Author_Institution
Dept. of Comput. Sci., Oregon Univ., Eugene, OR, USA
Volume
2
fYear
1994
fDate
4-7 Jan. 1994
Firstpage
396
Lastpage
404
Abstract
Compile-time partitioning of fine-grained concurrent languages is difficult, because it must be both powerful enough to greatly increase the grain size and safe from introducing errors, particularly cycles (data dependencies that circularly link tasks). Incorrect assignment of a cycle into a single thread can result in deadlock, but perfectly safe data dependency analysis is especially difficult for concurrent logic programming languages (CLPs) because of the prevalence of logic variables, which can cause hidden cycles through aliasing, and because efficiency requires that many tasks be placed in the same thread. This paper describes the Diadora computation model, developed to partition CLPs by instituting deadlock breaking if an inadvertent cycle has been sequentialized, and task stealing for runtime load balancing, thus exploiting the synergy between simple static analysis and a simple runtime system. The Diadora model is a form of lazy task creation a la Mohr, Kranz and Halstead (1991). However, it is customized for CLPs and the somewhat different problems and features of these languages.<>
Keywords
logic programming languages; parallel languages; program compilers; system monitoring; Diadora principle; aliasing; compile-time partitioning; concurrent logic; concurrent logic programming languages; data dependencies; data dependency analysis; deadlock; fine-grained concurrent languages; lazy task creation; runtime load balancing; static analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
System Sciences, 1994. Proceedings of the Twenty-Seventh Hawaii International Conference on
Conference_Location
Wailea, HI, USA
Print_ISBN
0-8186-5090-7
Type
conf
DOI
10.1109/HICSS.1994.323244
Filename
323244
Link To Document