Network


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

Hotspot


Dive into the research topics where Eric A. Brewer is active.

Publication


Featured researches published by Eric A. Brewer.


Archive | 2005

TinyOS: An Operating System for Sensor Networks

Philip Levis; Samuel Madden; Robert Szewczyk; Kamin Whitehouse; Alec Woo; Jason L. Hill; Matt Welsh; Eric A. Brewer; David E. Culler

We present TinyOS, a flexible, application-specific operating system for sensor networks, which form a core component of ambient intelligence systems. Sensor networks consist of (potentially) thousands of tiny, low-power nodes, each of which execute concurrent, reactive programs that must operate with severe memory and power constraints. The sensor network challenges of limited resources, event-centric concurrent applications, and low-power operation drive the design of TinyOS. Our solution combines flexible, fine-grain components with an execution model that supports complex yet safe concurrent operations. TinyOS meets these challenges well and has become the platform of choice for sensor network research; it is in use by over a hundred groups worldwide, and supports a broad range of applications and research topics. We provide a qualitative and quantitative evaluation of the system, showing that it supports complex, concurrent programs with very low memory requirements (many applications fit within 16KB of memory, and the core OS is 400 bytes) and efficient, low-power operation.We present our experiences with TinyOS as a platform for sensor network innovation and applications.


dependable systems and networks | 2002

Pinpoint: problem determination in large, dynamic Internet services

Mike Y. Chen; Emre Kiciman; Eugene Fratkin; Armando Fox; Eric A. Brewer

Traditional problem determination techniques rely on static dependency models that are difficult to generate accurately in todays large, distributed, and dynamic application environments such as e-commerce systems. We present a dynamic analysis methodology that automates problem determination in these environments by 1) coarse-grained tagging of numerous real client requests as they travel through the system and 2) using data mining techniques to correlate the believed failures and successes of these requests to determine which components are most likely to be at fault. To validate our methodology, we have implemented Pinpoint, a framework for root cause analysis on the J2EE platform that requires no knowledge of the application components. Pinpoint consists of three parts: a communications layer that traces client requests, a failure detector that uses traffic-sniffing and middleware instrumentation, and a data analysis engine. We evaluate Pinpoint by injecting faults into various application components and show that Pinpoint identifies the faulty components with high accuracy and produces few false-positives.


symposium on operating systems principles | 1997

Cluster-based scalable network services

Armando Fox; Steven D. Gribble; Yatin Chawathe; Eric A. Brewer; Paul Gauthier

We identify three fundamental requirements for scalable network services: incremental scalability and overflow growth provisioning, 24x7 availability through fault masking, and cost-effectiveness. We argue that clusters of commodity workstations interconnected by a high-speed SAN are exceptionally well-suited to meeting these challenges for Internet-server workloads, provided the software infrastructure for managing partial failures and administering a large cluster does not have to be reinvented for each new service. To this end, we propose a general, layered architecture for building cluster-based scalable network services that encapsulates the above requirements for reuse, and a service-programming model based on composable workers that perform transformation, aggregation, caching, and customization (TACC) of Internet content. For both performance and implementation simplicity, the architecture and TACC programming model exploit BASE, a weaker-than-ACID data semantics that results from trading consistency for availability and relying on soft state for robustness in failure management. Our architecture can be used as an off the shelf infrastructural platform for creating new network services, allowing authors to focus on the content of the service (by composing TACC building blocks) rather than its implementation. We discuss two real implementations of services based on this architecture: TranSend, a Web distillation proxy deployed to the UC Berkeley dialup IP population, and HotBot, the commercial implementation of the Inktomi search engine. We present detailed measurements of TranSends performance based on substantial client traces, as well as anecdotal evidence from the TranSend and HotBot experience, to support the claims made for the architecture.


principles of distributed computing | 2000

Towards robust distributed systems (abstract)

Eric A. Brewer

Current distributed systems, even the ones that work, tend to be very fragile: they are hard to keep up, hard to manage, hard to grow, hard to evolve, and hard to program. In this talk, I look at several issues in an attempt to clean up the way we think about these systems. These issues include the fault model, high availability, graceful degradation, data consistency, evolution, composition, and autonomy. These are not (yet) provable principles, but merely ways to think about the issues that simplify design in practice. They draw on experience at Berkeley and with giant-scale systems built at Inktomi, including the system that handles 50% of all web searches.


international conference on mobile systems, applications, and services | 2004

Hood: a neighborhood abstraction for sensor networks

Kamin Whitehouse; Cory Sharp; Eric A. Brewer; David E. Culler

This paper proposes a neighborhood programming abstraction for sensor networks, wherein a node can identify a subset of nodes around it by a variety of criteria and share state with those nodes. This abstraction allows developers to design distributed algorithms in terms of the neighborhood abstraction itself, instead of decomposing them into component parts such as messaging protocols, data caches, and neighbor lists. In those applications that are already neighborhood-based, this abstraction is shown to facilitate good application design and to reduce algorithmic complexity, inter-component coupling, and total lines of code. The abstraction as defined here has been successfully used to implement several complex applications and is shown to capture the essence of many more existing distributed sensor network algorithms.


international world wide web conferences | 1996

Reducing WWW latency and bandwidth requirements by real-time distillation

Armando Fox; Eric A. Brewer

1. Low Bandwidth Surfing in a High Bandwidth World 2. How Distillation and Refinement Can Help 1. The Concept of Datatype-Specific Distillation 2. Refinement 3. Trading Cycles for Bandwidth 4. Using Refinement for Bandwidth Management 5. Optimizing for a Target Display 6. Optimizing for Rendering on Impoverished Devices 3. An Implemented HTTP Proxy Based on Real-Time Distillation 1. Statistical Models for Real-Time Distillation 2. Pythia’s User Interface 4. Implementation and Performance 1. URL Munging and HTML Modification 2. Exploiting URL-Level Parallelism 3. Refinement Cache 5. Implementation Status, Limitations, and Future Work 6. Conclusions 7. References


IEEE Computer | 2012

CAP twelve years later: How the "rules" have changed

Eric A. Brewer

The CAP theorem asserts that any networked shared-data system can have only two of three desirable properties. However, by explicitly handling partitions, designers can optimize consistency and availability, thereby achieving some trade-off of all three. The featured Web extra is a podcast from Software Engineering Radio, in which the host interviews Dwight Merriman about the emerging NoSQL movement, the three types of nonrelational data stores, Brewers CAP theorem, and much more.


IEEE Personal Communications | 1998

Adapting to network and client variation using infrastructural proxies: lessons and perspectives

Armando Fox; Steven D. Gribble; Yatin Chawathe; Eric A. Brewer

Todays Internet clients vary widely with respect to both hardware and software properties: screen size, color depth, effective bandwidth, processing power, and the ability to handle different data formats. The order-of-magnitude span of this variation is too large to hide at the network level, making application-level techniques necessary. We show that on-the-fly adaptation by transformational proxies is a widely applicable, cost-effective, and flexible technique for addressing all these types of variations. To support this claim, we describe our experience with data-type-specific distillation (lossy compression) in a variety of applications. We also argue that placing adaptation machinery in the network infrastructure, rather than inserting it into end servers, enables incremental deployment and amortization of operating costs. To this end, we describe a programming model for large-scale interactive Internet services and a scalable cluster-based framework that has been in production use at UC Berkeley since April 1997. We present a detailed examination of TranSend, a scalable transformational Web proxy deployed on our cluster framework, and give descriptions of several handheld-device applications that demonstrate the wide applicability of the proxy-adaptation philosophy.


information processing in sensor networks | 2004

Flexible power scheduling for sensor networks

Barbara Hohlt; Lance Doherty; Eric A. Brewer

We propose a distributed on-demand power-management protocol for collecting data in sensor networks. The protocol aims to reduce power consumption while supporting fluctuating demand in the network and provide local routing information and synchronicity without global control. Energy savings are achieved by powering down nodes during idle times identified through dynamic scheduling. We present a real implementation on wireless sensor nodes based on a novel, two-level architecture. We evaluate our approach through measurements and simulation, and show how the protocol allows adaptive scheduling and enables a smooth trade-off between energy savings and latency. An example current measurement shows an energy savings of 83% on an intermediate node.


symposium on operating systems principles | 2003

Capriccio: scalable threads for internet services

J. Robert von Behren; Jeremy Condit; Feng Zhou; George C. Necula; Eric A. Brewer

This paper presents Capriccio, a scalable thread package for use with high-concurrency servers. While recent work has advocated event-based systems, we believe that thread-based systems can provide a simpler programming model that achieves equivalent or superior performance.By implementing Capriccio as a user-level thread package, we have decoupled the thread package implementation from the underlying operating system. As a result, we can take advantage of cooperative threading, new asynchronous I/O mechanisms, and compiler support. Using this approach, we are able to provide three key features: (1) scalability to 100,000 threads, (2) efficient stack management, and (3) resource-aware scheduling.We introduce linked stack management, which minimizes the amount of wasted stack space by providing safe, small, and non-contiguous stacks that can grow or shrink at run time. A compiler analysis makes our stack implementation efficient and sound. We also present resource-aware scheduling, which allows thread scheduling and admission control to adapt to the systems current resource usage. This technique uses a blocking graph that is automatically derived from the application to describe the flow of control between blocking points in a cooperative thread package. We have applied our techniques to the Apache 2.0.44 web server, demonstrating that we can achieve high performance and scalability despite using a simple threaded programming model.

Collaboration


Dive into the Eric A. Brewer's collaboration.

Top Co-Authors

Avatar

Armando Fox

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Yatin Chawathe

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Rabin K. Patra

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Sonesh Surana

University of California

View shared research outputs
Top Co-Authors

Avatar

Randy H. Katz

University of California

View shared research outputs
Top Co-Authors

Avatar

Javier Rosa

University of California

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge