U. Ramachandran et al., Space-time memory: A parallel programming abstraction for interactive multimedia applications, ACM SIGPL N, 34(8), 1999, pp. 183-192
Realistic interactive multimedia involving vision, animation, and multimedi
a collaboration is likely to become an important aspect of future computer
applications. The scalable parallelism inherent in such applications couple
d with their computational demands make them ideal candidates for SMPs and
clusters of SMPs. These applications have novel requirements that offer new
kinds of challenges for parallel system design.
We have designed a programming system called Stampede that offers many func
tionalities needed to simplify development of such applications (such as hi
gh-level data sharing abstractions, dynamic cluster-wide threads, and multi
ple address spaces). We have built Stampede and it runs on clusters of SMPs
. To date we have implemented two applications on Stampede, one of which is
discussed herein.
In this paper we describe a part of Stampede caned Space-Time Memory (STM).
It is a novel data sharing abstraction that enables interactive multimedia
applications to manage a collection of time-sequenced data items simply, e
fficiently, and transparently across a cluster. STM relieves the applicatio
n programmer from low level synchronization and data communication by provi
ding a high level interface that subsumes buffer management, inter-thread s
ynchronization, and location transparency for data produced and accessed an
ywhere in the cluster. STM also automatically handles garbage collection of
data items that will no longer be accessed by any of the application threa
ds. We discuss ease of use issues for developing applications using STM, an
d present preliminary performance results to show that STM's overhead is lo
w.