Parallel discrete event simulation
Communications of the ACM - Special issue on simulation
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
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
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)
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
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
Experiences with optimizing two stream-based applications for cluster execution
Journal of Parallel and Distributed Computing
Distributed Garbage Collection Algorithms for Timestamped Data
IEEE Transactions on Parallel and Distributed Systems
A comparative study of stampede garbage collection algorithms
LCPC'02 Proceedings of the 15th international conference on Languages and Compilers for Parallel Computing
Hi-index | 0.00 |
Stampede is a parallel programming system to facilitate the programming of interactive multimedia applications on clusters of SMPs.In a Stampede application, a variable number of threads can communicate data items to each other via channels, which are distributed, synchronized data structures containing timestamped data such as images from a video camera. Channels are not queue-like: threads may produce and consume items out of timestamp order; they may produce and consume items sparsely (skipping timestamps), and multiple threads (including newly created threads) may consume an item in a channel. These flexibilities are required due to the complex dynamic parallel structure of applications, to support increased parallelism, and because of real-time requirements.Under these circumstances, a key issue is the “garbage collection condition”: When can an item in a channel be garbage collected?In this paper we specify precisely Stampede's semantics concerning timestamps, and we describe two associated garbage collection conditions& a weak condition, and a more expensive but stronger condition. We then describe a distributed, concurrent algorithm that implements these two GC conditions. We present performance numbers that show little or no application-level performance penalty to using this algorithm for aiding automatic garbage collection in a cluster. We conclude with some remarks about the implementation in the Stampede system.