|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Christian Clémençon, Bodhisattwa Mukherjee, Karsten Schwan, "Distributed Shared Abstractions (DSA) on Multiprocessors," IEEE Transactions on Software Engineering, vol. 22, no. 2, pp. 132-152, February, 1996. | |||
| BibTex | x | ||
| @article{ 10.1109/32.485223, author = {Christian Clémençon and Bodhisattwa Mukherjee and Karsten Schwan}, title = {Distributed Shared Abstractions (DSA) on Multiprocessors}, journal ={IEEE Transactions on Software Engineering}, volume = {22}, number = {2}, issn = {0098-5589}, year = {1996}, pages = {132-152}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.485223}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Software Engineering TI - Distributed Shared Abstractions (DSA) on Multiprocessors IS - 2 SN - 0098-5589 SP132 EP152 EPD - 132-152 A1 - Christian Clémençon, A1 - Bodhisattwa Mukherjee, A1 - Karsten Schwan, PY - 1996 KW - Distributed shared memory KW - application dependent memory consistency KW - fragmented objects KW - asynchronous events KW - topology. VL - 22 JA - IEEE Transactions on Software Engineering ER - | |||
Abstract—Any parallel program has abstractions that are shared by the program's multiple processes, including data structures containing shared data, code implementing operations like global sums or minima, type instances used for process synchronization or communication. Such shared abstractions can considerably affect the performance of parallel programs, on both distributed and shared memory multiprocessors. As a result, their implementation must be efficient, and such efficiency should be achieved without unduly compromising program portability and maintainability. Unfortunately, efficiency and portability can be at cross-purposes, since high performance typically requires changes in the representation of shared abstractions across different parallel machines.
The primary contribution of the DSA library presented and evaluated in this paper is its representation of shared abstractions as objects that may be internally distributed across different nodes of a parallel machine. Such
[1] K. Schwan and W. Bo, "Topologies—Distributed objects on multicomputers," ACM Trans. Computer Systems, vol. 8, pp. 111-157, May 1990.
[2] G. Fox,M. Johnson,G. Lyzenga,S. Otto,J. Salmon,, and D. Walker,Solving Problems on Concurrent Processors, Vol. I: General Techniques andRegular Problems.Englewood Cliffs, N.J.: Prentice Hall 1988.
[3] T.J. Leblanc, "Shared memory versus message-passing in a tightly-coupled multiprocessor: A case study," Proc. Int'l Conf. Parallel Processing, pp. 463-466, Aug. 1986.
[4] T.E. Anderson,“The performance of spin lock alternatives for shared memory multiprocessors,” IEEE Trans. Parallel and Distributed Systems, vol. 1, no. 1, pp. 6-16, 1990.
[5] J. M. Mellor-Crummey and M. L. Scott,“Algorithms for scalable synchronization on shared-memory multiprocessors,”ACM Trans. Comput. Syst., vol, 9, no. 1, pp. 21–65, Feb. 1991.
[6] M. Shapiro, "Structure and encapsulation in distributed systems: The proxy principle," Proc. Sixth Int'l Conf. Distributed Computing Systems pp. 198-204, May 1986.
[7] E. Cooper and R. Draves, "C threads," Technical Report No. CMU-CS-88-154, Dept. of Computer Science, Carnegie Mellon Univ., June 1988.
[8] B. Mukherjee, "A portable and reconfigurable threads package," Proc. Sun User Group Technical Conf., pp. 101-112, June 1991.
[9] A. Birrell and B. Nelson, "Implementing Remote Procedure Calls," ACM Trans. Computer Systems," vol. 2, pp. 39-59, 1984.
[10] M. Satayanarayanan, J. Howard, D. Nichols, R. Sidebotham, A. Spector, and M. West, "The ITC distributed file system: Principles and design," Proc. 10th ACM Symp. Operating System Principles, pp. 35-50, Dec. 1985.
[11] K. Gharchorloo, D. Lenoski, J. Laudon, P. Gibbons, A. Gupta, and J. Hennessy, "Memory consistency and event ordering in scalable shared memory multiprocessors," Proc. 17th Ann. Int'l Symp. Computer Architecture, May 1990.
[12] J. Bennett, J. Carter, and W. Zwaenepoel, "Munin: Distributed shared-memory based on type-specific memory coherence," Proc. 1990 Conf. Principles and Practice of Parallel Programming.New York: ACM Press, pp. 168-176, 1990.
[13] P.W. Hutto and M. Ahamad, "Slow memory: Weakening consistency to enhance concurrency in distributed shared memories," Proc. Int'l Conf. Distributed Computing Systems, pp. 302-311, 1990.
[14] K. Li and P. Hudak, "Memory Coherence in Shared Virtual Memory Systems," ACM Trans. Computer Surveys, vol. 7, no. 4, Nov. 1989.
[15] P. Kohli, M. Ahamad, and K. Schwan, "Indigo: User-level support for building distributed shared abstractions," Proc. Fourth IEEE Int'l Symp. High-Performance Distributed Computing, Aug. 1995.
[16] H. Bal, M. Kaashoek, and A. Tanenbaum, "Orca: A language for parallel programming of distributed systems," IEEE Trans. Software Engineering, vol. 13, Mar. 1992.
[17] V. Karamcheti and A. Chien, "Concert—Efficient runtime support for concurrent object-oriented programming languages on stock hardware," Proc. Supercomputing, May 1993.
[18] W. Weihl, E. Brewer, A. Colbrook, C. Dellarocas, W. Hsieh, A. Joseph, C. Waldspurger, and P. Wang, "Prelude: A system for portable parallel software," MIT Lab for Computer Science, Technical Report MIT/LCS/TR-519, Oct. 1991.
[19] W. Hsieh, K. Johnson, M. Kaashoek, D. Wallach, and W. Weihl, "Optimistic active messages: A mechanism for scheduling communication with computation," Proc. Symp. Principles and Practice of Parallel Programming, July 1995
[20] E. Spertus and W.J. Dally, "Evaluating and locality benefits of active messages," Proc. Symp. Principles and Practice of Parallel Programming, July 1995.
[21] B. Mukherjee, D. Silva, K. Schwan, and A. Gheith, "KTK: Kernel support for configurable objects and invocations," Distributed Systems Engineering J., vol. 1, pp. 259-270, Sept. 1994.
[22] M. Shapiro, "Object-supporting operating systems," TCOS Newsletter, vol. 5, pp. 39-42, 1991.
[23] D.M. Ogle, K. Schwan, and R. Snodgrass, "The dynamic monitoring of real-time distributed and parallel systems," Technical Report ICS-GIT-90/23, College of Computing, Georgia Inst. of Tech nology, Atlanta, May 1990.
[24] C. Kilpatrick and K. Schwan, "Chaosmon—Application-specific monitoring and display of performance information for parallel and distributed systems," Proc. ACM Workshop Parallel and Distributed Debugging, pp. 57-67, May 1991.
[25] B. Mukherjee and K. Schwan, “Improving Performance by Use of Adaptive Objects: Experimentation with a Configurable Multiprocessor Thread Package,” Proc. Second Int'l Symp. High Performance Distributed Computing (HPDC-2), pp. 59–66, July 1993.
[26] W. Gu, G. Eisenhauer, E. Kraemer, K. Schwan, J. Stasko, J. Vetter, and N. Mallavarupu, "Falcon: On-line monitoring and steering of large-scale parallel programs," Technical Report GIT-CC-94-21, Georgia Inst. of Technology, College of Computing, Atlanta, Apr. 1994.
[27] A.K. Jones and K. Schwan, "Task forces: Distributed software for solving problems of substantial size," Proc. Fourth Int'l Conf. Software Engineering, pp. 315-329, Sept. 1979.
[28] R.H. Halstead Jr., "Multilisp: A language for concurrent symbolic computation," ACM Trans. Programming Languages and Systems, vol. 7, pp. 501-538, Oct. 1985.
[29] R. Finkel and U. Manber, "Dib—A distributed implementation of backtracking," ACM Trans. Programming Languages and Systems, vol. 9, pp. 235-255, Apr. 1987.
[30] K. Schwan, B. Blake, W. Bo, and J. Gawkowski, “Global Data and Control in Multicomputers: Operating System Primitives and Experimentation with a Parallel Branch-and-Bound Algorithm,” Concurrency: Practice and Experience, pp. 191–218, Dec. 1989.
[31] D.S.J.D. Little, K. Murty, and C. Karel, "An algorithm for the traveling salesman problem," Operations Research, vol. 11, 1963.
[32] J. Mohan, "Experience with two parallel programs solving the parallel salesman problem," Proc. Int'l Conf. Parallel Processing, pp. 191-193, Aug. 1983.
[33] K. Schwan, J. Gawkowski, and B. Blake, "Process and workload migration for a parallel branch-and-bound algorithm on a hypercube multicomputer," Proc. Third Conf. Hypercube Concurrent Computers and Applications, pp. 1,520-1,530, Jan. 1988.
[34] E. Chaves Jr., P. Das, T. LeBlanc, B. Marsh, and M. Scott, "Kernel-kernel communication in a shared-memory multiprocessor," Concurrency: Practice and Experience, vol. 5, pp. 171-192, May 1993.
[35] E. Felten, "Best-first branch-and-bound on a hypercube," Proc. Third Conf. Hypercube Concurrent Computers and Applications, Jan. 1988.
[36] K. Ghosh, B. Mukherjee, and K. Schwan, "Experimentation with configurable lightweight threads on a ksr multiprocessor," Technical report GIT-CC-93/37, College of Computing, Georgia Inst. of Tech nology, Atlanta, 1993.
[37] K. Schwan, H. Forbes, A. Gheith, B. Mukherjee, and Y. Samiotakis, "A C thread library for multiprocessors," Technical Report GIT-ICS-91/02, College of Computing, Georgia Inst. of Tech nology, Atlanta, Jan. 1991.
[38] A. Cox, R. Fowler, and J. Veenstra, "Interprocessor invocation on a numa multiprocessor," Technical report TR 356, Univ. of Rochester, 1990.
[39] D. Eager and J. Zahorjan, "Enhanced run-time support for shared memory parallel computing," ACM Trans. Computer Systems, vol. 11, pp. 1-32, Feb. 1993.
[40] G. Alverson and D. Notkin, "Program structuring for effective parallel portability," Proc. IEEE Trans. Parallel and Distributed Systems, vol. 4, pp. 1,041-1,059, Sept. 1993
[41] L. Crowl, "Architectural adaptability in parallel programming," PhD thesis, Dept. of Computer Science, Univ. of Rochester, May 1991.
[42] B. Mukherjee and K. Schwan, "Experimentation with a reconfigurable micro-kernel," Proc. Second Workshop Microkernels and Other Kernel Architectures, Sept. 1993.
[43] B. Lindgren, B. Krupczak, M. Ammar, and K. Schwan, "Parallel and configurable protocols: Experiences with a prototype and an architectural framework," Proc. Int'l Conf. Network Protocols, 1993.
[44] A. Gheith and K. Schwan, “CHAOS-Arc—Kernel Support for Multi-Weight Objects, Invocations, and Atomicity in Real-Time Applications,” ACM Trans. Computer Systems, vol. 11, no. 1, pp. 33–72, Apr. 1993.
[45] G. Eisenhauer, W. Gu, T. Kindler, K. Schwan, D. Silva, and J. Vetter, "Opportunities and tools for highly interactive distributed and parallel computing," Technical Report GIT-CC-94-58, Georgia Inst. of Technology, College of Computing, Atlanta, Dec. 1994.
[46] M. Schroeder and M. Burrows, "Performance or firefly rpc," Proc. 12th ACM Symp. Operating Systems, pp. 83-90, Dec. 1989.

