MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Remote evaluation
Remote pipes and procedures for efficient distributed communication
ACM Transactions on Computer Systems (TOCS)
Promises: linguistic support for efficient asynchronous procedure calls in distributed systems
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Communications in the mercury system
Proceedings of the Twenty-First Annual Hawaii International Conference on Software Track
Lightweight remote procedure call
ACM Transactions on Computer Systems (TOCS)
Improving IPC by kernel design
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
A Value Transmission Method for Abstract Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
A Safe, Efficient Object Database Interface Using Batched Futures
A Safe, Efficient Object Database Interface Using Batched Futures
Client cache management in a distributed object database
Client cache management in a distributed object database
Safe and efficient sharing of persistent objects in Thor
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Pointer analysis for multithreaded programs
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
The state of the art in distributed query processing
ACM Computing Surveys (CSUR)
Pointer analysis for structured parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Providing Persistent Objects in Distributed Systems
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Formalising Java RMI with explicit code mobility
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Protected shared libraries: a new approach to modularity and sharing
ATEC '97 Proceedings of the annual conference on USENIX Annual Technical Conference
Formalising Java RMI with explicit code mobility
Theoretical Computer Science
Optimising Java RMI programs by communication restructuring
Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware
Language design for distributed objects
Proceedings of the 1st International Workshop on Distributed Objects for the 21st Century
Remote Batch Invocation for Compositional Object Services
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Concurrency among strangers: programming in E as plan coordination
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
Sprint: speculative prefetching of remote data
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Understanding the behavior of database operations under program control
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Science of Computer Programming
Hi-index | 0.00 |
In many systems such as operating systems and databases it is important to run client code in a separate protection domain so that it cannot interfere with correct operation of the system. Clients communicate with the server by making cross domain calls, but these are expensive, often costing substantially more than running the call itself. This paper describes a new mechanism called batched futures that transparently batches possibly interrelated client calls. Batching makes domain crossings happen less often, thus substantially reducing the cost. We describe how the mechanism is implemented for the Thor object-oriented database system, and presents performance results showing the benefit of the mechanism on various benchmarks.