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.

Mahsa Najafzadeh

dblp:13/9532 · DBLP profile ↗
← Back
7ranked-venue papers
1as first author
0since 2021 · last 2018
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 1 first-authorSystems, architecture and hardware · 2Human-computer interaction and ubiquitous computing · 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
2 papers
Distributed systems · 96% Storage systems · 4%
Databases, data mining, and information retrieval
1 paper
Transaction processing and concurrency control · 56% Knowledge graphs · 44%
Software engineering, system software, and programming languages
1 paper
Program verification · 100%

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

TopicWeightPapersLastEvidence papers
Distributed systems
replication
0.522016
'Cause I'm strong enough: reasoning about consistency choices in distributed systems · POPL 2016
Putting consistency back into eventual consistency · EuroSys 2015
Knowledge graphs › knowledge graph reasoning
compositional reasoning
0.312018
Alone together: compositional reasoning and inference for weak isolation · Proc. ACM Program. Lang. 2018
Transaction processing and concurrency control › isolation levels
weak isolation
0.312018
Alone together: compositional reasoning and inference for weak isolation · Proc. ACM Program. Lang. 2018
Program verification
program logic
0.312018
Alone together: compositional reasoning and inference for weak isolation · Proc. ACM Program. Lang. 2018
Program verification › concurrent program verification
transactional behavior verification
0.312018
Alone together: compositional reasoning and inference for weak isolation · Proc. ACM Program. Lang. 2018
Distributed systems › consistency models
consistency guarantees
0.212016
'Cause I'm strong enough: reasoning about consistency choices in distributed systems · POPL 2016
Distributed systems › replication
database replication
0.212016
'Cause I'm strong enough: reasoning about consistency choices in distributed systems · POPL 2016
Distributed systems
consistency models
0.212015
Putting consistency back into eventual consistency · EuroSys 2015
Distributed systems › consistency models
eventual consistency
0.212015
Putting consistency back into eventual consistency · EuroSys 2015
Transaction processing and concurrency control
serializability
0.112018
Alone together: compositional reasoning and inference for weak isolation · Proc. ACM Program. Lang. 2018
Storage systems › distributed storage
geo-distributed storage
0.112015
Putting consistency back into eventual consistency · EuroSys 2015

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

monadic state transformers · 0.7embedded DSL · 0.7SMT solver · 0.7modular reasoning · 0.2SMT · 0.2reservation system · 0.2invariant repair · 0.2
YearPublicationVenuePosition
2018 Co-Design and Verification of an Available File System
Mahsa Najafzadeh, Marc Shapiro 0001, Patrick Eugster
VMCAI1
2018 Alone together: compositional reasoning and inference for weak isolation
abstract
Serializability is a well-understood correctness criterion that simplifies reasoning about the behavior of concurrent transactions by ensuring they are isolated from each other while they execute. However, enforcing serializable isolation comes at a steep cost in performance because it necessarily restricts opportunities to exploit concurrency even when such opportunities would not violate application-specific invariants. As a result, database systems in practice support, and often encourage, developers to implement transactions using weaker alternatives. These alternatives break the strong isolation guarantees offered by serializable transactions to permit greater concurrency. Unfortunately, the semantics of weak isolation is poorly understood, and usually explained only informally in terms of low-level implementation artifacts. Consequently, verifying high-level correctness properties in such environments remains a challenging problem. To address this issue, we present a novel program logic that enables compositional reasoning about the behavior of concurrently executing weakly-isolated transactions. Recognizing that the proof burden necessary to use this logic may dissuade application developers, we also describe an inference procedure based on this foundation that ascertains the weakest isolation level that still guarantees the safety of high-level consistency assertions associated with such transactions. The key to effective inference is the observation that weakly-isolated transactions can be viewed as functional (monadic) computations over an abstract database state, allowing us to treat their operations as state transformers over the database. This interpretation enables automated verification using off-the-shelf SMT solvers. Our development is parametric over a transaction’s specific isolation semantics, allowing it to be applicable over a range of concurrency control mechanisms. Case studies and experiments on real-world applications (written in an embedded DSL in OCaml) demonstrate the utility of our approach, and provide strong evidence that automated verification of weakly-isolated transactions can be placed on the same formal footing as their strongly-isolated serializable counterparts.
Gowtham Kaki, Kartik Nagar, Mahsa Najafzadeh, Suresh Jagannathan
Proc. ACM Program. Lang.3
2017 Programmable Elasticity for Actor-based Cloud Applications
abstract
The actor model is a popular paradigm for programming scalable cloud applications. Building elastic and scalable cloud applications requires application developers to carefully adjust the application scale (the required resources) and the placement of actors at the runtime. Unfortunately, there is no efficient solution which could manage application elasticity automatically during runtime without disrupting ongoing requests. This paper proposes the idea of programmable elasticity approach, which allows application developers to define a set of elasticity rules for different actors. The runtime service endeavors to apply the elasticity rules while relieving the application programmer from dealing with the management of distributed state and efficient utilization of cloud resources.
Bo Sang, Srivatsan Ravi, Gustavo Petri, Mahsa Najafzadeh, Masoud Saeida Ardekani, Patrick Eugster
PLOS@SOSP4
2016 'Cause I'm strong enough: reasoning about consistency choices in distributed systems
abstract
Large-scale distributed systems often rely on replicated databases that allow a programmer to request different data consistency guarantees for different operations, and thereby control their performance. Using such databases is far from trivial: requesting stronger consistency in too many places may hurt performance, and requesting it in too few places may violate correctness. To help programmers in this task, we propose the first proof rule for establishing that a particular choice of consistency guarantees for various operations on a replicated database is enough to ensure the preservation of a given data integrity invariant. Our rule is modular: it allows reasoning about the behaviour of every operation separately under some assumption on the behaviour of other operations. This leads to simple reasoning, which we have automated in an SMT-based tool. We present a nontrivial proof of soundness of our rule and illustrate its use on several examples.
Alexey Gotsman, Hongseok Yang, Carla Ferreira 0001, Mahsa Najafzadeh, Marc Shapiro 0001
POPL4
2015 Putting consistency back into eventual consistency
abstract
Geo-replicated storage systems are at the core of current Internet services. The designers of the replication protocols used by these systems must choose between either supporting low-latency, eventually-consistent operations, or ensuring strong consistency to ease application correctness. We propose an alternative consistency model, Explicit Consistency, that strengthens eventual consistency with a guarantee to preserve specific invariants defined by the applications. Given these application-specific invariants, a system that supports Explicit Consistency identifies which operations would be unsafe under concurrent execution, and allows programmers to select either violation-avoidance or invariant-repair techniques. We show how to achieve the former, while allowing operations to complete locally in the common case, by relying on a reservation system that moves coordination off the critical path of operation execution. The latter, in turn, allows operations to execute without restriction, and restore invariants by applying a repair operation to the database state. We present the design and evaluation of Indigo, a middleware that provides Explicit Consistency on top of a causally-consistent data store. Indigo guarantees strong application invariants while providing similar latency to an eventually-consistent system in the common case.
Valter Balegas, Sérgio Duarte, Carla Ferreira 0001, Rodrigo Rodrigues 0001, Nuno M. Preguiça, Mahsa Najafzadeh, Marc Shapiro 0001
EuroSys6
2012 Power-efficient distributed scheduling of virtual machines using workload-aware consolidation techniques
Mohsen Sharifi, Hadi Salimi, Mahsa Najafzadeh
J. Supercomput.3
2011 Co-management of Power and Performance in Virtualized Distributed Environments
Mohsen Sharifi, Mahsa Najafzadeh, Hadi Salimi
GPC2