ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallel discrete event simulation
Communications of the ACM - Special issue on simulation
Parallel and distributed simulation
WSC '95 Proceedings of the 27th conference on Winter simulation
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Space-time memory: a parallel programming abstraction for interactive multimedia applications
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Garbage collection of timestamped data in Stampede
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Asynchronous distributed simulation via a sequence of parallel computations
Communications of the ACM - Special issue on simulation modeling and statistical computing
Stampede: A Programming System for Emerging Scalable Interactive Multimedia Applications
LCPC '98 Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
CVPR '97 Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition (CVPR '97)
Dead Timestamp Identification in Stampede
ICPP '02 Proceedings of the 2002 International Conference on Parallel Processing
SIMULATION OF PACKET COMMUNICATION ARCHITECTURE COMPUTER SYSTEMS
SIMULATION OF PACKET COMMUNICATION ARCHITECTURE COMPUTER SYSTEMS
Adaptive Resource Utilization via Feedback Control for Streaming Applications
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01
Distributed Garbage Collection Algorithms for Timestamped Data
IEEE Transactions on Parallel and Distributed Systems
Hi-index | 0.00 |
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.