Network


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

Hotspot


Dive into the research topics where Alex Gontmakher is active.

Publication


Featured researches published by Alex Gontmakher.


Communications of The ACM | 2002

The homograph attack

Evgeniy Gabrilovich; Alex Gontmakher

Computing veterans remember an old habit of crossing zeros (O) in program listings to avoid confusing them with the letter O, in order to make sure the operator would type the program correctly into the computer. This habit, once necessary, has long been rendered obsolete by the increased availability of editing tools. However, the underlying problem of character resemblance is still there. Today it seems we may have to acquire a similar habit, this time to address an issue much more threatening than mere typos: security.


ACM Transactions on Computer Systems | 2000

Java consistency: nonoperational characterizations for Java memory behavior

Alex Gontmakher; Assaf Schuster

The Java Language Specification (JLS) [Gosling et al. 1996] provides an operational definition for the consistency of shared variables. The definition remains unchanged in the JLS 2nd edition, currently under peer review, which relies on a specific abstract machine as its underlying model, is very complicated. Several subsequent works have tried to simplify and formalize it. However, these revised definitions are also operational, and thus have failed to highlight the intuition behind the original specification. In this work we provide a complete nonoperational specification for Java and for the JVM, excluding synchronized operations. We provide a simpler definition, in which we clearly distinguish the consistency model that is promised to the programmer from that which should be implemented in the JVM. This distinction, which was implicit in the original definition, is crucial for building the JVM. We find that the programmer model is strictly weaker than that of the JVM, and precisely define their discrepancy. Moreover, our definition is independent of any specific (or even abstract) machine, and can thus be used to verify JVM implementations and compiler optimizations on any platform. Finally, we show the precise range of consistency relaxations obtainable for the Java memory model when a certain compiler optimization— called prescient stores in JLS—is applicable.


merged international parallel processing symposium and symposium on parallel and distributed processing | 1998

Characterizations for Java memory behavior

Alex Gontmakher; Assaf Schuster

We provide non-operational characterizations of Java memory consistency model (Java Consistency, or simply Java). The work is based on the operational definition of the Java memory consistency as given in the Java Language Specification. We study the relation of Java memory behavior to that of some well known models, proving that Java is incomparable with PRAM Consistency and with both variants of Processor Consistency; it is neither stronger nor weaker. We show that a programmer can rely on Coherence and a certain variant of Causality for regular variables. Sequential Consistency for volatile variables, and Release Consistency when locks are employed.


high-performance computer architecture | 2006

Speculative synchronization and thread management for fine granularity threads

Alex Gontmakher; Avi Mendelson; Assaf Schuster; Gregory Shklover

Performance of multithreaded programs is heavily influenced by the latencies of the thread management and synchronization operations. Improving these latencies becomes especially important when the parallelization is performed at fine granularity. In this work we examine the interaction of speculative execution with the thread-related operations. We develop a unified framework which allows all such operations to be executed speculatively and provides efficient recovery mechanisms to handle misspeculation of branches which affect instructions in several threads. The framework was evaluated in the context of Inthreads, a programming model designed for very fine grain parallelization. Our measurements show that the speedup obtained by speculative execution of the threads-related instructions can reach 25%.


international conference on parallel processing | 2007

Code Compilation for an Explicitly Parallel Register-Sharing Architecture

Alex Gontmakher; Avi Mendelson; Assaf Schuster; Gregory Shklover

Code generation for a multithreaded register sharing architecture is inherently complex and involves some issues absent in conventional code compilation. To approach the problem, we define a consistency contract between the program and the hardware and require the compiler to preserve the contract during code transformations. To apply the contract to compiler implementation, we develop a correctness framework that ensures preservation of the contract and use it to adjust the code optimizations for correctness under parallel code. One area that is naturally affected by register sharing is register allocation. We discuss adaptation of existing coloring-based algorithms for shared code and show how they benefit from the consistency contract. Another benefit affects the general compiler optimizations. We show that these optimizations need very little restrictions in order to be correct for parallel code, allowing the compiler to realize its potential to a high degree.


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

Using fine grain multithreading for energy efficient computing

Alex Gontmakher; Avi Mendelson; Assaf Schuster

We investigate extremely fine-grain multithreading as a means for improving energy efficiency of single-task program execution.Our work is based on low-overhead threads executing an explicitly parallel program in a register-sharing context. The thread-based parallelism takes the place of instruction-level parallelism, allowing us to use simple and more energy-efficient in-order pipelines while retaining performance that is characteristic of classical out-of-order processors. Our evaluation shows that in energy terms, the parallelized code running over in-order pipelines can outperform both plain in-order and out-of-order processors.


ACM Sigarch Computer Architecture News | 2006

Inthreads: a low granularity parallelization model

Alex Gontmakher; Assaf Schuster; Avi Mendelson

We present Inthreads, a computational model aimed at medium-level parallelism. The threads in our model, based on shared architectural registers and having extremely low overheads, are useful for parallelization at a level of a single function call.Inthreads parallelization provides significant speedups, from 35% in case of well-behaved programs to over 3.5x for benchmarks with problematic patterns of branches and memory accesses.


Parallel Processing Letters | 2003

COMPLEXITY OF VERIFYING JAVA SHARED MEMORY EXECUTION

Alex Gontmakher; Sergey Polyakov; Assaf Schuster

This paper studies the problem of testing shared memory Java implementations to determine whether the memory behavior they provide is consistent. The complexity of the task is analyzed. The problem is defined as that of analyzing memory access traces. The study showed that the problem is NP-complete, both in the general case and in some particular cases in which the number of memory operations per thread, the number of write operations per variable, and the number of variables are restricted.


parallel computing | 2007

A Programming Model and Architectural Extensions for Fine-Grain Parallelism.

Avi Mendelson; Assaf Schuster; Alex Gontmakher; Gregory Shklover


ACM Transactions on Computer Systems | 2000

Java consistency: non-operational characteriza-tions for Java memory model

Alex Gontmakher; Assaf Schuster

Collaboration


Dive into the Alex Gontmakher's collaboration.

Top Co-Authors

Avatar

Assaf Schuster

Technion – Israel Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Avi Mendelson

Technion – Israel Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Gregory Shklover

Technion – Israel Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Sergey Polyakov

Technion – Israel Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge