Parallelizing loops in database programming languages

Database programming languages (DBPLs), fourth generation languages (4GLs) and embedded SQL all include the ability to iterate sequentially through a set/relation. Nested iterators can be used to express joins. Without program analysis, such joins must be evaluated using a tuple-at-a-time join algor...

Full description

Saved in:
Bibliographic Details
Published inProceedings 14th International Conference on Data Engineering pp. 86 - 93
Main Author Lieuwen, D.F.
Format Conference Proceeding
LanguageEnglish
Published IEEE 1998
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Database programming languages (DBPLs), fourth generation languages (4GLs) and embedded SQL all include the ability to iterate sequentially through a set/relation. Nested iterators can be used to express joins. Without program analysis, such joins must be evaluated using a tuple-at-a-time join algorithm at a central site, otherwise program semantics may be violated. This paper's analysis often allows parallel join algorithms to be used. Also, this paper's compile-time optimizations can produce better parallel code than a straightforward parallelization of the nested iterators. The transformations allow the compiler to identify parallelization opportunities that it could not detect in the original code. These techniques are important for aiding the migration from hand-optimized code on a sequential machine to system-optimized code on a parallel machine. Without such rewrites, moving to a parallel system may produce only meager performance improvements when porting legacy systems.
ISBN:0818682892
9780818682896
ISSN:1063-6382
2375-026X
DOI:10.1109/ICDE.1998.655762