On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Distributed programming in Argus
Communications of the ACM
Threads and input/output in the synthesis kernal
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Lightweight remote procedure call
ACM Transactions on Computer Systems (TOCS)
Virtual memory primitives for user programs
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Limits to low-latency communication on high-speed networks
ACM Transactions on Computer Systems (TOCS)
Interposition agents: transparently interposing user code at the system interface
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
Sharing and protection in a single-address-space operating system
ACM Transactions on Computer Systems (TOCS) - Special issue on computer architecture
Replication and fault-tolerance in the ISIS system
Proceedings of the tenth ACM symposium on Operating systems principles
A New Definition of the Subtype Relation
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures
Designing an Object-Oriented Programming Language with Behavioural Subtyping
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
Using meta-objects to support optimisation in the Apertos operating system
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
Hi-index | 0.01 |
Progress in microprocessor and communication system technology is leading to the emergence of new large scale distributed architectures whose power increases proportionally to the number of processor elements. Such architectures support execution of traditional distributed applications based on the client-server paradigm as well as parallel applications. Among other consequences, this framework requires the design of distributed operating systems that exhibit good performance for a wide range of applications. One way to achieve this consists of weakening the semantics of system functions, and to customize them to implement stronger semantics that match the applications' needs. Customization in distributed systems must be achieved in a safe and efficient way. The safety property relates to the fact that a customized function must implement a stronger semantics than that of the base function. Efficiency of a customization mechanism is evaluated in terms of the performance penalty resulting from the invocation of a customized function instead of the base function; ideally, the penalty should equal the execution cost due to the added functionality as if it were directly supported by the underlying distributed system.This paper addresses support for safe and efficient customization in distributed systems at the design and implementation levels. Linguistic paradigms aimed at facilitating the design of safe customization are sketched in Section 2. In particular, we argue that behavioral subtyping, used in strongly-typed, object-oriented programming languages, helps the user to achieve safe customization: it can be used to reason about the strengthening of function semantics. Section 3 then addresses operating system support for implementing safe and efficient customization. Finally, Section 4 gives an overview of our current and future work that relates to the design and implementation of both linguistic and operating system paradigms aimed at safe and efficient customization within distributed systems.