Andrew S Tanenbaum - Vrije Universiteit Amsterdam (original) (raw)

Uploads

Papers by Andrew S Tanenbaum

Research paper thumbnail of Group communication in the Amoeba distributed operating system

Unlike many other operating systems, Amoeba is a distributed operating system that provides group... more Unlike many other operating systems, Amoeba is a distributed operating system that provides group communication (i.e., one-to-many communication). We will discuss design issues for group communication, Amoeba's group system calls, and the protocols to implement group communication. To demonstrate that group communication is a useful abstraction, we will describe a design and implementation of a fault-tolerant directory service. We discuss two versions of the directory service: one with Non-Volatile RAM (NVRAM) and one without NVRAM. We will give performance figures for both implementations.

Research paper thumbnail of A NEaT Design for Reliable and Scalable Network Stacks

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.

Research paper thumbnail of AgentScape Operating System: Kernel and System Services

AgentScape Operating System: Kernel and System Services

Research paper thumbnail of Roadmap to a faillure-resilient operating sistem

Roadmap to a faillure-resilient operating sistem

Research paper thumbnail of OSIRIS: Efficient and Consistent Recovery of Compartmentalized Operating Systems

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.

Research paper thumbnail of An overview of the Amoeba distributed operating system

Operating Systems Review, Jul 1, 1981

Research paper thumbnail of Computer networks (3rd ed.)

Computer networks (3rd ed.)

Research paper thumbnail of Organisasi komputer terstruktur jilid 1 / Andrew S. Tanenbaum

Organisasi komputer terstruktur jilid 1 / Andrew S. Tanenbaum

1 Komputer 2 Data Organisasi Komputer Terstruktur Jilid 1 Andrew S Tanenbaum, 2001

Research paper thumbnail of Organisasi komputer terstruktur jilid 2 / Andrew S. Tanenbaum; diterjemahkan oleh Thamir Abdul Hafedh Al-Hamdany

Organisasi komputer terstruktur jilid 2 / Andrew S. Tanenbaum; diterjemahkan oleh Thamir Abdul Hafedh Al-Hamdany

1 Komputer 2 Data Organisasi Komputer Terstruktur Jilid 2 Andrew S Tanenbaum Diterjemahkan Oleh Thamir Abdul Hafedh Al Hamdany, 2002

Research paper thumbnail of Distributed systems

Research paper thumbnail of 操作系统设计与实现: 第三版

Research paper thumbnail of Organização estruturada de computadores

Organização estruturada de computadores

Research paper thumbnail of ORGANISASI Komputer Terstruktur Jilid

ORGANISASI Komputer Terstruktur Jilid

Research paper thumbnail of Structured coo~uter organization prentice

Structured coo~uter organization prentice

Research paper thumbnail of Sistemi distribuiti. Principi e paradigmi

Sistemi distribuiti. Principi e paradigmi

Research paper thumbnail of Systemy rozproszone: Zasady i paradygmaty

Systemy rozproszone: Zasady i paradygmaty

Research paper thumbnail of Theglobedistributionn Etwork

Theglobedistributionn Etwork

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 ...

Research paper thumbnail of Organizarea structurată a calculatoarelor

Organizarea structurată a calculatoarelor

Research paper thumbnail of A brief introduction to distributed systems

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.

Research paper thumbnail of Maarten Van Steen

Maarten Van Steen

The Globe Distribution Network (GDN) is an application for the efficient, worldwide distribution ... more The Globe Distribution Network (GDN) is an application for the efficient, worldwide distribution of freely redistributable software packages. Distribution is made efficient by encapsulating the software into special distributed objects which efficiently replicate themselves near to the downloading clients. The Globe Distribution Network takes a novel, optimistic approach to stop the illegal distribution of copyrighted and illicit material via the network. Instead of having moderators check the packages at upload time, illegal content is removed and its uploader’s access to the network permanently revoked only when the violation is discovered. Other protective measures defend the GDN against internal and external attacks at its availability. By exploiting the replication of the software and using fault-tolerant server software, the Globe Distribution Network achieves high availability. This article describes the design of the GDN and a number of small experiments with its prototype implementation. 1

Research paper thumbnail of Group communication in the Amoeba distributed operating system

Unlike many other operating systems, Amoeba is a distributed operating system that provides group... more Unlike many other operating systems, Amoeba is a distributed operating system that provides group communication (i.e., one-to-many communication). We will discuss design issues for group communication, Amoeba's group system calls, and the protocols to implement group communication. To demonstrate that group communication is a useful abstraction, we will describe a design and implementation of a fault-tolerant directory service. We discuss two versions of the directory service: one with Non-Volatile RAM (NVRAM) and one without NVRAM. We will give performance figures for both implementations.

Research paper thumbnail of A NEaT Design for Reliable and Scalable Network Stacks

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.

Research paper thumbnail of AgentScape Operating System: Kernel and System Services

AgentScape Operating System: Kernel and System Services

Research paper thumbnail of Roadmap to a faillure-resilient operating sistem

Roadmap to a faillure-resilient operating sistem

Research paper thumbnail of OSIRIS: Efficient and Consistent Recovery of Compartmentalized Operating Systems

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.

Research paper thumbnail of An overview of the Amoeba distributed operating system

Operating Systems Review, Jul 1, 1981

Research paper thumbnail of Computer networks (3rd ed.)

Computer networks (3rd ed.)

Research paper thumbnail of Organisasi komputer terstruktur jilid 1 / Andrew S. Tanenbaum

Organisasi komputer terstruktur jilid 1 / Andrew S. Tanenbaum

1 Komputer 2 Data Organisasi Komputer Terstruktur Jilid 1 Andrew S Tanenbaum, 2001

Research paper thumbnail of Organisasi komputer terstruktur jilid 2 / Andrew S. Tanenbaum; diterjemahkan oleh Thamir Abdul Hafedh Al-Hamdany

Organisasi komputer terstruktur jilid 2 / Andrew S. Tanenbaum; diterjemahkan oleh Thamir Abdul Hafedh Al-Hamdany

1 Komputer 2 Data Organisasi Komputer Terstruktur Jilid 2 Andrew S Tanenbaum Diterjemahkan Oleh Thamir Abdul Hafedh Al Hamdany, 2002

Research paper thumbnail of Distributed systems

Research paper thumbnail of 操作系统设计与实现: 第三版

Research paper thumbnail of Organização estruturada de computadores

Organização estruturada de computadores

Research paper thumbnail of ORGANISASI Komputer Terstruktur Jilid

ORGANISASI Komputer Terstruktur Jilid

Research paper thumbnail of Structured coo~uter organization prentice

Structured coo~uter organization prentice

Research paper thumbnail of Sistemi distribuiti. Principi e paradigmi

Sistemi distribuiti. Principi e paradigmi

Research paper thumbnail of Systemy rozproszone: Zasady i paradygmaty

Systemy rozproszone: Zasady i paradygmaty

Research paper thumbnail of Theglobedistributionn Etwork

Theglobedistributionn Etwork

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 ...

Research paper thumbnail of Organizarea structurată a calculatoarelor

Organizarea structurată a calculatoarelor

Research paper thumbnail of A brief introduction to distributed systems

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.

Research paper thumbnail of Maarten Van Steen

Maarten Van Steen

The Globe Distribution Network (GDN) is an application for the efficient, worldwide distribution ... more The Globe Distribution Network (GDN) is an application for the efficient, worldwide distribution of freely redistributable software packages. Distribution is made efficient by encapsulating the software into special distributed objects which efficiently replicate themselves near to the downloading clients. The Globe Distribution Network takes a novel, optimistic approach to stop the illegal distribution of copyrighted and illicit material via the network. Instead of having moderators check the packages at upload time, illegal content is removed and its uploader’s access to the network permanently revoked only when the violation is discovered. Other protective measures defend the GDN against internal and external attacks at its availability. By exploiting the replication of the software and using fault-tolerant server software, the Globe Distribution Network achieves high availability. This article describes the design of the GDN and a number of small experiments with its prototype implementation. 1