Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Orion Hodson is active.

Publication


Featured researches published by Orion Hodson.


european conference on computer systems | 2006

Language support for fast and reliable message-based communication in singularity OS

Manuel Fähndrich; Mark Aiken; Chris Hawblitzel; Orion Hodson; Galen C. Hunt; James R. Larus; Steven P. Levi

Message-based communication offers the potential benefits of providing stronger specification and cleaner separation between components. Compared with shared-memory interactions, message passing has the potential disadvantages of more expensive data exchange (no direct sharing) and more complicated programming.In this paper we report on the language, verification, and run-time system features that make messages practical as the sole means of communication between processes in the Singularity operating system. We show that using advanced programming language and verification techniques, it is possible to provide and enforce strong system-wide invariants that enable efficient communication and low-overhead software-based process isolation. Furthermore, specifications on communication channels help in detecting programmer mistakes early---namely at compile-time---thereby reducing the difficulty of the message-based programming model.The paper describes our communication invariants, the language and verification features that support them, as well as implementation details of the infrastructure. A number of benchmarks show the competitiveness of this approach.


symposium on operating systems principles | 2009

Helios: heterogeneous multiprocessing with satellite kernels

Edmund B. Nightingale; Orion Hodson; Ross McIlroy; Chris Hawblitzel; Galen C. Hunt

Helios is an operating system designed to simplify the task of writing, deploying, and tuning applications for heterogeneous platforms. Helios introduces satellite kernels, which export a single, uniform set of OS abstractions across CPUs of disparate architectures and performance characteristics. Access to I/O services such as file systems are made transparent via remote message passing, which extends a standard microkernel message-passing abstraction to a satellite kernel infrastructure. Helios retargets applications to available ISAs by compiling from an intermediate language. To simplify deploying and tuning application performance, Helios exposes an affinity metric to developers. Affinity provides a hint to the operating system about whether a process would benefit from executing on the same platform as a service it depends upon. We developed satellite kernels for an XScale programmable I/O card and for cache-coherent NUMA architectures. We offloaded several applications and operating system components, often by changing only a single line of metadata. We show up to a 28% performance improvement by offloading tasks to the XScale I/O card. On a mail-server benchmark, we show a 39% improvement in performance by automatically splitting the application among multiple NUMA domains.


european conference on computer systems | 2007

Sealing OS processes to improve dependability and safety

Galen C. Hunt; Mark Aiken; Manuel Fähndrich; Chris Hawblitzel; Orion Hodson; James R. Larus; Steven P. Levi; Bjarne Steensgaard; David Tarditi; Ted Wobber

In most modern operating systems, a process is a hardware-protected abstraction for isolating code and data. This protection, however, is selective. Many common mechanisms---dynamic code loading, run-time code generation, shared memory, and intrusive system APIs---make the barrier between processes very permeable. This paper argues that this traditional open process architecture exacerbates the dependability and security weaknesses of modern systems. As a remedy, this paper proposes a sealed process architecture, which prohibits dynamic code loading, self-modifying code, shared memory, and limits the scope of the process API. This paper describes the implementation of the sealed process architecture in the Singularity operating system, discusses its merits and drawbacks, and evaluates its effectiveness. Some benefits of this sealed process architecture are: improved program analysis by tools, stronger security and safety guarantees, elimination of redundant overlaps between the OS and language runtimes, and improved software engineering. Conventional wisdom says open processes are required for performance; our experience suggests otherwise. We present the first macrobenchmarks for a sealed-process operating system and applications. The benchmarks show that an experimental sealed-process system can achieve performance competitive with highly-tuned, commercial, open-process systems.


european conference on computer systems | 2006

Solving the starting problem: device drivers as self-describing artifacts

Michael F. Spear; Tom Roeder; Orion Hodson; Galen C. Hunt; Steven P. Levi

Run-time conflicts can affect even the most rigorously tested software systems. A reliance on execution-based testing makes it prohibitively costly to test every possible interaction among potentially thousands of programs with complex configurations. In order to reduce configuration problems, detect developer errors, and reduce developer effort, we have created a new first class operating system abstraction, the application abstraction, which enables both online and offline reasoning about programs and their configuration requirements.We have implemented a subset of the application abstraction for device drivers in the Singularity operating system. Programmers use the application abstraction by placing declarative statements about hardware and communication requirements within their code. Our design enables Singularity to learn the input/output and interprocess communication requirements of drivers without executing driver code. By reasoning about this information within the domain of Singularitys strong software isolation architecture, the installer can execute a subset the systems resource management algorithm at install time to verify that a new driver will not conflict with existing software. This abstract representation also allows the system to run the full algorithm at driver start time to ensure that there are never resource conflicts between executing drivers, and that drivers never use undeclared resources.


international conference on data engineering | 2011

One-copy serializability with snapshot isolation under the hood

Mihaela A. Bornea; Orion Hodson; Sameh Elnikety; Alan Fekete

This paper presents a method that allows a replicated database system to provide a global isolation level stronger than the isolation level provided on each individual database replica. We propose a new multi-version concurrency control algorithm called, serializable generalized snapshot isolation (SGSI), that targets middleware replicated database systems. Each replica runs snapshot isolation locally and the replication middleware guarantees global one-copy serializability. We introduce novel techniques to provide a stronger global isolation level, namely readset extraction and enhanced certification that prevents read-write and write-write conflicts in a replicated setting. We prove the correctness of the proposed algorithm, and build a prototype replicated database system to evaluate SGSI performance experimentally. Extensive experiments with an 8 replica database system under the TPC-W workload mixes demonstrate the practicality and low overhead of the algorithm.


international conference on data engineering | 2010

Strongly consistent replication for a bargain

Konstantinos Krikellas; Sameh Elnikety; Zografoula Vagena; Orion Hodson

Strong consistency is an important correctness property for replicated databases. It ensures that each transaction accesses the latest committed database state as provided in centralized databases. Achieving strong consistency in replicated databases is a major performance challenge and is typically not provided, exposing inconsistent data to client applications. We propose two scalable techniques that exploit lazy update propagation and workload information to guarantee strong consistency by delaying transaction start. We implement a prototype replicated database system and incorporate the proposed techniques for providing strong consistency. Extensive experiments using both a micro-benchmark and the TPC-W benchmark demonstrate that our proposals are viable and achieve considerable scalability while maintaining strong consistency.


networked systems design and implementation | 2014

FaRM: fast remote memory

Aleksandar Dragojevic; Dushyanth Narayanan; Orion Hodson; Miguel Castro


ACM Transactions on Storage | 2005

An Overview of the Singularity Project

Galen C. Hunt; James R. Larus; Martín Abadi; Mark Aiken; Paul Barham; Manuel Fähndrich; Chris Hawblitzel; Orion Hodson; Steven P. Levi; Nick Murphy; Bjarne Steensgaard; David Tarditi; Ted Wobber; Brian Zill


architectural support for programming languages and operating systems | 2012

Whole-system persistence

Dushyanth Narayanan; Orion Hodson


symposium on cloud computing | 2013

Scale-up vs scale-out for Hadoop: time to rethink?

Raja Appuswamy; Christos Gkantsidis; Dushyanth Narayanan; Orion Hodson; Antony I. T. Rowstron

Collaboration


Dive into the Orion Hodson's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

James R. Larus

École Polytechnique Fédérale de Lausanne

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge