Title:
Dead Timestamp Identification in Stampede
Dead Timestamp Identification in Stampede
Authors
Harel, Nissim
Mandviwala, Hasnain A.
Knobe, Kathleen
Ramachandran, Umakishore
Mandviwala, Hasnain A.
Knobe, Kathleen
Ramachandran, Umakishore
Authors
Person
Advisors
Advisors
Associated Organizations
Organizational Unit
Series
Collections
Supplementary to
Permanent Link
Abstract
Stampede is a parallel programming system to support computationally
demanding applications including interactive vision, speech and multimedia
collaboration. The system alleviates concerns such as communication,
synchronization, and buffer management in programming such real-time
stream-oriented applications. A coarse-grain dataflow graph is often a
convenient representation of such computations. Threads are loosely
connected by channels which hold streams of items, each identified by a
timestamp. A thread may read a timestamped item from one channel, perform
some analysis on that item and write an item with that same timestamp onto a
different channel. Useful work is signified by a timestamp making its way
through the entire pipeline of threads and
channels. Because threads operate at different speeds, some timestamps will
not make their way through the entire pipeline. There are two performance
concerns when programming with Stampede. The first concern is space,
namely, ensuring that memory is not wasted on a timestamp (i.e. items
bearing this timestamp) that is not fully processed. The second concern is
time, namely, ensuring that processing resource is not wasted on a timestamp
that is not fully processed. Prior work on Stampede, addressed these
concerns separately. Our earlier work on static scheduling ensures that the
pipeline only works on timestamps that are fully processed. However, this technique applies only for a restricted set of
task graphs. Similarly, our earlier work on garbage collection identifies
and removes garbage items from channels. Due to the global nature of this
algorithm there can be a significant wastage of memory resource with this
approach. In this paper we introduce a single unifying framework, dead
timestamp identification, that addresses both the space and time concerns
simultaneously, and does not have some of the limitations of our prior work.
Dead timestamps on a channel represent garbage. Dead timestamps at a thread
represent computations that need not be performed. This framework has been
implemented in the Stampede system. Experimental results showing the space
advantage of this framework are presented. Using a color-based people
tracker application, we show that the space advantage can be
significant (up to 40\%) compared to the previous techniques for garbage
collection in Stampede.
Sponsor
Date Issued
2002
Extent
525031 bytes
Resource Type
Text
Resource Subtype
Technical Report