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...
Saved in:
Published in | Proceedings 14th International Conference on Data Engineering pp. 86 - 93 |
---|---|
Main Author | |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
1998
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
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 |