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

Gala Yadgar

dblp:25/646 · DBLP profile ↗
← Back
34ranked-venue papers
11as first author
16since 2021 · last 2025
0000-0003-2701-0260ORCID · corroborated

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

Systems, architecture and hardware · 30 · 11 first-author · 13 since 2021Databases, data management, data science and information retrieval · 7 · 2 first-author · 3 since 2021Computer networks · 2 · 2 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 1 since 2021

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
17 papers
Storage systems · 93% Performance modeling and evaluation · 3% Memory systems · 2%
Theoretical computer science
7 papers
Mathematical optimization · 36% Coding theory · 35% Graph algorithms and graph theory · 29%
Databases, data mining, and information retrieval
2 papers
Information retrieval · 100%

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

TopicWeightPapersLastEvidence papers
Storage systems › data reduction
data deduplication
4.372025
Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index · ACM Trans. Storage 2025
Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index · FAST 2024
The what, The from, and The to: The Migration Games in Deduplicated Systems · ACM Trans. Storage 2022
Storage systems
data migration
1.632022
The what, The from, and The to: The Migration Games in Deduplicated Systems · ACM Trans. Storage 2022
The what, The from, and The to: The Migration Games in Deduplicated Systems · FAST 2022
GoSeed: Optimal Seeding Plan for Deduplicated Storage · ACM Trans. Storage 2021
Mathematical optimization
integer programming
1.122022
The what, The from, and The to: The Migration Games in Deduplicated Systems · ACM Trans. Storage 2022
GoSeed: Optimal Seeding Plan for Deduplicated Storage · ACM Trans. Storage 2021
Storage systems
flash and SSD
1.032022
Prism-SSD: A Flexible Storage Interface for SSDs · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2022
The Devil Is in the Details: Implementing Flash Page Reuse with WOM Codes · FAST 2016
Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes · FAST 2015
Information retrieval
indexing
0.912025
Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index · ACM Trans. Storage 2025
Graph algorithms and graph theory › graph embedding
network embedding
0.912025
The Power of Alternatives in Network Embedding · INFOCOM 2025
Storage systems › flash and SSD
flash memory
0.832021
An Analysis of Flash Page Reuse With WOM Codes · ACM Trans. Storage 2018
Experience from Two Years of Visualizing Flash with SSDPlayer · ACM Trans. Storage 2017
SSD-based Workload Characteristics and Their Performance Implications · ACM Trans. Storage 2021
Storage systems › storage reliability
erasure coding
0.822020
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · ACM Trans. Storage 2020
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · USENIX ATC 2018
Storage systems › erasure-coded storage
locally repairable codes
0.822020
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · ACM Trans. Storage 2020
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · USENIX ATC 2018
Storage systems
indexing
0.812024
Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index · FAST 2024
Storage systems › indexing
inverted index
0.812024
Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index · FAST 2024
Information retrieval
keyword search
0.612022
DedupSearch: Two-Phase Deduplication Aware Keyword Search · FAST 2022
Storage systems › flash and SSD › SSD architecture
open-channel SSD
0.612022
Prism-SSD: A Flexible Storage Interface for SSDs · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2022
Storage systems
storage reliability
0.522022
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · USENIX ATC 2018
The what, The from, and The to: The Migration Games in Deduplicated Systems · FAST 2022
Storage systems
i/o workload characterization
0.512021
SSD-based Workload Characteristics and Their Performance Implications · ACM Trans. Storage 2021
Storage systems › flash and SSD
solid-state drive
0.512021
SSD-based Workload Characteristics and Their Performance Implications · ACM Trans. Storage 2021
Performance modeling and evaluation
workload characterization
0.512021
SSD-based Workload Characteristics and Their Performance Implications · ACM Trans. Storage 2021
Coding theory › error-correcting codes › storage coding › write-once memory
write-once memory codes
0.432018
Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes · FAST 2015
An Analysis of Flash Page Reuse With WOM Codes · ACM Trans. Storage 2018
The Devil Is in the Details: Implementing Flash Page Reuse with WOM Codes · FAST 2016
Storage systems › flash and SSD › flash memory management
flash translation layer
0.312018
An Analysis of Flash Page Reuse With WOM Codes · ACM Trans. Storage 2018
Storage systems › flash and SSD › flash memory management
garbage collection
0.312018
An Analysis of Flash Page Reuse With WOM Codes · ACM Trans. Storage 2018
Coding theory › error-correcting codes
erasure coding
0.312018
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · USENIX ATC 2018
Coding theory › distributed storage › distributed storage codes
locally repairable codes
0.312018
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · USENIX ATC 2018
Information retrieval › indexing
inverted index
0.312025
Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index · ACM Trans. Storage 2025
Information retrieval
search engines
0.312025
Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index · ACM Trans. Storage 2025
Distributed systems
fault tolerance
0.222020
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · ACM Trans. Storage 2020
On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes · USENIX ATC 2018
Storage systems
data placement
0.212022
The what, The from, and The to: The Migration Games in Deduplicated Systems · FAST 2022
Storage systems
file systems
0.212022
Prism-SSD: A Flexible Storage Interface for SSDs · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2022
Storage systems › flash and SSD › flash memory management › garbage collection
write amplification
0.112021
SSD-based Workload Characteristics and Their Performance Implications · ACM Trans. Storage 2021
Storage systems
data reduction
0.112020
GoSeed: Generating an Optimal Seeding Plan for Deduplicated Storage · FAST 2020
Memory systems
cache management
0.112011
Management of Multilevel, Multiclient Cache Hierarchies with Application Hints · ACM Trans. Comput. Syst. 2011

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

integer linear programming · 2.1greedy algorithm · 1.1analytical modeling · 0.7simulation · 0.6user-level library · 0.6multilevel abstraction · 0.6clustering algorithms · 0.6clustering algorithm · 0.6trace analysis · 0.5normalized repair cost metric · 0.4average degraded read cost metric · 0.4hardware evaluation · 0.3visualization tooling · 0.3write-once memory codes · 0.2
YearPublicationVenuePosition
2025 Plan-Based Scalable Online Virtual Network Embedding
abstract
Network virtualization allows hosting applications with diverse computation and communication requirements on shared edge infrastructure. Given a set of requests for deploying virtualized applications, the edge provider has to deploy a maximum number of them to the underlying physical network, subject to capacity constraints. This challenge is known as the virtual network embedding (VNE) problem: it models applications as virtual networks, where virtual nodes represent functions and virtual links represent communication between the virtual nodes.All variants of VNE are known to be strongly NP-hard. Because of its centrality to network virtualization, VNE has been extensively studied. We focus on the online variant of VNE, in which deployment requests are not known in advance. This reflects the highly skewed and unpredictable demand intrinsic to the edge. Unfortunately, existing solutions to online VNE do not scale well with the number of requests per second and the physical topology size.We propose a novel approach in which our new online algorithm, Olive, leverages a nearly optimal embedding for an aggregated expected demand. This embedding is computed offline. It serves as a plan that Olive uses as a guide for handling actual individual requests while dynamically compensating for deviations from the plan. We demonstrate that our solution can handle a number of requests per second greater by two orders of magnitude than the best results reported in the literature. Thus, it is particularly suitable for realistic edge environments.
Oleg Kolosov, David Breitgand, Dean H. Lorenz, Gala Yadgar
ICDCS4
2025 The Power of Alternatives in Network Embedding
Oleg Kolosov, Gala Yadgar, Rasoul Behravesh, David Breitgand, Dean H. Lorenz
INFOCOM2
2025 Let It Slide: Online Deduplicated Data Migration
abstract
This paper addresses data migration in online deduplicated systems. In this process, files are periodically remapped between volumes with the goal of preserving the system's load balance and deduplication efficiency. Previous studies focused on offline selection of files to migrate, a task complicated by the inter-file dependencies introduced by deduplication. However, they did not address the possibility of files entering and leaving the system due to user actions, nor the order between individual file transfers. Our motivational study reveals that naïve ordering may create traffic spikes and leave the system in poorly balanced intermediate states.
Shalev Kuba, Gala Yadgar
SYSTOR2
2025 Near-optimal PCM wear leveling under adversarial attacks
abstract
Phase-change memory (PCM) is a promising memory technology known for its speed, high density, and durability. However, each PCM cell can endure only a limited number of erase and subsequent write operations before failing, and the failure of a single cell can limit the lifespan of the entire device. This vulnerability makes PCM particularly susceptible to adversarial attacks that induce excessive writes to accelerate device failure. To counter this, wear-leveling techniques aim to distribute write operations evenly across PCM cells. In this paper, we study the online PCM utilization problem , which seeks to maximize the number of write requests served before any cell reaches the erase limit. While extensively studied in the systems and architecture communities, this problem remains largely unexplored from a theoretical perspective. We bridge this gap by presenting a novel algorithm that leverages hardware feedback to optimize PCM utilization. We prove that our algorithm achieves near-optimal worst-case guarantees and outperforms state-of-the-art practical solutions both theoretically and empirically, providing an efficient approach to prolonging PCM lifespan.
Tomer Lange, Joseph Naor, Gala Yadgar
Perform. Evaluation3
2025 Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index
abstract
In the realm of information retrieval, the need to maintain reliable term-indexing has grown more acute in recent years, with vast amounts of ever-growing online data used for data mining and natural language processing, and searched by a large number of search-engine users. At the same time, an increasing portion of primary storage systems employ data deduplication, where duplicate logical data chunks are replaced with references to a unique physical copy. We show that indexing deduplicated data with deduplication-oblivious mechanisms might result in extreme inefficiencies: the index size would increase in proportion to the logical data size, regardless of its duplication ratio, consuming excessive storage and memory and slowing down lookups. In addition, the logically sequential accesses during index creation would be transformed into random and redundant accesses to the physical chunks. Indeed, to the best of our knowledge, term indexing is not supported by any deduplicating storage system. In this article, we propose the design of a deduplication-aware term-index that addresses these challenges. IDEA maps terms to the unique chunks that contain them, and maps each chunk to the files in which it is contained. This basic design concept improves the index performance and can support advanced functionalities such as inline indexing, result ranking, and proximity search. Our prototype implementation based on Lucene (the search engine at the core of Elasticsearch) shows that IDEA can reduce the index size and indexing time by up to 73% and 94%, respectively, and reduce term-lookup latency by up to 82% and 59% for single and multi-term queries, respectively.
Asaf Levi, Philip Shilane, Sarai Sheinvald, Gala Yadgar
ACM Trans. Storage4
2024 Physical vs. Logical Indexing with IDEA: Inverted Deduplication-Aware Index
Asaf Levi, Philip Shilane, Sarai Sheinvald, Gala Yadgar
FAST4
2024 WoW-IO: a Gaming-Based Storage Trace Generator for Edge Computing
abstract
Workload traces play a crucial role in the design and evaluation of storage systems. They are used for evaluating system performance and optimizing aspects such as data access speeds, energy consumption, and load balancing. Most publicly available traces were collected in cloud environments, which limits their ability to represent workloads in user-centric and highly disaggregated settings such as edge systems.In this paper, we present WoW-IO, an open-source object trace generator based on the popular video game ‘World of Warcraft’. WoW-IO uses, as input, logs of in-game avatar information from the game’s servers. We describe the principles and assumptions used in the design of WoW-IO, how the generated traces can be used to evaluate various aspects of an edge storage-system design, and how the trace format can be extended to reflect additional details and complex usage scenarios.
Oleg Kolosov, Tom Herman, Ido Zohar, Gala Yadgar
ICFEC4
2023 PASE: Pro-Active Service Embedding in the Mobile Edge
abstract
Mobile edge computing offers ultra-low latency, high bandwidth, and high reliability. Thus, it can support a plethora of emerging services that can be placed in close proximity to the user. One of the fundamental problems in this context is maximizing the benefit from the placement of networked services, while meeting bandwidth and latency constraints. In this study, we propose an adaptive and predictive resource allocation strategy for virtual-network function placement comprising services at the mobile edge. Our study focuses on maximizing the service provider's benefit under user mobility, i.e., uncertainty. This problem is NP-hard, and thus we propose a heuristic solution: we exploit local knowledge about the likely movements of users to speculatively allocate service functions. We allow the service functions to be allocated at different edge nodes, as long as latency and bandwidth constraints are met. We evaluate our proposal against a theoretically optimal algorithm as well as against recent previous work, using widely used simulation tools. We demonstrate that under realistic scenarios, an adaptive and proactive strategy coupled with flexible placement can achieve close-to-optimal benefit.
Oleg Kolosov, Gala Yadgar, David Breitgand, Dean H. Lorenz
ICDCS2
2023 Theory vs. Practice in Modeling Edge Storage Systems
abstract
Edge systems promise to bring data and computing closer to the users of time-critical applications. Specifically, edge storage systems are emerging as a new system paradigm, where users can retrieve data from small-scale servers inter-operating at the network’s edge. The analysis, design, and optimization of such systems require a tractable model that will reflect their costs and bottlenecks. Alas, most existing mathematical models for edge systems focus on stateless tasks, network performance, or isolated nodes and are inapplicable for evaluating edge-based storage performance. We analyze the capacity-region model–the most promising model proposed so far for edge storage systems. The model addresses the system’s ability to serve a set of user demands. Our analysis reveals five inherent gaps between this model and reality, demonstrating the significant remaining challenges in modeling storage service at the edge.
Oleg Kolosov, Mehmet Fatih Aktas, Emina Soljanin, Gala Yadgar
IPCCC4
2022 DedupSearch: Two-Phase Deduplication Aware Keyword Search
Nadav Elias, Philip Shilane, Sarai Sheinvald, Gala Yadgar
FAST4
2022 The what, The from, and The to: The Migration Games in Deduplicated Systems
Roei Kisous, Ariel Kolikant, Abhinav Duggal, Sarai Sheinvald, Gala Yadgar
FAST5
2022 Prism-SSD: A Flexible Storage Interface for SSDs
abstract
The rapid adoption of solid-state drives (SSDs) as a major storage component has been made possible, thanks to their ability to export a standard block I/O interface to the file system and application developers. Meanwhile, this high-level abstraction has been shown to limit the utilization of the devices and the performance of applications running on top of them. Indeed, many optimizations of performance-critical applications bypass the standard block interface and rely on low-level control over SSD internal processes. However, the need to directly manage the physical device significantly increases development complexity and cost, and reduces its portability. Thus, application developers must choose between two extreme options, eithereasy developmentoroptimal performance, without a real possibility to balance between these two objectives. To bridge this gap, we propose aflexible storage interfacethat exports the SSD hardware in three levels of abstraction: 1) as a raw flash media with its low-level details; 2) as a group of functions to manage flash capacity; or 3) as a configurable block device. This multilevel abstraction allows developers to choose the degree in which they desire to control the flash hardware in a manner that best suits the applications’ semantics and performance objectives. We demonstrate the usability of this new model withPrism-SSD—a prototype of this interface as a user-level library on the Open-Channel SSD platform. We use each of the interface’s three abstraction levels to modify the I/O module of three representative applications: 1) a key-value cache system; 2) a user-level file system; and 3) a graph processing engine. Prism-SSD improves application performance by 5%–27%, at varying development costs, between 200 and 3500 lines of code.
Zhaoyan Shen, Feng Chen 0005, Gala Yadgar, Zhiping Jia, Zili Shao
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.3
2022 The what, The from, and The to: The Migration Games in Deduplicated Systems
abstract
Deduplication reduces the size of the data stored in large-scale storage systems by replacing duplicate data blocks with references to their unique copies. This creates dependencies between files that contain similar content and complicates the management of data in the system. In this article, we address the problem of data migration, in which files are remapped between different volumes as a result of system expansion or maintenance. The challenge of determining which files and blocks to migrate has been studied extensively for systems without deduplication. In the context of deduplicated storage, however, only simplified migration scenarios have been considered. In this article, we formulate the general migration problem for deduplicated systems as an optimization problem whose objective is to minimize the system’s size while ensuring that the storage load is evenly distributed between the system’s volumes and that the network traffic required for the migration does not exceed its allocation. We then present three algorithms for generating effective migration plans, each based on a different approach and representing a different trade-off between computation time and migration efficiency. Our greedy algorithm provides modest space savings but is appealing thanks to its exceptionally short runtime. Its results can be improved by using larger system representations. Our theoretically optimal algorithm formulates the migration problem as an integer linear programming (ILP) instance. Its migration plans consistently result in smaller and more balanced systems than those of the greedy approach, although its runtime is long and, as a result, the theoretical optimum is not always found. Our clustering algorithm enjoys the best of both worlds: its migration plans are comparable to those generated by the ILP-based algorithm, but its runtime is shorter, sometimes by an order of magnitude. It can be further accelerated at a modest cost in the quality of its results.
Roei Kisous, Ariel Kolikant, Abhinav Duggal, Sarai Sheinvald, Gala Yadgar
ACM Trans. Storage5
2021 Introduction to the Special Section on USENIX FAST 2021
Marcos K. Aguilera, Gala Yadgar
ACM Trans. Storage2
2021 GoSeed: Optimal Seeding Plan for Deduplicated Storage
abstract
Deduplication decreases the physical occupancy of files in a storage volume by removing duplicate copies of data chunks, but creates data-sharing dependencies that complicate standard storage management tasks. Specifically, data migration plans must consider the dependencies between files that are remapped to new volumes and files that are not. Thus far, only greedy approaches have been suggested for constructing such plans, and it is unclear how they compare to one another and how much they can be improved. We set to bridge this gap for seeding —migration in which the target volume is initially empty. We prove that even this basic instance of data migration is NP-hard in the presence of deduplication. We then present GoSeed, a formulation of seeding as an integer linear programming (ILP) problem, and three acceleration methods for applying it to real-sized storage volumes. Our experimental evaluation shows that, while the greedy approaches perform well on “easy” problem instances, the cost of their solution can be significantly higher than that of GoSeed’s solution on “hard” instances, for which they are sometimes unable to find a solution at all.
Aviv Nachman, Sarai Sheinvald, Ariel Kolikant, Gala Yadgar
ACM Trans. Storage4
2021 SSD-based Workload Characteristics and Their Performance Implications
abstract
Storage systems are designed and optimized relying on wisdom derived from analysis studies of file-system and block-level workloads. However, while SSDs are becoming a dominant building block in many storage systems, their design continues to build on knowledge derived from analysis targeted at hard disk optimization. Though still valuable, it does not cover important aspects relevant for SSD performance. In a sense, we are “searching under the streetlight,” possibly missing important opportunities for optimizing storage system design. We present the first I/O workload analysis designed with SSDs in mind. We characterize traces from four repositories and examine their “temperature” ranges, sensitivity to page size, and “logical locality.” We then take the first step towards correlating these characteristics with three standard performance metrics: write amplification, read amplification, and flash read costs. Our results show that SSD-specific characteristics strongly affect performance, often in surprising ways.
Gala Yadgar, Moshe Gabel, Shehbaz Jaffer, Bianca Schroeder
ACM Trans. Storage1
2020 GoSeed: Generating an Optimal Seeding Plan for Deduplicated Storage
Aviv Nachman, Gala Yadgar, Sarai Sheinvald
FAST2
2020 On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes
abstract
Erasure codes in large-scale storage systems allow recovery of data from a failed node. A recently developed class of codes, locally repairable codes (LRCs), offers tradeoffs between storage overhead and repair cost. LRCs facilitate efficient recovery scenarios by adding parity blocks to the system. However, these additional blocks may eventually increase the number of blocks that must be reconstructed. Existing LRCs differ in their use of the parity blocks, in their locality semantics, and in their parameter space. Thus, existing theoretical models cannot directly compare different LRCs to determine which code offers the best recovery performance, and at what cost. We perform the first systematic comparison of existing LRC approaches. We analyze Xorbas, Azure’s LRCs, and Optimal-LRCs in light of two new metrics: average degraded read cost and normalized repair cost. We show the tradeoff between these costs and the code’s fault tolerance, and that different approaches offer different choices in this tradeoff. Our experimental evaluation on a Ceph cluster further demonstrates the different effects of realistic system bottlenecks on the benefit from each LRC approach. Despite these differences, the normalized repair cost metric can reliably identify the LRC approach that would achieve the lowest repair cost in each setup.
Oleg Kolosov, Gala Yadgar, Matan Liram, Itzhak Tamo, Alexander Barg
ACM Trans. Storage2
2019 One Size Never Fits All: A Flexible Storage Interface for SSDs
abstract
The rapid adoption of solid-state drives (SSDs) as a major storage component has been made possible thanks to their ability to export a standard block I/O interface to file system and application developers. Meanwhile, this high-level abstraction has been shown to limit the utilization of the devices and the performance of applications running on top of them. Indeed, many optimizations of performance-critical applications bypass the standard block interface and rely on low-level control over SSD internal processes. However, the need to directly manage the physical device significantly increases development complexity and cost, and reduces its portability. Thus, application developers must choose between two extreme options, either easy development or optimal performance, without a real possibility to balance between these two objectives. To bridge this gap, we propose a flexible storage interface that exports the SSD hardware in three levels of abstraction: as a raw flash media with its low-level details, as a group of functions to manage flash capacity, or as a configurable block device. This multi-level abstraction allows developers to choose the degree in which they desire to control the flash hardware in a manner that best suits their applications' semantics and performance objectives. We demonstrate the usability of this new model with Prism-SSD-a prototype of this interface as a user-level library on the Open-Channel SSD platform. We use each of the interface's three abstraction levels to modify the I/O module of three representative applications: a key-value cache system, a user-level file system, and a graph processing engine. Prism-SSD improves application performance by 5% to 27%, at varying development costs, between 200 and 3,500 lines of code.
Zhaoyan Shen, Feng Chen 0005, Gala Yadgar, Zili Shao
ICDCS3
2019 Introduction to the Special Issue on ACM International Systems and Storage Conference (SYSTOR) 2018
abstract
No abstract available.
Gala Yadgar, Donald E. Porter
ACM Trans. Storage1
2018 A Case for Biased Programming in Flash
Eitan Yaakobi, Gala Yadgar, Nachum Bundak, Lior Gilon
HotStorage2
2018 How to Best Share a Big Secret
abstract
When sensitive data is stored in the cloud, the only way to ensure its secrecy is by encrypting it before it is uploaded. The emerging multi-cloud model, in which data is stored redundantly in two or more independent clouds, provides an opportunity to protect sensitive data with secret-sharing schemes. Both data-protection approaches are considered computationally expensive, but recent advances reduce their costs considerably: (1) Hardware acceleration methods promise to eliminate the computational complexity of encryption, but leave clients with the challenge of securely managing encryption keys. (2) Secure RAID, a recently proposed scheme, minimizes the computational overheads of secret sharing, but requires non-negligible storage overhead and random data generation. Each data-protection approach offers different tradeoffs and security guarantees. However, when comparing them, it is difficult to determine which approach will provide the best application-perceived performance, because previous studies were performed before their recent advances were introduced.
Roman Shor, Gala Yadgar, Eitan Yaakobi, Jehoshua Bruck
SYSTOR2
2018 On Fault Tolerance, Locality, and Optimality in Locally Repairable Codes
Oleg Kolosov, Gala Yadgar, Matan Liram, Itzhak Tamo, Alexander Barg
USENIX ATC2
2018 An Analysis of Flash Page Reuse With WOM Codes
abstract
Flash memory is prevalent in modern servers and devices. Coupled with the scaling down of flash technology, the popularity of flash memory motivates the search for methods to increase flash reliability and lifetime. Erasures are the dominant cause of flash cell wear, but reducing them is challenging because flash is a write-once medium— memory cells must be erased prior to writing. An approach that has recently received considerable attention relies on write-once memory (WOM) codes, designed to accommodate additional writes on write-once media. However, the techniques proposed for reusing flash pages with WOM codes are limited in their scope. Many focus on the coding theory alone, whereas others suggest FTL designs that are application specific, or not applicable due to their complexity, overheads, or specific constraints of multilevel cell (MLC) flash. This work is the first that addresses all aspects of page reuse within an end-to-end analysis of a general-purpose FTL on MLC flash. We use a hardware evaluation setup to directly measure the short- and long-term effects of page reuse on SSD durability and energy consumption, and show that FTL design must explicitly take them into account. We then provide a detailed analytical model for deriving the optimal garbage collection policy for such FTL designs, and for predicting the benefit from reuse on realistic hardware and workload characteristics.
Gala Yadgar, Eitan Yaakobi, Fabio Margaglia, Yue Li 0001, Alexander Yucovich, Nachum Bundak, Lior Gilon, Nir Yakovi, Assaf Schuster, André Brinkmann
ACM Trans. Storage1
2017 Experience from Two Years of Visualizing Flash with SSDPlayer
abstract
Data visualization is a thriving field of computer science, with widespread impact on diverse scientific disciplines, from medicine and meteorology to visual data mining. Advances in large-scale storage systems, as well as low-level storage technology, played a significant role in accelerating the applicability and adoption of modern visualization techniques. Ironically, “the cobbler’s children have no shoes”: Researchers who wish to analyze storage systems and devices are usually limited to a variety of static histograms and basic displays. The dynamic nature ofdata movementon flash has motivated the introduction of SSDPlayer, a graphical tool for visualizing the various processes that cause data movement on solid-state drives (SSDs). In 2015, we used the initial version of SSDPlayer to demonstrate how visualization can assist researchers and developers in their understanding of modern, complex flash-based systems. While we continued to use SSDPlayer for analysis purposes, we found it extremely useful for education and presentation purposes as well. In this article, we describe our experience from two years of using, sharing, and extending SSDPlayer and how similar techniques can further advance storage systems research and education.
Gala Yadgar, Roman Shor
ACM Trans. Storage1
2016 The Devil Is in the Details: Implementing Flash Page Reuse with WOM Codes
Fabio Margaglia, Gala Yadgar, Eitan Yaakobi, Yue Li 0001, Assaf Schuster, André Brinkmann
FAST2
2016 Avoiding the Streetlight Effect: I/O Workload Analysis with SSDs in Mind
Gala Yadgar, Moshe Gabel
HotStorage1
2015 Write Once, Get 50% Free: Saving SSD Erase Costs Using WOM Codes
Gala Yadgar, Eitan Yaakobi, Assaf Schuster
FAST1
2015 It's Not Where Your Data Is, It's How It Got There
Gala Yadgar, Roman Shor, Eitan Yaakobi, Assaf Schuster
HotStorage1
2015 When do WOM codes improve the erasure factor in flash memories?
abstract
Flash memory is a write-once medium in which re-programming cells requires first erasing the block that contains them. The lifetime of the flash is a function of the number of block erasures and can be as small as several thousands. To reduce the number of block erasures, pages, which are the smallest write unit, are rewritten out-of-place in the memory. A Write-once memory (WOM) code is a coding scheme which enables to write multiple times to the block before an erasure. However, these codes come with significant rate loss. For example, the rate for writing twice (with the same rate) is at most 0.77. In this paper, we study WOM codes and their tradeoff between rate loss and reduction in the number of block erasures, when pages are written uniformly at random. First, we introduce a new measure, called erasure factor, that reflects both the number of block erasures and the amount of data that can be written on each block. A key point in our analysis is that this tradeoff depends upon the specific implementation of WOM codes in the memory. We consider two systems that use WOM codes; a conventional scheme that was commonly used, and a new recent design that preserves the overall storage capacity. While the first system can improve the erasure factor only when the storage rate is at most 0.6442, we show that the second scheme always improves this figure of merit.
Eitan Yaakobi, Alexander Yucovich, Gal Maor, Gala Yadgar
ISIT4
2013 Cooperative caching with return on investment
abstract
Large scale consolidation of distributed systems introduces data sharing between consumers which are not centrally managed, but may be physically adjacent. For example, shared global data sets can be jointly used by different services of the same organization, possibly running on different virtual machines in the same data center. Similarly, neighboring CDNs provide fast access to the same content from the Internet. Cooperative caching, in which data are fetched from a neighboring cache instead of from the disk or from the Internet, can significantly improve resource utilization and performance in such scenarios. However, existing cooperative caching approaches fail to address the selfish nature of cache owners and their conflicting objectives. This calls for a new storage model that explicitly considers the cost of cooperation, and provides a framework for calculating the utility each owner derives from its cache and from cooperating with others. We define such a model, and construct four representative cooperation approaches to demonstrate how (and when) cooperative caching can be successfully employed in such large scale systems. We present principal guidelines for cooperative caching derived from our experimental analysis. We show that choosing the best cooperative approach can decrease the system's I/O delay by as much as 87%, while imposing cooperation when unwarranted might increase it by as much as 92%.
Gala Yadgar, Michael Factor, Assaf Schuster
MSST1
2011 Management of Multilevel, Multiclient Cache Hierarchies with Application Hints
abstract
Multilevel caching, common in many storage configurations, introduces new challenges to traditional cache management: data must be kept in the appropriate cache and replication avoided across the various cache levels. Additional challenges are introduced when the lower levels of the hierarchy are shared by multiple clients. Sharing can have both positive and negative effects. While data fetched by one client can be used by another client without incurring additional delays, clients competing for cache buffers can evict each other’s blocks and interfere with exclusive caching schemes. We present a global noncentralized, dynamic and informed management policy for multiple levels of cache, accessed by multiple clients. Our algorithm, MC 2 , combines local, per client management with a global, system-wide scheme, to emphasize the positive effects of sharing and reduce the negative ones. Our local management scheme, Karma , uses readily available information about the client’s future access profile to save the most valuable blocks, and to choose the best replacement policy for them. The global scheme uses the same information to divide the shared cache space between clients, and to manage this space. Exclusive caching is maintained for nonshared data and is disabled when sharing is identified. Previous studies have partially addressed these challenges through minor changes to the storage interface. We show that all these challenges can in fact be addressed by combining minor interface changes with smart allocation and replacement policies. We show the superiority of our approach through comparison to existing solutions, including LRU, ARC, MultiQ, LRU-SP, and Demote, as well as a lower bound on optimal I/O response times. Our simulation results demonstrate better cache performance than all other solutions and up to 87% better performance than LRU on representative workloads.
Gala Yadgar, Michael Factor, Kai Li 0001, Assaf Schuster
ACM Trans. Comput. Syst.1
2008 MC2: Multiple Clients on a Multilevel Cache
abstract
In today's networked storage environment, it is common to have a hierarchy of caches where the lower levels of the hierarchy are accessed by multiple clients. This sharing can have both positive or negative effects. While data fetched by one client can be used by another client without incurring additional delays, clients competing for cache buffers can evict each other's blocks and interfere with exclusive caching schemes. Our algorithm, MC2, combines local, per client management with a global, system-wide, scheme, to emphasize the positive effects of sharing and reduce the negative ones. The local scheme uses readily available information about the client's future access profile to save the most valuable blocks, and to choose the best replacement policy for them. The global scheme uses the same information to divide the shared cache space between clients, and to manage this space. Exclusive caching is maintained for non-shared data and is disabled when sharing is identified. Our simulation results show that the combined algorithm significantly reduces the overall I/O response times of the system.
Gala Yadgar, Michael Factor, Kai Li 0001, Assaf Schuster
ICDCS1
2007 Karma: Know-It-All Replacement for a Multilevel Cache
Gala Yadgar, Michael Factor, Assaf Schuster
FAST1