Network


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

Hotspot


Dive into the research topics where Annette Bieniusa is active.

Publication


Featured researches published by Annette Bieniusa.


Proceedings of the 16th Annual Middleware Conference on | 2015

Write Fast, Read in the Past: Causal Consistency for Client-Side Applications

Marek Zawirski; Nuno M. Preguiça; Sérgio Duarte; Annette Bieniusa; Valter Balegas; Marc Shapiro

Client-side apps (e.g., mobile or in-browser) need cloud data to be available in a local cache, for both reads and updates. For optimal user experience and developer support, the cache should be consistent and fault-tolerant. In order to scale to high numbers of unreliable and resource-poor clients, and large database, the system needs to use resources sparingly. The SwiftCloud distributed object database is the first to provide fast reads and writes via a causally-consistent client-side local cache backed by the cloud. It is thrifty in resources and scales well, thanks to consistent versioning provided by the cloud, using small and bounded metadata. It remains available during faults, switching to a different data centre when the current one is not responsive, while maintaining its consistency guarantees. This paper presents the SwiftCloud algorithms, design, and experimental evaluation. It shows that client-side apps enjoy the high performance and availability, under the same guarantees as a remote cloud data store, at a small cost.


international conference on distributed computing systems | 2016

Cure: Strong Semantics Meets High Availability and Low Latency

Deepthi Devaki Akkoorath; Alejandro Z. Tomsic; Manuel Bravo; Zhongmiao Li; Tyler Crain; Annette Bieniusa; Nuno M. Preguiça; Marc Shapiro

Developers of cloud-scale applications face a difficult decision of which kind of storage to use, summarised by the CAP theorem. Currently the choice is between classical CP databases, which provide strong guarantees but are slow, expensive, and unavailable under partition, and NoSQL-style AP databases, which are fast and available, but too hard to program against. We present an alternative: Cure provides the highest level of guarantees that remains compatible with availability. These guarantees include: causal consistency (no ordering anomalies), atomicity (consistent multi-key updates), and support for high-level data types (developer friendly API) with safe resolution of concurrent updates (guaranteeing convergence). These guarantees minimise the anomalies caused by parallelism and distribution, thus facilitating the development of applications. This paper presents the protocols for highly available transactions, and an experimental evaluation showing that Cure is able to achieve scalability similar to eventually-consistent NoSQL databases, while providing stronger guarantees.


european conference on computer systems | 2016

Eventually consistent register revisited

Marek Zawirski; Carlos Baquero; Annette Bieniusa; Nuno M. Preguiça; Marc Shapiro

In order to converge in the presence of concurrent updates, modern eventually consistent replication systems rely on causality information and operation semantics. It is relatively easy to use semantics of high-level operations on replicated data structures, such as sets, lists, etc. However, it is difficult to exploit semantics of operations on registers, which store opaque data. In existing register designs, concurrent writes are resolved either by the application, or by arbitrating them according to their timestamps. The former is complex and may require user intervention, whereas the latter causes arbitrary updates to be lost. In this work, we identify a register construction that generalizes existing ones by combining runtime causality ordering, to identify concurrent writes, with static data semantics, to resolve them. We propose a simple conflict resolution template based on an application-predefined order on the domain of values. It eliminates or reduces the number of conflicts that need to be resolved by the user or by an explicit application logic. We illustrate some variants of our approach with use cases, and how it generalizes existing designs.


international workshop on security | 2016

Access Control for Weakly Consistent Replicated Information Systems

Mathias Weber; Annette Bieniusa; Arnd Poetzsch-Heffter

Access control is an important aspect of information systems. It manages and enforces the rules that govern the access of users and applications to the data. In general, both data objects and access rules are subject to change over time, e.g., one might withdraw the right of a user to access a certain data object.


asian symposium on programming languages and systems | 2015

Transactions on Mergeable Objects

Deepthi Devaki Akkoorath; Annette Bieniusa

Destructible updates on shared objects require careful handling of concurrent accesses in multi-threaded programs. Paradigms such as Transactional Memory support the programmer in correctly synchronizing access to mutable shared data by serializing the transactional reads and writes. But under high contention, serializable transactions incur frequent aborts and limit parallelism. This can lead to a severe performance degradation.


international world wide web conferences | 2017

Legion: Enriching Internet Services with Peer-to-Peer Interactions

Albert van der Linde; Pedro Fouto; João Leitão; Nuno M. Preguiça; Santiago J. Castiñeira; Annette Bieniusa

Many web applications are built around direct interactions among users, from collaborative applications and social networks to multi-user games. Despite being user-centric, these applications are usually supported by services running on servers that mediate all interactions among clients. When users are in close vicinity of each other, relying on a centralized infrastructure for mediating user interactions leads to unnecessarily high latency while hampering fault-tolerance and scalability. In this paper, we propose to extend user-centric Internet services with peer-to-peer interactions. We have designed a framework named Legion that enables client web applications to securely replicate data from servers, and synchronize these replicas directly among them. Legion allows for client-side modules, that we dub adapters, to leverage existing web platforms for storing data and to assist in Legion operation. Using these adapters, legacy applications accessing directly the web platforms can co-exist with new applications that use our framework, while accessing the same shared objects.Our experimental evaluation shows that, besides supporting direct client interactions, even when disconnected from the servers, Legion provides lower latency for update propagation with decreased network traffic for servers.


european conference on computer systems | 2016

Highly-scalable concurrent objects

Deepthi Devaki Akkoorath; Annette Bieniusa

Synchronisation is a bottleneck in shared memory concurrent programs. In this paper, we present Mergeable Data Types (MDTs) for relaxing synchronisation in shared memory system analogously to CRDTs in replicated systems. We present the key properties of MDTs and discuss the design of several MDTs.


european conference on parallel processing | 2018

Global-Local View: Scalable Consistency for Concurrent Data Types

Deepthi Devaki Akkoorath; José Brandão; Annette Bieniusa; Carlos Baquero

Concurrent linearizable access to shared objects can be prohibitively expensive in a high contention workload. Many applications apply ad-hoc techniques to eliminate the need for synchronous atomic updates, which may result in non-linearizable implementations. We propose a new model which leverages such patterns for concurrent access to objects in a shared memory system. In this model, each thread maintains different views on the shared object: a thread-local view and a global view. As the thread-local view is not shared, it can be updated without incurring synchronization costs. These local updates become visible to other threads only after the thread-local view is merged with the global view. This enables better performance at the expense of linearizability. We discuss the design of several datatypes and evaluate their performance and scalability compared to linearizable implementations.


european conference on computer systems | 2018

Ensuring referential integrity under causal consistency

Marc Shapiro; Annette Bieniusa; Peter Zeller; Gustavo Petri

Referential integrity (RI) is an important correctness property of a shared, distributed object storage system. It is sometimes thought that enforcing RI requires a strong form of consistency. In this paper, we argue that causal consistency suffices to maintain RI. We support this argument with pseudocode for a reference CRDT data type that maintains RI under causal consistency. QuickCheck has not found any errors in the model.


Archive | 2018

Collaborative Work Management with a Highly-Available Kanban Board

Annette Bieniusa; Peter Zeller; Shraddha Barke

Research group leaders and university vice presidents are responsible for tracking progress of many different projects at the same time. Kanban boards have turned into a surprisingly popular approach for project management over the last decade. Their usage spans the management of software development teams following an agile approach, business task management, and organizational development undertaken by collaborative teams. More recently, Kanban boards have also proven to be useful for personal task management. Users are required to break projects down into a collection of individual tasks. The visualization of these tasks (or a subset) helps to prioritize and focus on only a small number of tasks at a time, while tracking progress of their status. Software support for this type of task is highly desirable, but prone to data loss and corruption under concurrent updates. In this paper, we describe the functionality of software products that provide implementations of Kanban boards. We discuss how concurrent operations on these boards, such as moving entries on a board, can lead to unexpected and undesirable results. This type of bugs can be prevented by disallowing concurrent modifications of the application data. Using a formal model of a Kanban board specified in our verification tool Repliss, we show how techniques such as conflict-free replicated data types (CRDTs) can improve the programmability of highly-available systems and where their limits are.

Collaboration


Dive into the Annette Bieniusa's collaboration.

Top Co-Authors

Avatar

Deepthi Devaki Akkoorath

Kaiserslautern University of Technology

View shared research outputs
Top Co-Authors

Avatar

Nuno M. Preguiça

Universidade Nova de Lisboa

View shared research outputs
Top Co-Authors

Avatar

Mathias Weber

Kaiserslautern University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Arnd Poetzsch-Heffter

Kaiserslautern University of Technology

View shared research outputs
Top Co-Authors

Avatar

Peter Zeller

Kaiserslautern University of Technology

View shared research outputs
Top Co-Authors

Avatar

Valter Balegas

Universidade Nova de Lisboa

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge