Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

James W. Anderson

dblp:19/1307 · DBLP profile ↗
← Back
10ranked-venue papers
2as first author
0since 2021 · last 2017
0000-0002-7849-144XORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Computer networks · 4 · 1 first-authorSystems, architecture and hardware · 2Software engineering, systems software and programming languages · 2Security and privacy · 1 · 1 first-authorTheory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Distributed systems · 58% Cloud and datacenter computing · 30% Performance modeling and evaluation · 6%
Software engineering, system software, and programming languages
2 papers
Program analysis · 44% Programming languages and type systems · 44% Operating systems · 13%
Computer networks
2 papers
Transport protocols and congestion control · 41% Wireless networking · 41% Internet architecture and protocols · 18%

Topics — the 19 heaviest of 20, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
fault tolerance
0.422017
Local Recovery for High Availability in Strongly Consistent Cloud Services · IEEE Trans. Dependable Secur. Comput. 2017
Finding latent performance bugs in systems implementations · SIGSOFT FSE 2010
Cloud and datacenter computing › quality of service
cloud service availability
0.312017
Local Recovery for High Availability in Strongly Consistent Cloud Services · IEEE Trans. Dependable Secur. Comput. 2017
Cloud and datacenter computing
cloud storage
0.312017
Local Recovery for High Availability in Strongly Consistent Cloud Services · IEEE Trans. Dependable Secur. Comput. 2017
Distributed systems
replication
0.312017
Local Recovery for High Availability in Strongly Consistent Cloud Services · IEEE Trans. Dependable Secur. Comput. 2017
Performance modeling and evaluation › performance diagnosis
performance anomaly detection
0.112010
Finding latent performance bugs in systems implementations · SIGSOFT FSE 2010
Distributed systems › fault tolerance
failure recovery
0.112017
Local Recovery for High Availability in Strongly Consistent Cloud Services · IEEE Trans. Dependable Secur. Comput. 2017
High-performance computing › fault tolerance at scale
local recovery
0.112017
Local Recovery for High Availability in Strongly Consistent Cloud Services · IEEE Trans. Dependable Secur. Comput. 2017
Distributed systems › distributed communication
data dissemination
0.112008
High-bandwidth data dissemination for large-scale distributed systems · ACM Trans. Comput. Syst. 2008
Distributed systems › peer-to-peer systems
overlay networks
0.112008
High-bandwidth data dissemination for large-scale distributed systems · ACM Trans. Comput. Syst. 2008
Distributed systems
peer-to-peer systems
0.112008
High-bandwidth data dissemination for large-scale distributed systems · ACM Trans. Comput. Syst. 2008
Programming languages and type systems
domain-specific languages
0.112007
Mace: language support for building distributed systems · PLDI 2007
Program analysis
static analysis
0.112007
Life, Death, and the Critical Transition: Finding Liveness Bugs in Systems Code (Awarded Best Paper) · NSDI 2007
Distributed systems
programming language support
0.112007
Mace: language support for building distributed systems · PLDI 2007
Wireless networking › channel assignment › wireless resource management
bandwidth adaptation
0.112005
Maintaining High-Bandwidth Under Dynamic Network Conditions · USENIX ATC, General Track 2005
Transport protocols and congestion control
transport protocols
0.112005
Maintaining High-Bandwidth Under Dynamic Network Conditions · USENIX ATC, General Track 2005
Automated reasoning and model checking
state space exploration
0.012010
Finding latent performance bugs in systems implementations · SIGSOFT FSE 2010
Internet architecture and protocols
multicast
0.012008
High-bandwidth data dissemination for large-scale distributed systems · ACM Trans. Comput. Syst. 2008
Distributed systems
distributed debugging
0.012007
Mace: language support for building distributed systems · PLDI 2007
Electronic design automation
model checking
0.012007
Mace: language support for building distributed systems · PLDI 2007

Methods — techniques the papers use, named apart from their topics

prototype implementation · 0.3hierarchical architecture · 0.3state space exploration · 0.2random simulation · 0.2measurement · 0.2deployment · 0.2source-to-source compilation · 0.1
YearPublicationVenuePosition
2017 Local Recovery for High Availability in Strongly Consistent Cloud Services
abstract
Emerging cloud-based network services must deliver both good performance and high availability. Achieving both of these goals requires content replication across multiple sites. Many cloud-based services either require or would benefit from the semantics and simplicity of strong consistency. However, replication techniques for strong consistency can severely limit the availability of replicated services when recovering large data objects over wide-area links. To address this problem, we present the design and implementation of ZORFU, a hierarchical system architecture for replication across data centers. The primary contribution of ZORFU is a local recovery technique that significantly increases availability of replicated strongly consistent services. Local recovery achieves this by reducing the recovery time by an order of magnitude, while imposing only a negligible latency overhead. Experimental results show that ZORFU can recover a 100 MB object in 4 ms.
James W. Anderson, Hein Meling, Alexander Rasmussen, Amin Vahdat, Keith Marzullo
IEEE Trans. Dependable Secur. Comput.1
2012 xOMB: extensible open middleboxes with commodity servers
abstract
This paper presents the design and implementation of an incrementally scalable architecture for middleboxes based on commodity servers and operating systems. xOMB, the eXtensible Open MiddleBox, employs general programmable network processing pipelines, with user-defined C++ modules responsible for parsing, transforming, and forwarding network flows. We implement three processing pipelines in xOMB, demonstrating good performance for load balancing, protocol acceleration, and application integration. In particular, our xOMB load balancing switch is able to match or outperform a commercial programmable switch and popular open-source reverse proxy while still providing a more flexible programming model.
James W. Anderson, Ryan Braud, Rishi Kapoor, George Porter, Amin Vahdat
ANCS1
2010 Finding latent performance bugs in systems implementations
abstract
Robust distributed systems commonly employ high-level recovery mechanisms enabling the system to recover from a wide variety of problematic environmental conditions such as node failures, packet drops and link disconnections. Unfortunately, these recovery mechanisms also effectively mask additional serious design and implementation errors, disguising them as latent performance bugs that severely degrade end-to-end system performance. These bugs typically go unnoticed due to the challenge of distinguishing between a bug and an intermittent environmental condition that must be tolerated by the system. We present techniques that can automatically pinpoint latent performance bugs in systems implementations, in the spirit of recent advances in model checking by systematic state space exploration. The techniques proceed by automating the process of conducting random simulations, identifying performance anomalies, and analyzing anomalous executions to pinpoint the circumstances leading to performance degradation.
Chip Killian, Karthik Nagaraj, Salman Pervez, Ryan Braud, James W. Anderson, Ranjit Jhala
SIGSOFT FSE5
2009 Building Distributed Systems Using Mace
abstract
Mace, MaceMC andMacePCwork together to make it easier to build correct, high performance distributed systems implementations. Mace developers find that it now takes them a fraction of the time previously needed to go from design to implementation of a new distributed system. Together with ModelNet and Plush, the whole toolkit is among the best in the world for implementing, testing, evaluating, and deploying distributed and peer-to-peer systems. Mace represents six years of development work and has been publicly available for five years. In addition to the Mace research contributions, the Mace distribution also represents many of the best-quality publicly-available implementations of the included services, and by itself represents a practical contribution that users worldwide recognize and utilize.
Chip Killian, James W. Anderson, Ryan Braud, Ranjit Jhala, Amin Vahdat
Peer-to-Peer Computing2
2008 Symmetry in complex networks
Ben D. MacArthur, Rubén J. Sánchez-García, James W. Anderson
Discret. Appl. Math.3
2008 High-bandwidth data dissemination for large-scale distributed systems
abstract
This article focuses on the multireceiver data dissemination problem. Initially, IP multicast formed the basis for efficiently supporting such distribution. More recently, overlay networks have emerged to support point-to-multipoint communication. Both techniques focus on constructing trees rooted at the source to distribute content among all interested receivers. We argue, however, that trees have two fundamental limitations for data dissemination. First, since all data comes from a single parent, participants must often continuously probe in search of a parent with an acceptable level of bandwidth. Second, due to packet losses and failures, available bandwidth is monotonically decreasing down the tree. To address these limitations, we present Bullet, a data dissemination mesh that takes advantage of the computational and storage capabilities of end hosts to create a distribution structure where a node receives data in parallel from multiple peers. For the mesh to deliver improved bandwidth and reliability, we need to solve several key problems: (i) disseminating disjoint data over the mesh, (ii) locating missing content, (iii) finding who to peer with (peering strategy), (iv) retrieving data at the right rate from all peers (flow control), and (v) recovering from failures and adapting to dynamically changing network conditions. Additionally, the system should be self-adjusting and should have few user-adjustable parameter settings. We describe our approach to addressing all of these problems in a working, deployed system across the Internet. Bullet outperforms state-of-the-art systems, including BitTorrent, by 25-70% and exhibits strong performance and reliability in a range of deployment settings. In addition, we find that, relative to tree-based solutions, Bullet reduces the need to perform expensive bandwidth probing.
Dejan Kostic, Alex C. Snoeren, Amin Vahdat, Ryan Braud, Chip Killian, James W. Anderson, Jeannie R. Albrecht, Adolfo Rodriguez, Erik Vandekieft
ACM Trans. Comput. Syst.6
2007 Life, Death, and the Critical Transition: Finding Liveness Bugs in Systems Code (Awarded Best Paper)
Chip Killian, James W. Anderson, Ranjit Jhala, Amin Vahdat
NSDI2
2007 Mace: language support for building distributed systems
abstract
Building distributed systems is particularly difficult because of the asynchronous, heterogeneous, and failure-prone environment where these systemsmust run. Tools for building distributed systems must strike a compromise between reducing programmer effort and increasing system efficiency. We present Mace, a C++ language extension and source-to-source compiler that translates a concise but expressive distributed system specification into a C++ implementation. Mace overcomes the limitations of low-level languages by providing a unified framework for networking and event handling, and the limitations of high-level languages by allowing programmers to write program components in a controlled and structured manner in C++. By imposing structure and restrictions on how applications can be written, Mace supports debugging at a higher level, including support for efficient model checking and causal-path debugging. Because Mace programs compile to C++, programmers can use existing C++ tools, including optimizers, profilers, and debuggers to analyze their systems.
Chip Killian, James W. Anderson, Ryan Braud, Ranjit Jhala, Amin Vahdat
PLDI2
2005 Gigabit routing on a software-exposed tiled-microprocessor
abstract
This paper investigates the suitability of emerging tiled-architectures, equipped with low-latency on-chip networks, for high-performance network routing. In this paper, we present the design, implementation and evaluation of a continuum of software-based routers on the MIT RAW microprocessor. The routers presented in this paper explore 1) several design choices for mapping the routing functions to the RAW tiles, 2) the role and behavior of RAW on-chip interconnects for transporting and switching packets, and 3) the placement of packet buffers and their interaction with the RAW on-chip networks. Our experiments evaluate the performance benefit of streaming on-chip networks for transporting packet payloads, effect of buffering on the linecards, and the cost of scaling our design. Our software-based routers on RAW can achieve a throughput of 15Gb/sec -- an order of magnitude improvement over previous software routers on traditional general-purpose architectures and at least four times faster than Intel's IXP1200 Network Processor.
Umar Saif, James W. Anderson, Anthony Degangi, Anant Agarwal
ANCS2
2005 Maintaining High-Bandwidth Under Dynamic Network Conditions
Dejan Kostic, Ryan Braud, Chip Killian, Erik Vandekieft, James W. Anderson, Alex C. Snoeren, Amin Vahdat
USENIX ATC, General Track5