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.

Eshcar Hillel

dblp:24/490 · DBLP profile ↗
← Back
24ranked-venue papers
1as first author
0since 2021 · last 2020
0000-0002-2443-9822ORCID · verified

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

Systems, architecture and hardware · 13Databases, data management, data science and information retrieval · 4Theory of computation · 4Artificial intelligence and machine learning · 2 · 1 first-author

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
7 papers
Storage systems · 80% Memory systems · 12% Distributed systems · 6%
Databases, data mining, and information retrieval
6 papers
Data stream processing · 37% Transaction processing and concurrency control · 30% Indexing and storage engines · 15%
Software engineering, system software, and programming languages
4 papers
Concurrent programming · 100%
Artificial intelligence
1 paper
Reinforcement learning · 100%
Theoretical computer science
2 papers
Distributed computing theory · 56% Algorithms and data structures · 44%

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

TopicWeightPapersLastEvidence papers
Storage systems
key-value storage
1.552020
EvenDB: optimizing key-value storage for spatial locality · EuroSys 2020
Accordion: Better Memory Organization for LSM Key-Value Stores · Proc. VLDB Endow. 2018
KiWi: A Key-Value Map for Scalable Real-Time Analytics · PPoPP 2017
Data stream processing
sketch
0.822020
Fast concurrent data sketches · PPoPP 2020
Fast Concurrent Data Sketches · PODC 2019
Storage systems › key-value storage
LSM-tree
0.722020
EvenDB: optimizing key-value storage for spatial locality · EuroSys 2020
Scaling concurrent log-structured data stores · EuroSys 2015
Transaction processing and concurrency control
distributed transaction processing
0.622018
Taking Omid to the Clouds: Fast, Scalable Transactions for Real-Time Cloud Analytics · Proc. VLDB Endow. 2018
Omid, Reloaded: Scalable and Highly-Available Transaction Processing · FAST 2017
Concurrent programming › atomicity
linearizability
0.412020
Fast concurrent data sketches · PPoPP 2020
Memory systems › data locality
spatial locality
0.412020
EvenDB: optimizing key-value storage for spatial locality · EuroSys 2020
Concurrent programming › transactional memory
software transactional memory
0.332013
The Cost of Privatization in Software Transactional Memory · IEEE Trans. Computers 2013
Brief announcement: single-version permissive STM · PODC 2010
The power of DCAS: highly-concurrent software transactional memory · PODC 2007
Concurrent programming
transactional memory
0.332013
The Cost of Privatization in Software Transactional Memory · IEEE Trans. Computers 2013
Brief announcement: single-version permissive STM · PODC 2010
The power of DCAS: highly-concurrent software transactional memory · PODC 2007
Storage systems › key-value storage
LSM-tree key-value store
0.312018
Accordion: Better Memory Organization for LSM Key-Value Stores · Proc. VLDB Endow. 2018
Machine learning › Reinforcement learning › exploration › multi-robot exploration
distributed exploration
0.212013
Distributed Exploration in Multi-Armed Bandits · NIPS 2013
Machine learning › Reinforcement learning
multi-armed bandit
0.212013
Distributed Exploration in Multi-Armed Bandits · NIPS 2013
Concurrent programming › transactional memory
privatization
0.212013
The Cost of Privatization in Software Transactional Memory · IEEE Trans. Computers 2013
Transaction processing and concurrency control › consistency
linearizability
0.112019
Fast Concurrent Data Sketches · PODC 2019
Storage systems › storage engine
storage engine design
0.112018
Accordion: Better Memory Organization for LSM Key-Value Stores · Proc. VLDB Endow. 2018
Data stream processing
streaming analytics
0.112017
KiWi: A Key-Value Map for Scalable Real-Time Analytics · PPoPP 2017
Distributed systems
fault tolerance
0.112017
Omid, Reloaded: Scalable and Highly-Available Transaction Processing · FAST 2017
Distributed systems › fault tolerance
high availability
0.112017
Omid, Reloaded: Scalable and Highly-Available Transaction Processing · FAST 2017
Concurrent programming › non-blocking algorithms
lock-free algorithms
0.112007
The power of DCAS: highly-concurrent software transactional memory · PODC 2007
Concurrent programming › synchronization
non-blocking synchronization
0.112007
The power of DCAS: highly-concurrent software transactional memory · PODC 2007
Performance modeling and evaluation › parallel performance evaluation
multicore scalability
0.112015
Scaling concurrent log-structured data stores · EuroSys 2015
Distributed systems
distributed coordination
0.012013
Distributed Exploration in Multi-Armed Bandits · NIPS 2013

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

relaxed semantics · 1.3error analysis · 1.3concurrent data structure design · 0.6single-key transaction optimization · 0.3memory management · 0.3lower bound proof · 0.3fast path protocol · 0.3complexity analysis · 0.3LSM tree design · 0.3disjoint-access parallelism · 0.1local step complexity analysis · 0.1DCAS · 0.1
YearPublicationVenuePosition
2020 EvenDB: optimizing key-value storage for spatial locality
abstract
Applications of key-value (KV-)storage often exhibit high spatial locality, such as when many data items have identical composite key prefixes. This prevalent access pattern is underused by the ubiquitous LSM design underlying high-throughput KV-stores today.
Eran Gilad, Edward Bortnikov, Anastasia Braginsky, Yonatan Gottesman, Eshcar Hillel, Idit Keidar, Nurit Moscovici, Rana Shahout
EuroSys5
2020 Fast concurrent data sketches
abstract
Data sketches are approximate succinct summaries of long data streams. They are widely used for processing massive amounts of data and answering statistical queries about it. Existing libraries producing sketches are very fast, but do not allow parallelism for creating sketches using multiple threads or querying them while they are being built. We present a generic approach to parallelising data sketches efficiently and allowing them to be queried in real time, while bounding the error that such parallelism introduces. Utilising relaxed semantics and the notion of strong linearisability we prove our algorithm's correctness and analyse the error it induces in two specific sketches. Our implementation achieves high scalability while keeping the error small. We have contributed one of our concurrent sketches to the open-source data sketches library.
Arik Rinberg, Alexander Spiegelman, Edward Bortnikov, Eshcar Hillel, Idit Keidar, Lee Rhodes, Hadar Serviansky
PPoPP4
2019 Fast Concurrent Data Sketches
abstract
Data sketches are approximate succinct summaries of long data streams. They are widely used for processing massive amounts of data and answering statistical queries about it. Existing libraries producing sketches are very fast, but do not allow parallelism for creating sketches using multiple threads or querying them while they are being built. We present a generic approach to parallelising data sketches efficiently and allowing them to be queried in real time, while bounding the error that such parallelism introduces. Utilising relaxed semantics and the notion of strong linearisability we prove our algorithm's correctness and analyse the error it induces in two specific sketches. Our implementation achieves high scalability while keeping the error small. We have contributed one of our concurrent sketches to the open-source data sketches library.
Arik Rinberg, Alexander Spiegelman, Edward Bortnikov, Eshcar Hillel, Idit Keidar, Hadar Serviansky
PODC4
2018 Accordion: Better Memory Organization for LSM Key-Value Stores
abstract
Log-structured merge (LSM) stores have emerged as the technology of choice for building scalable write-intensive key-value storage systems. An LSM store replaces random I/O with sequential I/O by accumulating large batches of writes in a memory store prior to flushing them to log-structured disk storage; the latter is continuously re-organized in the background through a compaction process for efficiency of reads. Though inherent to the LSM design, frequent compactions are a major pain point because they slow down data store operations, primarily writes, and also increase disk wear. Another performance bottleneck in today's state-of-the-art LSM stores, in particular ones that use managed languages like Java, is the fragmented memory layout of their dynamic memory store. In this paper we show that these pain points may be mitigated via better organization of the memory store. We present Accordion - an algorithm that addresses these problems by re-applying the LSM design principles to memory management. Accordion is implemented in the production code of Apache HBase, where it was extensively evaluated. We demonstrate Accordion's double-digit performance gains versus the baseline HBase implementation and discuss some unexpected lessons learned in the process.
Edward Bortnikov, Anastasia Braginsky, Eshcar Hillel, Idit Keidar, Gali Sheffi
Proc. VLDB Endow.3
2018 Taking Omid to the Clouds: Fast, Scalable Transactions for Real-Time Cloud Analytics
abstract
We describe how we evolve Omid, a transaction processing system for Apache HBase, to power Apache Phoenix, a cloud-grade real-time SQL analytics engine. Omid was originally designed for data processing pipelines at Yahoo, which are, by and large, throughput-oriented monolithic NoSQL applications. Providing a platform to support converged real-time transaction processing and analytics applications - dubbed translytics - introduces new functional and performance requirements. For example, SQL support is key for developer productivity, multi-tenancy is essential for cloud deployment, and latency is cardinal for just-in-time data ingestion and analytics insights. We discuss our efforts to adapt Omid to these new domains, as part of the process of integrating it into Phoenix as the transaction processing backend. A central piece of our work is latency reduction in Omid's protocol, which also improves scalability. Under light load, the new protocol's latency is 4x to 5x smaller than the legacy Omid's, whereas under increased loads it is an order of magnitude faster. We further describe a fast path protocol for single-key transactions, which enables processing them almost as fast as native HBase operations.
Ohad Shacham, Yonatan Gottesman, Aran Bergman, Edward Bortnikov, Eshcar Hillel, Idit Keidar
Proc. VLDB Endow.5
2017 Fragola: low-latency transactions in distributed data stores
abstract
As transaction processing services begin to be used in new application domains, low transaction latency becomes an important consideration. Motivated by such use cases we developed Fragola, a highly scalable low-latency and high-throughput transaction processing engine for Apache HBase. Similarly to other modern transaction managers, Fragola provides a variant of generalized snapshot isolation (SI), which scales better than traditional serializability implementations.
Yonatan Gottesman, Aran Bergman, Edward Bortnikov, Eshcar Hillel, Idit Keidar, Ohad Shacham
SoCC4
2017 Omid, Reloaded: Scalable and Highly-Available Transaction Processing
Edward Bortnikov, Eshcar Hillel, Idit Keidar, Ivan Kelly, Matthieu Morel, Sameer Paranjpye, Francisco Perez-Sorrosal, Ohad Shacham
FAST2
2017 KiWi: A Key-Value Map for Scalable Real-Time Analytics
abstract
Modern big data processing platforms employ huge in-memory key-value (KV) maps. Their applications simultaneously drive high-rate data ingestion and large-scale analytics. These two scenarios expect KV-map implementations that scale well with both real-time updates and large atomic scans triggered by range queries.
Dmitry Basin, Edward Bortnikov, Anastasia Braginsky, Guy Golan-Gueta, Eshcar Hillel, Idit Keidar, Moshe Sulamy
PPoPP5
2016 Brief Announcement: A Key-Value Map for Massive Real-Time Analytics
abstract
Modern big data processing platforms employ huge in-memory key-value (KV-) maps. Their applications simultaneously drive high-rate data ingestion and large-scale analytics. These two scenarios expect KV-map implementations that scale well with both real-time updates and massive atomic scans triggered by range queries. However, today's state-of-the art concurrent KV-maps fall short of satisfying these requirements -- they either provide only limited or non-atomic scans, or severely hamper updates when scans are ongoing. We present KiWi, the first atomic KV-map to efficiently support simultaneous massive data retrieval and real-time access. The key to achieving this is treating scans as first class citizens, whereas most existing concurrent KV-maps do not provide atomic scans, and some others add them to existing maps without rethinking the design anew.
Dmitry Basin, Edward Bortnikov, Anastasia Braginsky, Guy Golan-Gueta, Eshcar Hillel, Idit Keidar, Moshe Sulamy
PODC5
2015 Scaling concurrent log-structured data stores
abstract
Log-structured data stores (LSM-DSs) are widely accepted as the state-of-the-art implementation of key-value stores. They replace random disk writes with sequential I/O, by accumulating large batches of updates in an in-memory data structure and merging it with the on-disk store in the background. While LSM-DS implementations proved to be highly successful at masking the I/O bottleneck, scaling them up on multicore CPUs remains a challenge. This is nontrivial due to their often rich APIs, as well as the need to coordinate the RAM access with the background I/O.
Guy Golan-Gueta, Edward Bortnikov, Eshcar Hillel, Idit Keidar
EuroSys3
2015 Watch-It-Next: A Contextual TV Recommendation System
Michal Aharon, Eshcar Hillel, Amit Kagian, Ronny Lempel, Hayim Makabee, Raz Nissim
ECML/PKDD (3)2
2015 Towards Automatic Lock Removal for Scalable Synchronization
Maya Arbel-Raviv, Guy Golan-Gueta, Eshcar Hillel, Idit Keidar
DISC3
2014 Reconciling Transactional and Non-Transactional Operations in Distributed Key-Value Stores
abstract
NoSQL databases were initially designed to provide extreme scalability and availability for Internet applications, often at the expense of data consistency. The recent generation of Web-scale databases fills this gap, by offering transaction support. However, transaction processing implies a significant performance overhead on online applications that only require atomic reads and writes. The state-of-the-art solutions are either static separation of the data accessed by transaction-enabled and native applications, or complete "transactification" of the latter, which are both inadequate.
Edward Bortnikov, Eshcar Hillel, Artyom Sharov
SYSTOR2
2013 Distributed Exploration in Multi-Armed Bandits
abstract
We study exploration in Multi-Armed Bandits (MAB) in a setting where~$k$ players collaborate in order to identify an $\epsilon$-optimal arm. Our motivation comes from recent employment of MAB algorithms in computationally intensive, large-scale applications. Our results demonstrate a non-trivial tradeoff between the number of arm pulls required by each of the players, and the amount of communication between them. In particular, our main result shows that by allowing the $k$ players to communicate \emph{only once}, they are able to learn $\sqrt{k}$ times faster than a single player. That is, distributing learning to $k$ players gives rise to a factor~$\sqrt{k}$ parallel speed-up. We complement this result with a lower bound showing this is in general the best possible. On the other extreme, we present an algorithm that achieves the ideal factor $k$ speed-up in learning performance, with communication only logarithmic in~$1/\epsilon$.
Eshcar Hillel, Zohar S. Karnin, Tomer Koren, Ronny Lempel, Oren Somekh
NIPS1
2013 Built-in Coloring for Highly-Concurrent Doubly-Linked Lists
Hagit Attiya, Eshcar Hillel
Theory Comput. Syst.2
2013 The Cost of Privatization in Software Transactional Memory
abstract
Software transactional memory (STM) is a promising approach for programming concurrent applications; STM guarantees that a transaction, consisting of a sequence of operations on the memory, appears to execute atomically. In practice, however, it is important to be able to run transactions together with nontransactional legacy code accessing the same memory locations, by supporting privatization of shared data. Privatization should be provided without sacrificing the parallelism offered by today's multicore systems and multiprocessors. This paper proves an inherent cost for supporting privatization, which is linear in the number of privatized items. Specifically, we show that a transaction privatizing k items must have a data set of size at least k, in an STM with invisible reads, which is oblivious to different nonconflicting executions and guarantees progress in such executions. When reads are visible, it is shown that r memory locations must be accessed by a privatizing transaction, where r is the minimum between k, the number of privatized items, and the number of concurrent transactions guaranteed to make progress. This captures, in a concrete and quantitative manner, the tradeoff between the cost of privatization and the level of parallelism offered by the STM.
Hagit Attiya, Eshcar Hillel
IEEE Trans. Computers2
2012 A Single-Version STM that Is Multi-Versioned Permissive
Hagit Attiya, Eshcar Hillel
Theory Comput. Syst.2
2011 Inherent Limitations on Disjoint-Access Parallel Implementations of Transactional Memory
Hagit Attiya, Eshcar Hillel, Alessia Milani
Theory Comput. Syst.2
2011 Highly concurrent multi-word synchronization
Hagit Attiya, Eshcar Hillel
Theor. Comput. Sci.2
2010 Brief announcement: single-version permissive STM
abstract
We present a single-version STM that satisfies a practical notion of permissiveness: it never aborts read-only transactions, and it only aborts an update transaction due to another conflicting update transaction, thereby avoiding many spurious aborts. It avoids unnecessary contention on the memory, being strictly disjoint-access parallel.
Hagit Attiya, Eshcar Hillel
PODC2
2010 The Cost of Privatization
Hagit Attiya, Eshcar Hillel
DISC2
2009 Inherent limitations on disjoint-access parallel implementations of transactional memory
abstract
Transactional memory (TM) is a promising approach for designing concurrent data structures, and it is essential to develop better understanding of the formal properties that can be achieved by TM implementations. Two fundamental properties of TM implementations are disjoint-access parallelism, which is critical for their scalability, and the invisibility of read operations, which reduces memory contention.
Hagit Attiya, Eshcar Hillel, Alessia Milani
SPAA2
2007 The power of DCAS: highly-concurrent software transactional memory
abstract
LSTM (local software transactional memory) is the first nonblocking implementation of dynamic software transactional memory with O(k)-local step complexity and contention, where k is the size of the operation's data set.
Hagit Attiya, Eshcar Hillel
PODC2
2006 Built-In Coloring for Highly-Concurrent Doubly-Linked Lists
Hagit Attiya, Eshcar Hillel
DISC2