|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Gagan Agrawal, "A General Interprocedural Framework for Placement of Split-Phase Large Latency Operations," IEEE Transactions on Parallel and Distributed Systems, vol. 10, no. 4, pp. 394-413, April, 1999. | |||
| BibTex | x | ||
| @article{ 10.1109/71.762818, author = {Gagan Agrawal}, title = {A General Interprocedural Framework for Placement of Split-Phase Large Latency Operations}, journal ={IEEE Transactions on Parallel and Distributed Systems}, volume = {10}, number = {4}, issn = {1045-9219}, year = {1999}, pages = {394-413}, doi = {http://doi.ieeecomputersociety.org/10.1109/71.762818}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Parallel and Distributed Systems TI - A General Interprocedural Framework for Placement of Split-Phase Large Latency Operations IS - 4 SN - 1045-9219 SP394 EP413 EPD - 394-413 A1 - Gagan Agrawal, PY - 1999 KW - Memory hierarchy transformations KW - data-flow analysis KW - interprocedural analysis KW - code motion KW - input/output. VL - 10 JA - IEEE Transactions on Parallel and Distributed Systems ER - | |||
Abstract—Overlapping split-phase large latency operations with computations is a standard technique for improving performance on modern architectures. In this paper, we present a general interprocedural technique for overlapping such accesses with computation. We have developed an Interprocedural Balanced Code Placement (IBCP) framework, which performs analysis on arbitrary recursive procedures and arbitrary control flow and replaces synchronous operations with a balanced pair of asynchronous operations. We have evaluated this scheme in the context of overlapping I/O operations with computation. We demonstrate how this analysis is useful for applications which perform frequent and large accesses to disks, including applications which snapshot or checkpoint their computations or out-of-core applications.
[1] A. Acharya, M. Uysal, R. Bennett, A. Mendelson, M. Beynon, J.K. Hollingsworth, J. Saltz, and A. Sussman, “Tuning the Performance of I/O Intensive Parallel Applications,” Proc. Fourth Ann. Workshop I/O in Parallel and Distributed Systems (IOPADS), May 1996.
[2] G. Agrawal and J. Saltz, “Interprocedural Communication Optimizations for Distributed Memory Compilation,” Proc. Seventh Workshop Languages and Compilers for Parallel Computing, pp. 283-299, Aug. 1994. Also available as Univ. of Maryland Technical Report CS-TR-3264.
[3] G. Agrawal and J. Saltz, “Interprocedural Compilation of Irregular Applications for Distributed Memory Machines,” Proc. Supercomputing '95, Dec. 1995.
[4] G. Agrawal, J. Saltz, and R. Das, “Interprocedural Partial Redundancy Elimination and Its Application to Distributed Memory Compilation,” Proc. ACM SIGPLAN '95 Conf. Programming Language Design and Implementation (PLDI '95), vol. 30, no. 6, pp. 258-269, 1995.
[5] G.A. Bird, Molecular Gas Dynamics and the Direct Simulation of Gas Flows. Oxford: Clarendon Press, 1994.
[6] R. Bordawekar, A. Choudhary, K. Kennedy, C. Koelbel, and M. Paleczny, “A Model and Compilation Strategy for Out-of-Core Data Parallel Programs,” Proc. Fifth ACM SIGPLAN Symp. Principles&Practice of Parallel Programming (PPOPP), pp. 1-10, July 1995. ACM SIGPLAN Notices, vol. 30, no. 8.
[7] R. Bordawekar, J.M. del Rosario, and A. Choudhary, “Design and Evaluation of Primitives for Parallel I/O,” Proc. Supercomputing '93, pp. 452-461, Nov. 1993.
[8] D. Callahan, "The Program Summary Graph and Flow-Sensitive Interprocedural Data Flow Analysis," Proc. SIGPLAN '88 Conf. Programming Language Design and Implementation,Atlanta, Ga., June 1988.
[9] Callahan Kennedy and Porterfield, "Software Prefetching," Proc. Fourth Int'l Conf. Architectural Support for Programming Languages and Operating Systems, pp. 40-52, Apr. 1991.
[10] A. Choudhary, R. Bordawekar, M. Harry, R. Krishnaiyer, R. Ponnusamy, T. Singh, and R. Thakur, “PASSION: Parallel and Scalable Software for Input-Output,” Technical Report SCCS-636, NPAC, Sept. 1994. Also available as CRPC Report CRPC-TR94483.
[11] K. Cooper and K. Kennedy, "Interprocedural Side-Effect Analysis in Linear Time," Proc. SIGPLAN '88 Conf. Programming Language Design and Implementation,Atlanta, Ga., June 1988.
[12] P.E. Crandall, R.A. Aydt, A.A. Chien, and D.A. Reed, “Input/Output Characteristics of Scalable Parallel Applications,” Proc. Supercomputing, Dec. 1995.
[13] M. Emami, R. Ghiya, and L.J. Hendren, “Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers,” Proc. Conf. Programming Language Design and Implementation, pp. 242-257, 1994.
[14] N. Galbreath, W. Gropp, and D. Levine, “Applications-Driven Parallel I/O,” Proc. Supercomputing '93, pp. 462-471, Nov. 1993.
[15] E. Gornish, E. Granston, and A. Veidenbaum, "Compiler Directed Data Prefetching in Multiprocessors with Memory Hierarchies," Proc. 1990 Int'l Conf. Supercomputing, pp. 354-368, 1990.
[16] M. Hall, "Managing Interprocedural Optimization," PhD thesis, Rice Univ., Oct. 1990.
[17] M. Hall, J.M Mellor Crummey, A. Carle, and R.G Rodriguez, "FIAT: A Framework for Interprocedural Analysis and Transformations," Proc. Sixth Workshop Languages and Compilers for Parallel Computing, pp. 522-545. Springer-Verlag, Aug. 1993.
[18] R. von Hanxleden and K. Kennedy, "Give-N-Take—A Balanced Code Placement Framework," Proc. SIGPLAN '94 Conf. Programming Language Design and Implementation, pp. 107-120. ACM Press, June 1994.
[19] M.J. Harrold and M.L. Soffa, "Efficient Computation of Interprocedural Definition-Use Chains," ACM Trans. Programming Languages and Systems, vol. 16, no. 2, pp. 175-204, Mar. 1994.
[20] D. Kotz, “Disk-Directed I/O for MIMD Multiprocessors,” Technical Report PCS-TR94-226, Dept. of Computer Science, Dartmouth College, July 1994.
[21] W. Landi and B.G. Ryder, "A Safe Approximate Algorithm for Pointer-Induced Aliasing," Proc. ACM SIGPLAN'92 Conf. Programming Language Design and Implementation (PLDI'92), pp. 235-248, 1992. published as SIGPLAN Notices, vol. 27, no. 7.
[22] K.-L. Ma and Z.C. Zheng, “3D Visualization of Unsteady 2D Airplane Wake Vortices,” Proc. Visualization '94, pp. 124-131, Oct. 1994.
[23] T.J. Marlowe and B.G. Ryder, “Properties of Data Flow Frameworks,” Acta Informatica, vol. 28, pp. 121-163, 1990.
[24] B. Moon and J. Saltz, “Adaptive Runtime Support for Direct Simulation Monte Carlo Methods on Distributed Memory Architectures,” Proc. Scalable High Performance Computing Conf. (SHPCC-94), pp. 176-183, May 1994.
[25] E. Morel and C. Renvoise, "Global Optimization by Suppression of Partial Redundancies," Comm. ACM, vol. 22, no. 2, pp. 96-103, Feb. 1979.
[26] T.C. Mowry, A.K. Demke, and O. Krieger, “Automatic Compiler-Inserted I/O Prefetching for Out-of-Core Applications,” Proc. Second Symp. Operating Systems Design and plementation (OSDI '96), Nov. 1996.
[27] T.C. Mowry, M.S. Lam, and A. Gupta, “Design and Evaluation of a Compiler Algorithm for Prefetching,” Proc. Fifth Int'l Conf. Architectural Support for Programming Languages and Operating Systems, Oct. 1992.
[28] E. Myers, "A Precise Interprocedural Data Flow Algorithm," Conf. Record Eighth ACM Symp. Principles of Programming Languages, pp. 219-230, Jan. 1981.
[29] M. Paleczny, K. Kennedy, and C. Koelbel, “Compiler Support for Out-of-Core Arrays on Parallel Machines,” Proc. Fifth Symp. Frontiers of Massively Parallel Computation, pp. 110-118, Feb. 1995.
[30] G. Patnaik, K. Kailasnath, and E.S. Oran, “Effect of Gravity on Flame Instabilities in Premixed Gases,” AIAA J., vol. 29, no. 12, pp. 2,141-2,148, Dec. 1991.
[31] R. Thakur, R. Bordawekar, and A. Choudhary, “Compilation of Out-of-Core Data Parallel Programs for Distributed Memory Machines,” Proc. IPPS '94 Second Ann. Workshop Input/Output in Parallel Computer Systems, pp. 54-72, Apr. 1994. Also appears in ACM Computer Architecture News, vol. 22, no. 4, Sept. 1994.
[32] R.P. Wilson and M.S. Lam, “Efficient Context-Sensitive Pointer Analysis for C Programs,” Proc. Conf. Programming Language Design and Implementation. pp. 1-12, 1995.
[33] M. Wolf and M. Lam, “A Data Locality Optimizing Algorithm,” Proc. SIGPLAN Conf. Programming Language Design and Implementation, pp. 30-44, June 1991.
[34] M. Wolfe, “Data Dependence and Program Restructuring,” J. Supercomputing, vol. 4, no. 4, pp. 321-344, Jan. 1991.

