ABSTRACT
Realistic interactive multimedia involving vision, animation, and multimedia collaboration is likely to become an important aspect of future computer applications. The scalable parallelism inherent in such applications coupled with their computational demands make them ideal candidates for SMPs and clusters of SMPs. These applications have novel requirements that offer new kinds of challenges for parallel system design.We have designed a programming system called Stampede that offers many functionalities needed to simplify development of such applications (such as high-level data sharing abstractions, dynamic cluster-wide threads, and multiple address spaces). We have built Stampede and it runs on clusters of SMPs. To date we have implemented two applications on Stampede, one of which is discussed herein.In this paper we describe a part of Stampede called Space-Time Memory (STM). It is a novel data sharing abstraction that enables interactive multimedia applications to manage a collection of time-sequenced data items simply, efficiently, and transparently across a cluster. STM relieves the application programmer from low level synchronization and data communication by providing a high level interface that subsumes buffer management, inter-thread synchronization, and location transparency for data produced and accessed anywhere in the cluster. STM also automatically handles garbage collection of data items that will no longer be accessed by any of the application threads. We discuss ease of use issues for developing applications using STM, and present preliminary performance results to show that STM's overhead is low.
- 1.S. Ahuja, N. Carriero, and G. David. Linda and Friends. IEEE Computer, 19(8):26-34, August 1986.]] Google ScholarDigital Library
- 2.H. E. Bal, A. E. Tanenbaum, and M. F. Kaashoek. Orca: A Language for Distributed Programming. A CM SIGPLAN Notices, 25(5):17-24, May 1990.]] Google ScholarDigital Library
- 3.N. J. Boden, D. Cohen, R. E. Felderman, A. E. Kulawik, C. L. Seitz, J. N. Seizovic, and W.-K. Su. Myrinet- a gigabit-per-second local-area network, Draft 16 Nov 1994.]]Google Scholar
- 4.A. D. Christian and B. L. Avery. Digital Smart Kiosk Project. In ACM SIGCHI '98, pages 155-162, Los Angeles, CA, April 18-23 1998.]] Google ScholarDigital Library
- 5.K. Ghosh and R. M. Fujimoto. Parallel Discrete Event Simulation Using Space-Time Memory. In 20th International Conference on Parallel Processing (ICPP), August 1991.]]Google Scholar
- 6.R. Gillett. MEMORY CHANNEL Network for PCI: An Optimized Cluster Interconnect. IEEE Micro, pages 12-18, February 1996.]] Google ScholarDigital Library
- 7.R. W. Horst and D. Garcia. Servernet SAN I/O Architecture. In Hot interconnects Symposium V, Kresge Auditorium, Stanford University, Stanford CA, August 21-23 1997. See also www.servernet.com.]]Google Scholar
- 8.IEEE. Threads standard POSIX 1003.1c-1995 (also ISO/IEC 9945-1:1996), 1996.]]Google Scholar
- 9.D. R. Jefferson. Virtual Time. A CM Transactions on Programming Languages and Systems, 7(3):404-425, July 1985.]] Google ScholarDigital Library
- 10.S. B. Kang. A Survey of Image-based Rendering Techniques. Technical Report CRL 97/4, Cambridge Research Lab., Digital Equipment Corp., August 1997.]]Google Scholar
- 11.P. Keleher, A. Cox, S. Dwarkadas, and W. Zwaenepoel. TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems. In Proc. Winter Usenix, 1994.]] Google ScholarDigital Library
- 12.K. Knobe, J. M. Rehg, A. Chauhan, R. S. Nikhil, and U. Ramachandran. Dynamic Task and Data Parallelism Using Space-Time Memory. In preparation.]]Google Scholar
- 13.L. Kontothanassis, G. Hunt, R. Stets, N. Hardavellas, M. Cierniak, S. Parthasarathy, W. Meira, S. Dwarkadas, and M. Scott. VM-Based Shared Memory on Low-Latency Remote-Memory-Access Networks. In Proc. Intl. Syrup. on Computer Architecture (ISCA) 1997, Denver, Colorado, June 1997.]] Google ScholarDigital Library
- 14.Message Passing Interface Forum. MPI: A Message- Passing Interface Standard, May 1994. www.mpiforum.org.]]Google Scholar
- 15.R. S. Nikhil. Cid: A Parallel "Shared-memory" C for Distributed Memory Machines. In Proc. 7th. An. Wkshp. on Languages and Compilers for Parallel Computing (LCPC), Ithaca, NY, Springer-Verlag LNCS 892, pages 376-390, August 8-10 1994.]] Google ScholarDigital Library
- 16.R. S. Nikhil and U. Ramachandran. Garbage Collection of Timestamped Data in Stampede, January 1999. (submitted for publication).]] Google ScholarDigital Library
- 17.J. M. Rehg, M. Loughlin, and K. Waters. Vision for a Smart Kiosk. In Computer Vision and Pattern Recognition, pages 690-696, San Juan, Puerto Rico, June 17-19 1997.]] Google ScholarDigital Library
- 18.J. M. Rehg, U. Ramachandran, R. H. Halstead, Jr., C. Joerg, L. Kontothanassis, and R. S. Nikhil. Space- Time Memory: A Parallel Programming Abstraction for Dynamic Vision Applications. Technical Report CRL 97/2, Digital Equipment Corp. Cambridge Research Lab, April 1997.]]Google Scholar
- 19.D. J. Scales, K. Gharachorloo, and C. A. Thekkath. Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory. In Proe. 7th. ASPLOS, Boston MA, October 1996.]] Google ScholarDigital Library
- 20.A. Singla, U. Ramachandran, and J. Hodgins. Temporal Notions of Synchronization and Consistency in Beehive. In 9th Annual A CM Symposium on Parallel Algorithms and Architectures, June 1997.]] Google ScholarDigital Library
- 21.K. Waters and T. Levergood. An Automatic Lip- Synchronization Algorithm for Synthetic Faces. Multimedia Tools and Applications, 1(4):349-366, Nov 1995.]]Google Scholar
- 22.K. Waters, J. M. Rehg, M. Loughlin, S. B. Kang, and D. Terzopoulos. Visual Sensing of Humans for Active Public Interfaces. In R. Cipolla and A. Pentland, editors, Computer Vision for Human-Machine Interaction, pages 83-96. Cambridge University Press, 1998.]]Google ScholarCross Ref
Index Terms
- Space-time memory: a parallel programming abstraction for interactive multimedia applications
Recommendations
Space-time memory: a parallel programming abstraction for interactive multimedia applications
Realistic interactive multimedia involving vision, animation, and multimedia collaboration is likely to become an important aspect of future computer applications. The scalable parallelism inherent in such applications coupled with their computational ...
Progressive Transactional Memory in Time and Space
Proceedings of the 13th International Conference on Parallel Computing Technologies - Volume 9251Transactional memory TM allows concurrent processes to organize sequences of operations on shared data items into atomic transactions. A transaction may commit, in which case it appears to have executed sequentially or it may abort, in which case no ...
Software transactional memory validation – time and space considerations
Transactions on High-Performance Embedded Architectures and Compilers IVWith single thread performance hitting the power wall, hardware architects have turned to chip-level multiprocessing to increase processor performance. As a result, issues related to the construction of scalable and reliable multi-threaded applications ...
Comments