Phương Pháp Đại Diện Thời Gian - Không Gian Của Các Thuật Toán Lặp Để Thiết Kế Mảng Bộ Xử Lý

E.D. Kyriakis-Bitzaros1, C.E. Goutis2
1Institute of Microelectronics, NCSR “DEMOKRITOS,”, Agia Paraskevi, Greece
2VLSI Design Laboratory, Department of Electrical Engineering, University of Patras, Greece

Tóm tắt

Một phương pháp đại diện Thời Gian - Không Gian (STR) mới cho các thuật toán lặp được đề xuất để hệ thống hóa việc ánh xạ chúng lên các mảng bộ xử lý quy củ. Thông tin về thời gian được đưa vào Đồ Thị Phụ Thuộc (DG) thông qua việc định nghĩa và xây dựng Đồ Thị Thời Gian - Không Gian (STDG). Mọi biến trong thân vòng lặp, không phụ thuộc vào số lượng chỉ số vòng lặp, được đặc trưng bởi một vector nguyên bao gồm các chỉ số của nó, như phần không gian, và một chỉ số thời gian bổ sung, đại diện cho thời gian thực thi của nó theo một thời gian dự kiến. Lợi ích chính của STR là việc cần đồng nhất hóa thuật toán được tránh. Hơn nữa, đã được chứng minh rằng trong STDG không tồn tại các vector phụ thuộc có hướng ngược lại và do đó một ánh xạ tuyến tính của STDG lên mảng bộ xử lý mong muốn luôn có thể được thiết lập. Các kiến trúc quy củ 2D và 1D hiệu quả được tạo ra bằng cách áp dụng STR vào mô tả gốc của thuật toán Warshall-Floyd cho Vấn Đề Đường Đi Đại Số.

Từ khóa

#Đại diện Thời gian - Không gian #Thuật toán lặp #Đồ thị phụ thuộc #Mảng bộ xử lý #Ánh xạ tuyến tính #Kiến trúc quy củ

Tài liệu tham khảo

J. Bu and E.F. Deprettere, "Analysis and modelling of sequential iterative algorithms for parallel and pipeline implementations," ISCAS, pp. 1961–1965, 1988.

P.R. Cappello and K. Steiglitz, "Unifying VLSI array design with linear transformations of space-time," Advances in Computer Research, JAI Press Inc., Vol. 2, pp 23–65, 1984.

S.Y. Kung, VLSI Array Processors, Prentice Hall, New Jersey, 1988.

E.D. Kyriakis-Bitzaros and C.E. Goutis, "An efficient decomposition technique for mapping nested loops with constant dependencies into regular processor arrays," J. of Parallel and Distributed Computing, Vol. 16, pp. 258–264, 1992.

P. Lee and Z.M. Kedem, "Synthesizing linear array algorithms from nested for loop algorithms," IEEE Trans. on Computers, Vol. 37, pp. 1578–1598, 1988.

P. Lee and Z.M. Kedem, "Mapping nested loop algorithms into multidimensional systolic arrays," IEEE Trans. on Parallel and Distributed Systems, Vol. 1, pp. 64–76, 1990.

D.I. Moldovan and J.A.B. Fortes, "Partitioning and mapping algorithms into fixed size systolic arrays," IEEE Trans. on Computers, Vol C-35, pp. 1–12, 1986.

J.H. Moreno and T. Lang, "Matrix computations on systolic type meshes," IEEE Computer, Vol. 23, pp. 32–51, 1990.

P. Quinton and V. Van Dongen, "The mapping of linear recurrence equations on regular arrays," Journal of VLSI Signal Processing, Vol. 1, pp. 95–113, 1989.

P. Quinton, "The systematic design of systolic arrays," in Automata Networks in Computer Science, F. Fogelman, Y. Robert, and M. Tchuente <nt>(Eds.)</nt>, chap. 9, pp. 229–260, 1987.

S.V. Rajopadhye, "Synthesizing systolic arrays with control signals from recurrence equations," Distributed Computing, Vol. 3, pp. 88–105, 1989.

S.K. Rao and T. Kailath, "Regular iterative algorithms and their implementation on processor arrays," Proc. of the IEEE, Vol. 76, pp. 259–269, 1988.

V.P. Roychowdhury, S.K. Rao, L. Thiele, and T. Kailath, "On the localization of algorithms for VLSI processor arrays," in VLSI Signal Processing III, R.W. Brodersen and H.S. Moscovitz <nt>(Eds.)</nt>, IEEE Press, pp 459–470, 1988.

V. Van Dongen, "Systolic Design of Parameterized Recurrences," W.D. 042, Philips Research Lab, Brussels, Jan. 1987.

Y. Yaacoby and R. Cappello, "Scheduling a system of affine recurrence equations onto a systolic array," Proc. of the Int. Conf. on Systolic Arrays, pp. 373–381, 1988.

A. Darte and Y. Robert, "Constructive methods for scheduling uniform loop nests," IEEE Trans. on Parallel and Distributed Systems, Vol. 5, pp. 814–822, 1994.

D.J. Kuck, The Structure of Computers and Computations, John Wiley & Sons, 1978.

J.K. Peir, and R. Cytron, "Minimum distance: A method for partitioning recurrences for multiprocessors," IEEE Trans. on Computers, Vol. 38, 1989, pp. 1203–1211.

C.D. Polychronopoulos, Parallel Programming and Compilers, Kluwer Academic Publishers, 1988.

A. Rogers and K. Pingali, "Compiling for distributed memory architectures," IEEE Trans. on Parallel and Distributed Systems, Vol. 5, pp. 281–298, 1994.

W. Shang, M.T. O'Keefe and, J.A.B. Fortes, “On loop transformations for generalized cycle shrinking,” IEEE Trans. on Parallel and Distributed Systems, Vol. 5, pp. 193–204, 199

M.E. Wolf and M.S. Lam, "A loop transformation theory and an algorithm to maximize parallelism," IEEE Trans. on Parallel and Distributed Systems, Vol. 2, pp. 452–471, 1991.

R. Karp, R.E. Miller, and S. Winograd, "The organization of computations for uniform recurrence equations," Journal of the ACM, Vol. 14, pp. 563–590, 1967.

L. Lamport, "The parallel execution of DO loops," Communications of the ACM, Vol. 17, pp. 83–93, 1974.

J.A.B. Fortes, K.S. Fu, and B.W. Wah, "Systematic design approaches for algorithmically specified systolic arrays," in Computer Architecture, V. Milutinovic <nt>(Ed.)</nt>, North Holland, pp. 454–494, 1988.

Y.Wong and J.M. Delosme, "Broadcast removal in systolic algorithms," Proc. of the Int. Conf. on Systolic Arrays, pp. 403–412, 1989.

S.Y. Kung, S.C. Lo, and P.S. Lewis, "Optimal systolic design for the transitive closure and the shortest path problems," IEEE Trans. on Computers, Vol. C-36, pp. 603–614, 1987.

C.J. Scheiman and P.R. Cappello, "A processor-time-minimal systolic array for transitive closure," IEEE Trans. on Parallel and Distributed Systems, Vol. 3, pp. 257–269, 1992.

E.D. Kyriakis-Bitzaros, O.G. Koufopavlou, and C.E. Goutis, "Space-time representation of iterative algorithms and the design of regular/processor arrays," Proc. of the ICPP, Vol. 3, pp. 2–9, 1993.

G. Hadley, Linear Programming, AddisonWiley, Reading, MA, 1962.