Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lazy release consistency for software distributed shared memory
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
J-Orchestra: Automatic Java Application Partitioning
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
PerlDSM: A Distributed Shared Memory System for Perl
PDPTA '02 Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications - Volume 1
An Efficient Distributed Tuple Space Implementation for Networks of Workstations
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing - Volume I
A Stable Distributed Tuple Space
HICSS '96 Proceedings of the 29th Hawaii International Conference on System Sciences Volume 1: Software Technology and Architecture
Dynamic Task Migration in Home-based Software DSM Systems
HPDC '99 Proceedings of the 8th IEEE International Symposium on High Performance Distributed Computing
The Midway Distributed Shared Memory System
The Midway Distributed Shared Memory System
Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems
TreadMarks: distributed shared memory on standard workstations and operating systems
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
IEEE Transactions on Computers
Application-specific thread schedulers
Application-specific thread schedulers
Application-Level Scheduling Using AOP
Transactions on Aspect-Oriented Software Development V
Application-specific thread schedulers for internet server applications
Concurrency and Computation: Practice & Experience
Hi-index | 0.00 |
This paper describes our work to improve the performance of distributed applications. We aim at certain application characteristics such as balancing load, allowing separately written applications to work better together, allowing a distributed application to adapt its behavior in more flexible ways, and so on. Our approach is to write application-specific schedulers, which can access the global state of the application in making scheduling decisions. To achieve this goal, we extended our earlier work on CATAPULTS (Creating And Testing APplication-specific User Level Thread Schedulers), a domain-specific language for creating and testing application-specific user-level thread schedulers, to distributed applications by adding ‘master schedulers’ for dealing with the distributed parts of applications. This paper presents our design of, experimentation with, and implementation of distributed CATAPULTS. This paper presents several realistic examples to measure the feasibility of this approach, specifically: a website application, an embedded application, and load balancing. Each example has a scheduling goal for which we developed a customized scheduler. We measured the performance with and without the customized scheduler. The customized scheduler for each example was fairly straightforward to develop and each achieved its scheduling goal. Copyright © 2011 John Wiley & Sons, Ltd.