System for parallel processing that compiles a filed sequence of instructions within an iteration space
Patent 5535393 Issued on July 9, 1996. Estimated Expiration Date: June 5, 2015. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.
717/149, For a parallel or multiprocessor system712/10, Array processor717/154, Including analysis of program718/106Dependency based cooperative processing of multiple programs working together to accomplish a larger task
An improved parallel processing apparatus and method executes an iterative sequence of instructions by arranging the sequence into subtasks and allocating those subtasks to processors. This division and allocation is conducted in such a manner as to minimize data contention among the processors and to maximize the locality of data to them. The improved apparatus and method have application to a variety of multiprocessor systems, including those which are massively parallel.
Other References
Ouyang, "Execution of Regular DO Loops on Asynchronous Multiprocessors," Proc. of the Fifth Int'l Parallel Processing Symposium, 30 Apr.-2 May 1991, pp. 605-610
Kulkarni et al, "Loop Partitioning Unimodular Transformations for Distributed Memory Multiprocessors", Proc. of the Fifth Int'l Parallel Processing Symposium, 30 Apr.-2 May 1991, pp. 599-604
Wang et al, "Compiler Techniques to Extract Parallelism within a Nested Loop", Proc of the Fifteenth Annual Int'l Computer Software and Applications Conference, 11-13 Sep. 1991, pp. 24-29
Uffenbeck, "Microcomputers and Microprocessors" (Prentice Hall, 1985), Sec. 6.5-7.4, pp. 257-332
Software-Practice And Experience, vol. 18(8), 713-732 (Aug. 1988), Bershad et al., "Presto: A System for Object-oriented Parallel Programming"
Wolfe, Optimizing Supercompilers for Supercomputers, (1989) The MIT Press
Wolfe and Banerjee, International Journal of Parallel Programming, (1987), vol. 16, No. 2, pp. 137-178, "Data Dependence and Its Application for Parallel Processing"
Padua and Wolfe, Communications of the ACM, (1986), vol. 29 No. 12, pp. 1184-1201, "Advanced Compiler Optimizations for Supercomputers"
Ramanujam and Sadayappan, Communications of the ACM, (1991), "Tiling Multidimensional Iteration Spaces for Nonshared Memory Machines", pp. 111-120
Wolfe et al., "More Interaction Space Tiling" Proceedings Supercomputing '89, pp. 655-664, Nov. 13-17, 1989, Reno, Nevada, Sponsored by IEEE Computer Society and ACM SIGARCH, ACM Order No. 415892
Li et al., "Compiling Communication-Efficient Programs for Massively Parallel Machines" IEEE Transactions on Parallel and Distributed Systems, vol. 2, No. 3, pp. 361-376, Jul. 1991
Midkiff et al., "Architectural Support for Interprocessor Communication in Point-to-Point Multiprocessor Networks" Proceedings of the 6th Annual Phoenix Conference on Computers and Communications, 25-27 Feb. 1987, pp. 14-17
European Search Report issued during prosecution of EP 92 308 406.5, mailed Apr. 15, 199