Network


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

Hotspot


Dive into the research topics where Hany E. Ramadan is active.

Publication


Featured researches published by Hany E. Ramadan.


symposium on operating systems principles | 2007

TxLinux: using and managing hardware transactional memory in an operating system

Christopher J. Rossbach; Owen S. Hofmann; Donald E. Porter; Hany E. Ramadan; Bhandari Aditya; Emmett Witchel

TxLinux is a variant of Linux that is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. This paper describes and measures TxLinux and discusses two innovations in detail: cooperation between locks and transactions, and theintegration of transactions with the OS scheduler. Mixing locks and transactions requires a new primitive, cooperative transactional spinlocks (cxspinlocks) that allow locks and transactions to protect the same data while maintaining the advantages of both synchronization primitives. Cxspinlocks allow the system to attemptexecution of critical regions with transactions and automatically roll back to use locking if the region performs I/O. Integrating the scheduler with HTM eliminates priority inversion. On a series ofreal-world benchmarks TxLinux has similar performance to Linux, exposing concurrency with as many as 32 concurrent threads on 32 CPUs in the same critical region.


international symposium on computer architecture | 2007

MetaTM/TxLinux: transactional memory for an operating system

Hany E. Ramadan; Christopher J. Rossbach; Donald E. Porter; Owen S. Hofmann; Aditya Bhandari; Emmett Witchel

Hardware transactional memory can reduce synchronization complexity while retaining high performance. MetaTM models changes to the x86 architecture to support transactional memory for user processes and the operating system. TxLinux is an operating system that uses transactional memory to facilitate synchronization in a large, complicated code base, where the burdens of current lock-based approaches are most evident.


international symposium on microarchitecture | 2008

Dependence-aware transactional memory for increased concurrency

Hany E. Ramadan; Christopher J. Rossbach; Emmett Witchel

Transactional memory (TM) is a promising paradigm for helping programmers take advantage of emerging multi-core platforms. Though they perform well under low contention, hardware TM systems have a reputation of not performing well under high contention, as compared to locks. This paper presents a model and implementation of dependence-aware transactional memory (DATM), a novel solution to the problem of scaling under contention. Unlike many proposals to deal with write-shared data (which arise in common data structures like counters and linked lists), DATM operates transparently to the programmer. The main idea in DATM is to accept any transaction execution interleaving that is conflict serializable, including interleavings that contain simple conflicts. Current TM systems reduce useful concurrency by restarting conflicting transactions, even if the execution interleaving is conflict serializable. DATM manages dependences between uncommitted transactions, sometimes forwarding data between them to safely commit conflicting transactions. The evaluation of our prototype shows that DATM increases concurrency, for example by reducing the runtime of STAMP benchmarks by up to 39% and reducing transaction restarts by up to 94%.


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

Committing conflicting transactions in an STM

Hany E. Ramadan; Indrajit Roy; Maurice Herlihy; Emmett Witchel

Dependence-aware transactional memory (DATM) is a recently proposed model for increasing concurrency of memory transactions without complicating their interface. DATM manages dependences between conflicting, uncommitted transactions so that they commit safely. The contributions of this paper are twofold. First, we provide a safety proof for the dependence-aware model. This proof also shows that the DATM model accepts all concurrent interleavings that are conflict-serializable. Second, we describe the first application of dependence tracking to software transactional memory (STM) design and implementation. We compare our implementation with a state of the art STM, TL2 [4]. We use benchmarks from the STAMP [21] suite, quantifying how dependence tracking converts certain types of transactional conflicts into successful commits. On high contention workloads, DATM is able to take advantage of dependences to speed up execution by up to 4.8x.


programming language design and implementation | 2007

Improved error reporting for software that uses black-box components

Jungwoo Ha; Christopher J. Rossbach; Jason V. Davis; Indrajit Roy; Hany E. Ramadan; Donald E. Porter; David L. Chen; Emmett Witchel

An error occurs when software cannot complete a requested action as a result of some problem with its input, configuration, or environment. A high-quality error report allows a user to understand and correct the problem. Unfortunately, the quality of error reports has been decreasing as software becomes more complex and layered. End-users take the cryptic error messages given to them by programsand struggle to fix their problems using search engines and support websites. Developers cannot improve their error messages when they receive an ambiguous or otherwise insufficient error indicator from a black-box software component. We introduce Clarify, a system that improves error reporting by classifying application behavior. Clarify uses minimally invasive monitoring to generate a behavior profile, which is a summary of the programs execution history. A machine learning classifier uses the behavior profile to classify the applications behavior, thereby enabling a more precise error report than the output of the application itself. We evaluate a prototype Clarify system on ambiguous error messages generated by large, modern applications like gcc, La-TeX, and the Linux kernel. For a performance cost of less than 1% on user applications and 4.7% on the Linux kernel, the proto type correctly disambiguates at least 85% of application behaviors that result in ambiguous error reports. This accuracy does not degrade significantly with more behaviors: a Clarify classifier for 81 La-TeX error messages is at most 2.5% less accurate than a classifier for 27 LaTeX error messages. Finally, we show that without any human effort to build a classifier, Clarify can provide nearest-neighbor software support, where users who experience a problem are told about 5 other users who might have had the same problem. On average 2.3 of the 5 users that Clarify identifies have experienced the same problem.


international symposium on microarchitecture | 2008

MetaTM/TxLinux: Transactional Memory for an Operating System

Hany E. Ramadan; Christopher J. Rossbach; Donald E. Porter; Owen S. Hofmann; Aditya Bhandari; Emmett Witchel

Hardware transactional memory can reduce synchronization complexity while retaining high performance. MetaTM models changes to the x86 architecture to support transactional memory for user processes and the operating system. TxLinux is an operating system that uses transactional memory to facilitate synchronization in a large, complicated code base, where the burdens of current lock-based approaches are most evident.


european conference on machine learning | 2006

Cost-Sensitive decision tree learning for forensic classification

Jason V. Davis; Jungwoo Ha; Christopher J. Rossbach; Hany E. Ramadan; Emmett Witchel

In some learning settings, the cost of acquiring features for classification must be paid up front, before the classifier is evaluated. In this paper, we introduce the forensic classification problem and present a new algorithm for building decision trees that maximizes classification accuracy while minimizing total feature costs. By expressing the ID3 decision tree algorithm in an information theoretic context, we derive our algorithm from a well-formulated problem objective. We evaluate our algorithm across several datasets and show that, for a given level of accuracy, our algorithm builds cheaper trees than existing methods. Finally, we apply our algorithm to a real-world system, Clarify. Clarify classifies unknown or unexpected program errors by collecting statistics during program runtime which are then used for decision tree classification after an error has occurred. We demonstrate that if the classifier used by the Clarify system is trained with our algorithm, the computational overhead (equivalently, total feature costs) can decrease by many orders of magnitude with only a slight (<1%) reduction in classification accuracy.


Communications of The ACM | 2008

TxLinux and MetaTM: transactional memory and the operating system

Christopher J. Rossbach; Hany E. Ramadan; Owen S. Hofmann; Donald E. Porter; Aditya Bhandari; Emmett Witchel

TxLinux is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. TxLinux, which is a modification of Linux, is the first real-scale benchmark for transactional memory (TM). MetaTM is a modification of the x86 architecture that supports HTM in general and TxLinux specifically. This paper describes and measures TxLinux and MetaTM, the HTM model that supports it. TxLinux greatly benefits from a new primitive, called the cooperative transactional spinlock (cxspinlock) that allows locks and transactions to protect the same data while maintaining the advantages of both synchronization primitives. Integrating the TxLinux scheduler with the MetaTMs architectural support for HTM eliminates priority inversion for several real-world benchmarks.


Lecture Notes in Computer Science | 2006

Cost-sensitive decision tree learning for forensic classification

Jason V. Davis; Jungwoo Ha; Christopher J. Rossbach; Hany E. Ramadan; Emmett Witchel


Archive | 2009

The Xfork in the Road to Coordinated Sibling Transactions

Hany E. Ramadan; Emmett Witchel

Collaboration


Dive into the Hany E. Ramadan's collaboration.

Top Co-Authors

Avatar

Emmett Witchel

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Donald E. Porter

University of North Carolina at Chapel Hill

View shared research outputs
Top Co-Authors

Avatar

Owen S. Hofmann

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jason V. Davis

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Jungwoo Ha

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Aditya Bhandari

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Bhandari Aditya

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

David L. Chen

University of Texas at Austin

View shared research outputs
Researchain Logo
Decentralizing Knowledge