Network


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

Hotspot


Dive into the research topics where Derin Harmanci is active.

Publication


Featured researches published by Derin Harmanci.


Computing | 2015

Identifying the optimal level of parallelism in transactional memory applications

Diego Didona; Pascal Felber; Derin Harmanci; Paolo Romano; Jörg Schenker

In this paper we investigate the issue of automatically identifying the “natural” degree of parallelism of an application using software transactional memory (STM), i.e., the workload-specific multiprogramming level that maximizes application’s performance. We discuss the importance of adapting the concurrency level in two different scenarios, a shared-memory and a distributed STM infrastructure. We propose and evaluate two alternative self-tuning methodologies, explicitly tailored for the considered scenarios. In shared-memory STM, we show that lightweight, black-box approaches relying solely on on-line exploration can be extremely effective. For distributed STMs , we introduce a novel hybrid approach that combines model-driven performance forecasting techniques and on-line exploration in order to take the best of the two techniques, namely enhancing robustness despite model’s inaccuracies, and maximizing convergence speed towards optimum solutions.


international conference on principles of distributed systems | 2008

Toward a Theory of Input Acceptance for Transactional Memories

Vincent Gramoli; Derin Harmanci; Pascal Felber

Transactional memory (TM) systems receive as an input a stream of events also known as a workload , reschedule it with respect to several constraints, and output a consistent history. In multicore architectures, the transactional code executed by a processor is a stream of events whose interruption would waste processor cycles. In this paper, we formalize the notion of TM workload into classes of input patterns, whose acceptance helps understanding the performance of a given TM.


Parallel Processing Letters | 2010

On the Input Acceptance of Transactional Memory

Vincent Gramoli; Derin Harmanci; Pascal Felber

We present the Input Acceptance of Transactional Memory (TM). Despite the large interest for performance of TMs, no existing research work has investigated the impact of solving a conflict that does not need to be solved. Traditional solutions for a TM to be correct is to delay or abort a transaction as soon as it presents a risk to violate consistency. Both alternatives are costly and should be avoided if consistency is actually preserved. To address this problem, we introduce the input acceptance of a TM as its ability to commit transactions, we upper-bound the input acceptance of existing TMs and propose a new TM with higher input acceptance.


european conference on object oriented programming | 2011

Atomic boxes: coordinated exception handling with transactional memory

Derin Harmanci; Vincent Gramoli; Pascal Felber

In concurrent programs raising an exception in one thread does not prevent others from operating on an inconsistent shared state. Instead, exceptions should ideally be handled in coordination by all the threads that are affected by their cause. In this paper, we propose a Java language extension for coordinated exception handling where a named abox (atomic box) is used to demarcate a region of code that must execute atomically and in isolation. Upon an exception raised inside an abox, threads executing in dependent aboxes, roll back their changes, and execute their recovery handler in coordination. We provide a dedicated compiler framework, CXH, to evaluate experimentally our atomic box construct. Our evaluation indicates that, in addition to enabling recovery, an atomic box executes a reasonably small region of code twice as fast as when using a failbox, the existing coordination alternative that has no recovery support.


international symposium on microarchitecture | 2010

The Velox Transactional Memory Stack

Pascal Felber; E Rivière; W M Moreira; Derin Harmanci; Patrick Marlier; Stephan Diestelhorst; Michael P. Hohmuth; Martin T. Pohlack; Adrian Cristal; I Hur; Osman S. Unsal; P Stenström; A Dragojevic; Rachid Guerraoui; M Kapalka; Vincent Gramoli; U Drepper; S Tomić; Yehuda Afek; Guy Korland; Nir Shavit; Christof Fetzer; Martin Nowack; Torvald Riegel

The adoption of multi- and many-core architectures for mainstream computing undoubtedly brings profound changes in the way software is developed. In particular, the use of fine grained locking as the multi-core programmers coordination methodology is considered by more and more experts as a dead-end. The transactional memory (TM) programming paradigm is a strong contender to become the approach of choice for replacing locks and implementing atomic operations in concurrent programming. Combining sequences of concurrent operations into atomic transactions allows a great reduction in the complexity of both programming and verification, by making parts of the code appear to execute sequentially without the need to program using fine-grained locking. Transactions remove from the programmer the burden of figuring out the interaction among concurrent operations that happen to conflict when accessing the same locations in memory. The EU-funded FP7 VELOX project designs, implements and evaluates an integrated TM stack, spanning from programming language to the hardware support, and including runtime and libraries, compilers, and application environments. This paper presents an overview of the VELOX TM stack and its associated challenges and contributions.


Journal of Parallel and Distributed Computing | 2010

Extensible transactional memory testbed

Derin Harmanci; Vincent Gramoli; Pascal Felber; Christof Fetzer

Transactional Memory (TM) is a promising abstraction as it hides all synchronization complexities from the programmers of concurrent applications. More particularly, the TM paradigm operated a complexity shift from the application programming to the TM programming. Therefore, expert programmers have now started to look for the ideal TM that will bring, once-for-all, performance to all concurrent applications. Researchers have recently identified numerous issues TMs may suffer from. Surprisingly, no TMs have ever been tested in these scenarios. In this paper, we present the first to date TM testbed. We propose a framework, TMunit, that provides a domain specific language to write rapidly TM workloads so that our test-suite is easily extensible. Our reproducible semantic tests indicate through reproducible counter-examples that existing TMs do not satisfy recent consistency criteria. Our performance tests identify workloads where well-known TMs perform differently. Finally, additional tests indicate some workloads preventing contention managers from progressing.


parallel, distributed and network-based processing | 2014

Combining Error Detection and Transactional Memory for Energy-Efficient Computing below Safe Operation Margins

Gulay Yalcin; Adrian Cristal; Osman S. Unsal; Anita Sobe; Derin Harmanci; Pascal Felber; Alexey Voronin; Jons-Tobias Wamhoff; Christof Fetzer

The power envelope has become a major issue for the design of computer systems. One way of reducing energy consumption is to downscale the voltage of microprocessors. However, this does not come without costs. By decreasing the voltage, the likelihood of failures increases drastically and without mechanisms for reliability, the systems would not operate any more. For reliability we need (1) error detection and (2) error recovery mechanisms. We provide in this paper a first study investigating the combination of different error detection mechanisms with transactional memory, with the objective to improve energy efficiency. According to our evaluation, using reliability schemes combined with transactional memory for error recovery reduces energy by 54% while providing a reliability level of 100%.


international conference on principles of distributed systems | 2013

Speculative Concurrent Processing with Transactional Memory in the Actor Model

Yaroslav Hayduk; Anita Sobe; Derin Harmanci; Patrick Marlier; Pascal Felber

The actor model has been successfully used for scalable computing in distributed systems. Actors are objects with a local state, which can only be modified by the exchange of messages. One of the fundamental principles of actor models is to guarantee sequential message processing, which avoids typical concurrency hazards, but limits the achievable message throughput. Preserving the sequential semantics of the actor model is, however, necessary for program correctness. In this paper, we propose to add support for speculative concurrent execution in actors using transactional memory (TM). Our approach is designed to operate with message passing and shared memory, and can thus take advantage of parallelism available on distributed and multi-core systems. The processing of each message is wrapped in a transaction executed atomically and in isolation, but concurrently with other messages. This allows us (1)ato scale while keeping the dependability guarantees ensured by sequential message processing, and (2)ato further increase robustness of the actor model against threats due to the rollback ability that comes for free with transactional processing of messages. We validate our design within the Scala programming language and the Akka framework. We show that the overhead of using transactions is hidden by the improved message processing throughput, thus leading to an overall performance gain.


Transactional Memory | 2015

Safe Exception Handling with Transactional Memory

Pascal Felber; Christof Fetzer; Vincent Gramoli; Derin Harmanci; Martin Nowack

Exception handling is notoriously difficult for programmers whereas transactional memory has been instrumental in simplifying concurrent programming. In this chapter, we describe how the transactional syntactic sugar simplifies the exception handling problems both when writing sequential and concurrent applications. We survey exception handling solutions to prevent applications from reaching an inconsistent state in a sequential environment on the one hand, and extend these solutions to also prevent concurrent execution of multiple threads from reaching an inconsistent state, on the other hand. The resulting technique greatly simplifies exception handling and is shown surprisingly efficient.


NETYS 2013 Revised Selected Papers of the First International Conference on Networked Systems - Volume 7853 | 2013

Identifying the Optimal Level of Parallelism in Transactional Memory Applications

Diego Didona; Pascal Felber; Derin Harmanci; Paolo Romano; Jörg Schenker

Collaboration


Dive into the Derin Harmanci's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Christof Fetzer

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Anita Sobe

University of Neuchâtel

View shared research outputs
Top Co-Authors

Avatar

Adrian Cristal

Spanish National Research Council

View shared research outputs
Top Co-Authors

Avatar

Osman S. Unsal

Barcelona Supercomputing Center

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jons-Tobias Wamhoff

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Martin Nowack

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Gulay Yalcin

Barcelona Supercomputing Center

View shared research outputs
Researchain Logo
Decentralizing Knowledge