The Diadora principle: efficient execution of concurrent logic and related languages

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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Hawaii International Conference on System Sciences, 27th. Vol. 5: Biotechnology Ročník 2; s. 396 - 404
Hlavní autori: Massey, Tick
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: IEEE Comput. Soc. Press 1994
Predmet:
ISBN:0818650907, 9780818650901
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí: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.< >
ISBN:0818650907
9780818650901
DOI:10.1109/HICSS.1994.323244