LCPC 2002: Languages and Compilers for Parallel Computing pp 249-264 | Cite as
A Comparative Study of Stampede Garbage Collection Algorithms
Abstract
Stampede is a parallel programming system to support interactive multimedia applications. The system maintains temporal causality in such streaming real-time applications via channels that contain timestamped items. A Stampede application is a coarse-grain dataflow pipeline of timestamped items. Not all timestamps are relevant for the application output due to the differential processing rates of the pipeline stages. Therefore, garbage collection (GC) is crucial for Stampede runtime performance. Three GC algorithms are currently available in Stampede. In this paper, we ask the question how far off these algorithms are from an ideal garbage collector, one in which the memory usage is exactly equal to that which is required for buffering only the relevant timestamped items in the channels? This oracle, while unimplementable, serves as an empirical lower-bound for memory usage. We then propose optimizations that will help us get closer to this lower-bound. Using an elaborate measurement and post-mortem analysis infrastructure in Stampede, we evaluate the performance potential for these optimizations. A color-based people tracking application is used for the performance evaluation. Our results show that these optimizations reduce the memory usage by over 60% for this application over the best GC algorithm available in Stampede.
Keywords
Memory Usage Garbage Collection Task Graph Runtime System Memory FootprintPreview
Unable to display preview. Download preview PDF.
References
- 1.Bryant, R.E.: Simulation of Packet Communication Architecture Computer Systems. Technical Report MIT-LCS-TR-188, M.I.T, Cambridge, MA (1977)Google Scholar
- 2.Chandy, K., Misra, J.: Asynchronous distributed simulation via a sequence of parallel computation. Communications of the ACM 24, 198–206 (1981)CrossRefMathSciNetGoogle Scholar
- 3.Fujimoto, R.M.: Parallel Discrete Event Simulation. Comm. of the ACM 33(10) (October 1990)Google Scholar
- 4.Fujimoto, R.M.: Parallel and distributed simulation. In: Winter Simulation Conference, December 1995, pp. 118–125 (1995)Google Scholar
- 5.Harel, N., Mandviwala, H.A., Knobe, K., Ramachandran, U.: Dead timestamp identification in stampede. In: The 2002 International Conference on Parallel Processing (ICPP 2002) (August 2002) (to appear)Google Scholar
- 6.Jefferson, D.R.: Virtual time. ACM Transactions on Programming Languages and Systems 7(3), 404–425 (1985)CrossRefMathSciNetGoogle Scholar
- 7.Jones, R., Lins, R.: Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley, Chichester (1996), ISBN: 0471941484MATHGoogle Scholar
- 8.Nikhil, R.S., Ramachandran, U.: Garbage Collection of Timestamped Data in Stampede. In: Proc. Nineteenth Annual Symposium on Principles of Distributed Computing (PODC 2000), Portland, Oregon (July 2000)Google Scholar
- 9.Nikhil, R.S., Ramachandran, U., Rehg, J.M., Halstead Jr., R.H., Joerg, C.F., Kontothanassis, L.: Stampede: A programming system for emerging scalable interactive multimedia applications. In: Carter, L., Ferrante, J., Sehr, D., Chatterjee, S., Prins, J.F., Li, Z., Yew, P.-C. (eds.) LCPC 1998. LNCS, vol. 1656, p. 83. Springer, Heidelberg (1999)CrossRefGoogle Scholar
- 10.Ramachandran, U., Nikhil, R.S., Harel, N., Rehg, J.M., Knobe, K.: Space-Time Memory: A Parallel Programming Abstraction for Interactive Multimedia Applications. In: Proc. Principles and Practice of Parallel Programming (PPoPP 1999), Atlanta GA (May 1999)Google Scholar
- 11.Rehg, J.M., Loughlin, M., Waters, K.: Vision for a Smart Kiosk. In: Computer Vision and Pattern Recognition, San Juan, Puerto Rico, June 17-19, pp. 690–696 (1997)Google Scholar
- 12.Wilson, P.R.: Uniprocessor garbage collection techniques. In: Bekkers, Y., Cohen, J. (eds.) Intl. Wkshp. on Memory Management (IWMM 1992), St. Malo, France, September 1992, pp. 1–42 (1992)Google Scholar