ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer
Shasta: a low overhead, software-only approach for supporting fine-grain shared memory
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Temporal notions of synchronization and consistency in Beehive
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
VM-based shared memory on low-latency, remote-memory-access networks
Proceedings of the 24th annual international symposium on Computer architecture
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Garbage collection of timestamped data in Stampede
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Orca: a language for distributed programming
ACM SIGPLAN Notices
Memory Channel Network for PCI
IEEE Micro
Cid: A Parallel, "Shared-Memory" C for Distributed-Memory Machines
LCPC '94 Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing
CVPR '97 Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition (CVPR '97)
Scheduling constrained dynamic applications on clusters
SC '99 Proceedings of the 1999 ACM/IEEE conference on Supercomputing
Garbage collection of timestamped data in Stampede
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
The Cost of Communication Protocols and Coordination Languages in Embedded Systems
COORDINATION '02 Proceedings of the 5th International Conference on Coordination Models and Languages
Exploiting high-level coherence information to optimize distributed shared state
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
DFuse: a framework for distributed data fusion
Proceedings of the 1st international conference on Embedded networked sensor systems
Towards reliable multimodal sensing in aware environments
Proceedings of the 2001 workshop on Perceptive user interfaces
Language and Compiler Support for Adaptive Applications
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
Compiler Support for Exploiting Coarse-Grained Pipelined Parallelism
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
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
Dynamic data fusion for future sensor networks
ACM Transactions on Sensor Networks (TOSN)
Supporting dynamic migration in tightly coupled grid applications
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
Integrated task and data parallel support for dynamic applications
Scientific Programming
Capsules: Expressing Composable Computations in a Parallel Programming Model
Languages and Compilers for Parallel Computing
Pervasive and Mobile Computing
Supporting self-adaptation in streaming data mining applications
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Supporting reconfigurable parallel multimedia applications
Euro-Par'06 Proceedings of the 12th international conference on Parallel Processing
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 |
Realistic interactive multimedia involving vision, animation, and multimedia collaboration is likely to become an important aspect of future computer applications. The scalable parallelism inherent in such applications coupled 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 functionalities needed to simplify development of such applications (such as high-level data sharing abstractions, dynamic cluster-wide threads, and multiple 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 called 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, efficiently, and transparently across a cluster. STM relieves the application programmer from low level synchronization and data communication by providing a high level interface that subsumes buffer management, inter-thread synchronization, and location transparency for data produced and accessed anywhere in the cluster. STM also automatically handles garbage collection of data items that will no longer be accessed by any of the application threads. We discuss ease of use issues for developing applications using STM, and present preliminary performance results to show that STM's overhead is low.