Network


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

Hotspot


Dive into the research topics where Marcos Kawazoe Aguilera is active.

Publication


Featured researches published by Marcos Kawazoe Aguilera.


principles of distributed computing | 1999

Matching events in a content-based subscription system

Marcos Kawazoe Aguilera; Robert E. Strom; Daniel C. Sturman; Mark Astley; Tushar Deepak Chandra

Content-based subscription systems are an emerging alternative to traditional publish-subscribe systems, because they permit more flexible subscriptions along multiple dimensions. In these systems, each subscription is a predicate which may test arbitrary attributes within an event. However, the matching problem for content-based systems — determining for each event the subset of all subscriptions whose predicates match the event — is still an open problem. We present an efficient, scalable solution to the matching problem. Our solution has an expected time complexity that is sub-linear in the number of subscriptions, and it has a space complexity that is linear. Specifically, we prove that for predicates reducible to conjunctions of elementary tests, the expected time to match a random event is no greater than O(N 1 ) where N is the number of subscriptions, and is a closed-form expression that depends on the number and type of attributes (in some cases, 1=2). We present some optimizations to our algorithms that improve the search time. We also present the results of simulations that validate the theoretical bounds and that show acceptable performance levels for tens of thousands of subscriptions. Department of Computer Science, Cornell University, Ithaca, N.Y. 14853-7501, [email protected] IBM T.J. Watson Research Center, Yorktown Heights, N.Y. 10598, fstrom, sturman, [email protected] Department of Computer Science, University of Illinois at Urbana-Champaign, 1304 W. Springfield Ave, Urbana, I.L. 61801, [email protected]


IEEE Transactions on Computers | 2002

On the quality of service of failure detectors

Wei Chen; Sam Toueg; Marcos Kawazoe Aguilera

The detection of failures is a fundamental issue for fault tolerance in distributed systems. Recently, many people have come to realize that failure detection ought to be provided as some form of generic service, similar to IP address lookup. However, this has not been successful so far; one of the reasons being the fact that classical failure detectors were not designed to satisfy several application requirements simultaneously. More specifically, traditional implementations of failure detectors are often tuned for running over local networks and fail to address some important problems found in wide-area distributed systems with a large number of monitored components. In this paper, we study the quality of service (QoS) of failure detectors. We first present a novel failure detector scheme combined with control theory that can help in solving or optimizing some problems. Furthermore, this paper discusses the design and analysis of implementing a scalable failure detection service for such large wide-area distributed systems considering dynamically adjusting the heartbeat streams, so that it satisfies the bottleneck router requirements. We further show how the online failure detector control algorithm can be used to design a controller, analyze the theoretical aspects of the proposed algorithm and verify its agreement. Simulation results show the efficiency of our scheme in terms of high utilization of the bottleneck link, fast response and good stability of the bottleneck router buffer occupancy as well as of the controlled sending rates. In conclusion, the new failure detector algorithm provides a better QoS.


symposium on operating systems principles | 2007

Sinfonia: a new paradigm for building scalable distributed systems

Marcos Kawazoe Aguilera; Arif Merchant; Mehul A. Shah; Alistair Veitch; Christos Karamanolis

We propose a new paradigm for building scalable distributed systems. Our approach does not require dealing with message-passing protocols -- a major complication in existing distributed systems. Instead, developers just design and manipulate data structures within our service called Sinfonia. Sinfonia keeps data for applications on a set of memory nodes, each exporting a linear address space. At the core of Sinfonia is a novel minitransaction primitive that enables efficient and consistent access to data, while hiding the complexities that arise from concurrency and failures. Using Sinfonia, we implemented two very different and complex applications in a few months: a cluster file system and a group communication service. Our implementations perform well and scale to hundreds of machines.


symposium on operating systems principles | 2011

Transactional storage for geo-replicated systems

Yair Sovran; Russell Power; Marcos Kawazoe Aguilera; Jinyang Li

We describe the design and implementation of Walter, a key-value store that supports transactions and replicates data across distant sites. A key feature behind Walter is a new property called Parallel Snapshot Isolation (PSI). PSI allows Walter to replicate data asynchronously, while providing strong guarantees within each site. PSI precludes write-write conflicts, so that developers need not worry about conflict-resolution logic. To prevent write-write conflicts and implement PSI, Walter uses two new and simple techniques: preferred sites and counting sets. We use Walter to build a social networking application and port a Twitter-like application.


international symposium on distributed computing | 1998

Failure Detection and Consensus in the Crash-Recovery Model

Marcos Kawazoe Aguilera; Wei Chen; Sam Toueg

We study the problems of failure detection and consensus in asynchronous systems in which processes may crash and recover, and links may lose messages. We first propose new failure detectors that are particularly suitable to the crash-recovery model. We next determine under what conditions stable storage is necessary to solve consensus in this model. We then give two matching consensus algorithms that use the new failure detectors: one requires stable storage and the other does not. Both algorithms tolerate link failures and are particularly efficient in the runs that are most likely in practice --those with no failures or failure detector mistakes. In such runs, consensus is achieved within 3d time and with 4n messages, where d is the maximum message delay and n is the number of processes in the system.


international workshop on distributed algorithms | 1997

Heartbeat: A Timeout-Free Failure Detector for Quiescent Reliable Communication

Marcos Kawazoe Aguilera; Wei Chen; Sam Toueg

We study the problem of achieving reliable communication with quiescent algorithms (i.e., algorithms that eventually stop sending messages) in asynchronous systems with process crashes and lossy links. We first show that it is impossible to solve this problem without failure detectors. We then show how to solve it using a new failure detector, called heartbeat. In contrast to previous failure detectors that have been used to circumvent impossibility results, the heartbeat failure detector is implementable, and its implementation does not use timeouts. These results have wide applicability: they can be used to transform many existing algorithms that tolerate only process crashes into quiescent algorithms that tolerate both process crashes and message losses. This can be applied to consensus, atomic broadcast, k-set agreement, atomic commitment, etc. The heartbeat failure detector is novel: it is implementable without timeouts and it does not output lists of suspects as typical failure detectors do. If we restrict failure detectors to output only lists of suspects, quiescent reliable communication requires ><P [ACT97a], which is not implementable. Combined with the results of this paper, this shows that traditional failure detectors that output only lists of suspects have fundamental limitations.


principles of distributed computing | 2004

Communication-efficient leader election and consensus with limited link synchrony

Marcos Kawazoe Aguilera; Carole Delporte-Gallet; Hugues Fauconnier; Sam Toueg

We study the degree of synchrony required to implement the leader election failure detector Ω and to solve consensus in partially synchronous systems. We show that in a system with <i>n</i> processes and up to <i>f</i> process crashes, one can implement Ω and solve consensus provided there exists some (unknown) correct process with <i>f</i> outgoing links that are eventually timely. In the special case where <i>f</i> = 1 , an important case in practice, this implies that to implement Ω and solve consensus it is sufficient to have just <i>one</i> eventually timely link -- all the other links in the system, Θ(<i>n</i><sup>2</sup>) of them, may be asynchronous. There is no need to know which link <i>p</i> → <i>q</i> is eventually timely, when it becomes timely, or what is its bound on message delay. Surprisingly, it is not even required that the source <i>p</i> or destination <i>q</i> of this link be correct: either <i>p</i> or <i>q</i> may actually crash, in which case the link <i>p</i> → <i>q</i> is eventually timely in a trivial way, and it is useless for sending messages. We show that these results are in a sense optimal: even if every process has <i>f</i> - 1 eventually timely links, neither Ω nor consensus can be solved. We also give an algorithm that implements Ω in systems where some correct process has <i>f</i> outgoing links that are eventually timely, <i>such that eventually only f links carry messages</i>, and we show that this is optimal. For <i>f</i> = 1 , this algorithm ensures that all the links, except for one, eventually become quiescent.


symposium on operating systems principles | 2013

Consistency-based service level agreements for cloud storage

Douglas B. Terry; Vijayan Prabhakaran; Ramakrishna Kotla; Mahesh Balakrishnan; Marcos Kawazoe Aguilera; Hussam Abu-Libdeh

Choosing a cloud storage system and specific operations for reading and writing data requires developers to make decisions that trade off consistency for availability and performance. Applications may be locked into a choice that is not ideal for all clients and changing conditions. Pileus is a replicated key-value store that allows applications to declare their consistency and latency priorities via consistency-based service level agreements (SLAs). It dynamically selects which servers to access in order to deliver the best service given the current configuration and system conditions. In application-specific SLAs, developers can request both strong and eventual consistency as well as intermediate guarantees such as read-my-writes. Evaluations running on a worldwide test bed with geo-replicated data show that the system adapts to varying client-server latencies to provide service that matches or exceeds the best static consistency choice and server selection scheme.


international symposium on distributed computing | 2001

Stable Leader Election

Marcos Kawazoe Aguilera; Carole Delporte-Gallet; Hugues Fauconnier; Sam Toueg

We introduce the notion of stable leader election and derive several algorithms for this problem. Roughly speaking, a leader election algorithm is stable if it ensures that once a leader is elected, it remains the leader for as long as it does not crash and its links have been behaving well, irrespective of the behavior of other processes and links. In addition to being stable, our leader election algorithms have several desirable properties. In particular, they are all communication-efficient, i.e., they eventually use only n links to carry messages, and they are robust, i.e., they work in systems where only the links to/from some correct process are required to be eventually timely. Moreover, our best leader election algorithm tolerates message losses, and it ensures that a leader is elected in constant time when the system is stable. We conclude the paper by applying the above ideas to derive a robust and efficient algorithm for the eventually perfect failure detector lP.


principles of distributed computing | 2003

On implementing omega with weak reliability and synchrony assumptions

Marcos Kawazoe Aguilera; Carole Delporte-Gallet; Hugues Fauconnier; Sam Toueg

We study the feasibility and cost of implementing Ω---a fundamental failure detector at the core of many algorithms---in systems with weak reliability and synchrony assumptions. Intuitively, Ω allows processes to eventually elect a common leader. We first give an algorithm that implements Ω in a weak system S where processes are synchronous, but: (a) any number of them may crash, and (b) only the output links of an unknown correct process are eventually timely (all other links can be asynchronous and/or lossy). This is in contrast to previous implementations of Ω which assume that a quadratic number of links are eventually timely, or systems that are strong enough to implement the eventually perfect failure detector P. We next show that implementing Ω in S is expensive: even if we want an implementation that tolerates just one process crash, all correct processes (except possibly one) must send messages forever; moreover, a quadratic number of links must carry messages forever. We then show that with a small additional assumption---the existence of some unknown correct process whose asynchronous links are lossy but fair---we can implement Ω efficiently: we give an algorithm for Ω such that eventually only one process (the elected leader) sends messages.

Collaboration


Dive into the Marcos Kawazoe Aguilera's collaboration.

Top Co-Authors

Avatar

Sam Toueg

University of Toronto

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge