Papers by Andrew S Tanenbaum
Proceedings of the 12th International on Conference on emerging Networking EXperiments and Technologies, 2016
Operating systems provide a wide range of services, which are crucial for the increasingly high r... more Operating systems provide a wide range of services, which are crucial for the increasingly high reliability and scalability demands of modern applications. Providing both reliability and scalability at the same time is hard. Commodity OS architectures simply lack the design abstractions to do so for demanding core OS services such as the network stack. For reliability and scalability guarantees, they rely almost exclusively on ensuring a high-quality implementation, rather than a reliable and scalable design. This results in complex error recovery paths and hard-to-maintain synchronization code. We demonstrate that a simple and structured design that strictly adheres to two principles, isolation and partitioning, can yield reliable and scalable network stacks. We present NEaT, a system which partitions the stack across isolated process replicas handling independent requests. Our design principles intelligently partition the state to minimize the impact of failures (offering strong recovery guarantees) and to scale comparably to Linux without exposing the implementation to common pitfalls such as synchronization errors, poor locality, and false sharing.
2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2016
Much research has gone into making operating systems more amenable to recovery and more resilient... more Much research has gone into making operating systems more amenable to recovery and more resilient to crashes. Traditional solutions rely on partitioning the operating system (OS) to contain the effects of crashes within compartments and facilitate modular recovery. However, state dependencies among the compartments hinder recovery that is globally consistent. Such recovery typically requires expensive runtime dependency tracking which results in high performance overhead, high complexity and a large Reliable Computing Base (RCB). We propose a lightweight strategy that limits recovery to cases where we can statically and conservatively prove that compartment recovery leads to a globally consistent statetrading recoverable surface for a simpler and smaller RCB with lower performance overhead and maintenance cost. We present OSIRIS, a research OS design prototype that demonstrates efficient and consistent crash recovery. Our evaluation shows that OSIRIS effectively recovers from important classes of real-world software bugs with a modest RCB and low overheads.
2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE), 2016
Operating Systems Review, Jul 1, 1981
1 Komputer 2 Data Organisasi Komputer Terstruktur Jilid 1 Andrew S Tanenbaum, 2001
1 Komputer 2 Data Organisasi Komputer Terstruktur Jilid 2 Andrew S Tanenbaum Diterjemahkan Oleh Thamir Abdul Hafedh Al Hamdany, 2002
The goal of the Globe project is to design and build a middleware platform that facilitates the d... more The goal of the Globe project is to design and build a middleware platform that facilitates the development of large-scale distributed applications, such as those found on the Internet. To demonstrate the feasibility of our design and to test our ideas, we are currently building a new Internet application: The Globe Distribution Network. The Globe Distribution Network, or GDN, is an application for the efficient, worldwide distribution of free software and other free data. The GDN can be seen as an improvement to anonymous ...
Computing, 2016
Distributed systems are by now commonplace, yet remain an often difficult area of research. This ... more Distributed systems are by now commonplace, yet remain an often difficult area of research. This is partly explained by the many facets of such systems and the inherent difficulty to isolate these facets from each other. In this paper we provide a brief overview of distributed systems: what they are, their general design goals, and some of the most common types.
Uploads
Papers by Andrew S Tanenbaum