A Comparative Study of Stampede Garbage Collection Algorithms

  • Hasnain A. Mandviwala
  • Nissim Harel
  • Kathleen Knobe
  • Umakishore Ramachandran
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2481)

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 Footprint 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 3.
    Fujimoto, R.M.: Parallel Discrete Event Simulation. Comm. of the ACM 33(10) (October 1990)Google Scholar
  4. 4.
    Fujimoto, R.M.: Parallel and distributed simulation. In: Winter Simulation Conference, December 1995, pp. 118–125 (1995)Google Scholar
  5. 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. 6.
    Jefferson, D.R.: Virtual time. ACM Transactions on Programming Languages and Systems 7(3), 404–425 (1985)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Jones, R., Lins, R.: Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley, Chichester (1996), ISBN: 0471941484MATHGoogle Scholar
  8. 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. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Hasnain A. Mandviwala
    • 1
  • Nissim Harel
    • 1
  • Kathleen Knobe
    • 2
  • Umakishore Ramachandran
    • 1
  1. 1.Georgia Institute of TechnologyCollege of Computing 
  2. 2.HP LabsCambridge Research Laboratory 

Personalised recommendations