Network


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

Hotspot


Dive into the research topics where Nachshon Cohen is active.

Publication


Featured researches published by Nachshon Cohen.


acm symposium on parallel algorithms and architectures | 2015

Efficient Memory Management for Lock-Free Data Structures with Optimistic Access

Nachshon Cohen; Erez Petrank

Lock-free data structures achieve high responsiveness, aid scalability, and avoid deadlocks and livelocks. But providing memory management support for such data structures without foiling their progress guarantees is difficult. Often, designers employ the hazard pointers technique, which may impose a high performance overhead. In this work we propose a novel memory management scheme for lock-free data structures called optimistic access. This scheme provides efficient support for lock-free data structures that can be presented in a normalized form. Our novel memory manager breaks the traditional memory management invariant which never lets a program touch reclaimed memory. In other words, it allows the memory manager to reclaim objects that may still be accessed later by concurrently running threads. This broken invariant provides an opportunity to obtain high parallelism with excellent performance, but it also requires a careful design. The optimistic access memory management scheme is easy to employ and we implemented it for a linked list, a hash table, and a skip list. Measurements show that it dramatically outperforms known memory reclamation methods.


programming language design and implementation | 2013

Limitations of partial compaction: towards practical bounds

Nachshon Cohen; Erez Petrank

Compaction of a managed heap is considered a costly operation, and is avoided as much as possible in commercial runtimes. Instead, partial compaction is often used to defragment parts of the heap and avoid space blow up. Previous study of compaction limitation provided some initial asymptotic bounds but no implications for practical systems. In this work, we extend the theory to obtain better bounds and make them strong enough to become meaningful for modern systems.


international symposium on memory management | 2015

Data structure aware garbage collector

Nachshon Cohen; Erez Petrank

Garbage collection may benefit greatly from knowledge about program behavior, but most managed languages do not provide means for the programmer to deliver such knowledge. In this work we propose a very simple interface that requires minor programmer effort and achieves substantial performance and scalability improvements. In particular, we focus on the common use of data structures or collections for organizing data on the heap. We let the program notify the collector which classes represent nodes of data structures and also when such nodes are being removed from their data structures. The data-structure aware (DSA) garbage collector uses this information to improve performance, locality, and load balancing. Experience shows that this interface requires a minor modification of the application. Measurements show that for some significant benchmarks this interface can dramatically reduce the time spent on garbage collection and also improve the overall program performance.


acm sigplan symposium on principles and practice of parallel programming | 2017

Layout Lock: A Scalable Locking Paradigm for Concurrent Data Layout Modifications

Nachshon Cohen; Arie Tal; Erez Petrank

Data-structures can benefit from dynamic data layout modifications when the size or the shape of the data structure changes during the execution, or when different phases in the program execute different workloads. However, in a modern multi-core environment, layout modifications involve costly synchronization overhead. In this paper we propose a novel layout lock that incurs a negligible overhead for reads and a small overhead for updates of the data structure. We then demonstrate the benefits of layout changes and also the advantages of the layout lock as its supporting synchronization mechanism for two data structures. In particular, we propose a concurrent binary search tree, and a concurrent array set, that benefit from concurrent layout modifications using the proposed layout lock. Experience demonstrates performance advantages and integration simplicity.


european conference on parallel processing | 2016

CBPQ: High Performance Lock-Free Priority Queue

Anastasia Braginsky; Nachshon Cohen; Erez Petrank

Priority queues are an important algorithmic component and are ubiquitous in systems and software. With the rapid deployment of parallel platforms, concurrent versions of priority queues are becoming increasingly important. In this paper, we present a novel concurrent lock-free linearizable algorithm for priority queues that scales significantly better than all known lock-based or lock-free priority queues. Our design employs several techniques to obtain its advantages including lock-free chunks, the use of the efficient fetch-and-increment atomic instruction, and elimination. Measurements under high contention demonstrate performance improvement by upi?źto a factor of 1.8 over existing approaches.


acm sigplan symposium on principles and practice of parallel programming | 2017

POSTER: A GPU-Friendly Skiplist Algorithm

Nurit Moscovici; Nachshon Cohen; Erez Petrank

We propose a design for a fine-grained lock-based skiplist optimized for Graphics Processing Units (GPUs). While GPUs are often used to accelerate streaming parallel computations, it remains a significant challenge to efficiently offload concurrent computations with more complicated data-irregular access and fine-grained synchronization. Natural building blocks for such computations would be concurrent data structures, such as skiplists, which are widely used in general purpose computations. Our design utilizes array-based nodes which are accessed and updated by warp-cooperative functions, thus taking advantage of the fact that GPUs are most efficient when memory accesses are coalesced and execution divergence is minimized. The proposed design has been implemented, and measurements demonstrate improved performance of up to 2.6x over skiplist designs for the GPU existing today.


international conference on principles of distributed systems | 2018

The Teleportation Design Pattern for Hardware Transactional Memory

Nachshon Cohen; Maurice Herlihy; Erez Petrank; Elias Wald

We identify a design pattern for concurrent data structures, called teleportation, that uses best- effort hardware transactional memory to speed up certain kinds of legacy concurrent data struc- tures. Teleportation unifies and explains several existing data structure designs, and it serves as the basis for novel approaches to reducing the memory traffic associated with fine-grained locking, and with hazard pointer management for memory reclamation.


acm sigplan symposium on principles and practice of parallel programming | 2017

POSTER: State Teleportation via Hardware Transactional Memory

Nachshon Cohen; Maurice Herlihy; Erez Petrank; Elias Wald

State teleportation is a new technique for exploiting hardware transactional memory (HTM) to improve existing synchronization and memory management schemes for highly-concurrent data structures. When applied to fine-grained locking, a thread holding the lock for a node launches a hardware transaction that traverses multiple successor nodes, acquires the lock for the last node reached, and releases the lock on the starting node, skipping lock acquisitions for intermediate nodes. When applied to lock-free data structures, a thread visiting a node protected by a hazard pointer launches a hardware transaction that traverses multiple successor nodes, and publishes the hazard pointer only for the last node reached, skipping the memory barriers needed to publish intermediate hazard pointers. Experimental results show that these applications of state teleportation can substantially increase the performance of both lock-based and lock-free data structures.


conference on object oriented programming systems languages and applications | 2015

Automatic memory reclamation for lock-free data structures

Nachshon Cohen; Erez Petrank


international conference on parallel architectures and compilation techniques | 2017

A GPU-Friendly Skiplist Algorithm

Nurit Moscovici; Nachshon Cohen; Erez Petrank

Collaboration


Dive into the Nachshon Cohen's collaboration.

Top Co-Authors

Avatar

Erez Petrank

Technion – Israel Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Nurit Moscovici

Technion – Israel Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Anastasia Braginsky

Technion – Israel Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Arie Tal

Technion – Israel Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge