|
ABSTRACT
Stream processing is a basic method of code optimization related to loop fusion that can improve the space and speed of iterative applicative expressions by a process of loop combination. It has been studied before in applications to program improvement and batch oriented database restructuring. Previous attempts at implementation have been either highly restrictive, have required manual intervention, or have involved naive strategies resulting in impractically slow running times. This paper defines a new model for a stream processing problem for handling a wide class of applicative expressions that can be evaluated by looping in an unordered way through a single set or tuple valued argument. This problem is formulated graph theoretically and shown to be NP-Hard, even in the presence of constraints. Two new efficient heuristic algorithms will be presented. The efficiency of these solutions allows stream processing to be applied dynamically as a database query optimization, and as an important component of a high level language optimizer. Our method of stream processing has been implemented and used effectively within the RAPTS transformational programming system.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Allen. F. E., Cocke, John. A Catalogue of Optimizing Transformations. In Design and Optimization of Compilers, Randall Rustin, Ed.. Prentice Hall. 1971, pp. 1-30.
|
| |
2
|
|
| |
3
|
Burge, William. An Optimizing Technique for High Level Programming Languages. Tech. Rept. Computer Science RC5834 #25271. IBM Research Center/Yorktown Heights, 1976.
|
 |
4
|
|
 |
5
|
|
| |
6
|
Feather, Martin S. A System for Developing Programs by Transformation. Ph.D. Th., U. of Edinburgh, Dept. of Artificial Intelligence, 1979.
|
| |
7
|
Friedman, D., Wise, D. CONS should not evaluate its arguments. In Automata, Languages, and Programming. S. Michaelson and R. Milner, Ed..Edinburgh Univ. Press, Edinburgh, 1976. pp. 257-284.
|
 |
8
|
|
| |
9
|
Garey, Michael R., Johnson, David S.. Computers and Intractability. Freeman. 1979.
|
 |
10
|
|
| |
11
|
Halmos, P.R.. Naive Set Theory. Nan Nostrand, 1960.
|
| |
12
|
|
 |
13
|
|
| |
14
|
Kennedy, K. A Survey of Compiler Optimization Techniques. In Program Flow Analysis. Muchnick, S. and Jones, N., Eds., Prentice Hall. 1981, pp. 5-54.
|
| |
15
|
|
| |
16
|
Morgenstern. Matthew. Automated Design and Optimization of Management Information System Software. Ph.D. Th.. MIT. Laboratory for Computer Science, Sep 1976.
|
| |
17
|
|
| |
18
|
Paige. R.. Formal Differentiation. UMI Research Press. Ann Arbor. Mich, 1981. Revision of Ph.D. thesis. NYU, June 1979
|
 |
19
|
|
| |
20
|
Paige, Robert. Applications of Finite Differencing to Database Integrity Control and Query/Transaction Optimization. In Advances In Database Theory, Volume 2. Gallaire, H.. Minker, J., and Nicolas. J.-M.. Ed.. Plenum Press, New York, 1984, pp. 171-210.
|
 |
21
|
|
 |
22
|
|
| |
23
|
Reif, J. and Scherlis, W. Deriving Efficient Graph Algorithms. Carnegie-Mellon U., 1982. Technical Report
|
| |
24
|
Schwartz, J. T.. On Programming: An Interim Report on the SETL Project, Installments I and II. CIMS. New York Univ., New York. 1974.
|
 |
25
|
P. Griffiths Selinger , M. M. Astrahan , D. D. Chamberlin , R. A. Lorie , T. G. Price, Access path selection in a relational database management system, Proceedings of the 1979 ACM SIGMOD international conference on Management of data, May 30-June 01, 1979, Boston, Massachusetts
[doi> 10.1145/582095.582099]
|
| |
26
|
Sharir, M. "Formal Integration - A Program Transformation Technique." Compout. Lang. 6, 1 (1982), 35-46.
|
| |
27
|
|
 |
28
|
|
| |
29
|
Weixalbaum, E. Formal Integration. unpublished manuscript
|
|