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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Hany E. Ramadan

dblp:36/6103 · DBLP profile ↗
← Back
7ranked-venue papers
3as first author
0since 2021 · last 2011
—ORCID · none

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

Systems, architecture and hardware · 3 · 3 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 1

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.

Software engineering, system software, and programming languages
5 papers
Concurrent programming · 62% Operating systems · 20% Debugging and program repair · 10%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 100%

Topics — the 9 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming
transactional memory
0.232009
Committing conflicting transactions in an STM · PPoPP 2009
Dependence-aware transactional memory for increased concurrency · MICRO 2008
TxLinux: using and managing hardware transactional memory in an operating system · SOSP 2007
Operating systems › resource management › process management
CPU scheduling
0.112007
TxLinux: using and managing hardware transactional memory in an operating system · SOSP 2007
Concurrent programming › transactional memory
hardware transactional memory
0.112007
TxLinux: using and managing hardware transactional memory in an operating system · SOSP 2007
Operating systems › kernel › kernel design
kernel synchronization
0.112007
MetaTM//TxLinux: transactional memory for an operating system · ISCA 2007
Concurrent programming
synchronization
0.112007
TxLinux: using and managing hardware transactional memory in an operating system · SOSP 2007
Parallel and multicore computing › transactional memory
hardware transactional memory
0.112007
MetaTM//TxLinux: transactional memory for an operating system · ISCA 2007
Parallel and multicore computing
transactional memory
0.112007
MetaTM//TxLinux: transactional memory for an operating system · ISCA 2007
Concurrent programming
concurrency control
0.012009
Committing conflicting transactions in an STM · PPoPP 2009
Requirements engineering and software design › inconsistency management
conflict resolution
0.012009
Committing conflicting transactions in an STM · PPoPP 2009

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

data forwarding · 0.2transactional memory · 0.1conflict-serializability · 0.1conflict serializability · 0.1cooperative transactional spinlocks · 0.1
YearPublicationVenuePosition
2011 iHadoop: Asynchronous Iterations for MapReduce
abstract
MapReduce is a distributed programming framework designed to ease the development of scalable data-intensive applications for large clusters of commodity machines. Most machine learning and data mining applications involve iterative computations over large datasets, such as the Web hyperlink structures and social network graphs. Yet, the MapReduce model does not efficiently support this important class of applications. The architecture of MapReduce, most critically its dataflow techniques and task scheduling, is completely unaware of the nature of iterative applications, tasks are scheduled according to a policy that optimizes the execution for a single iteration which wastes bandwidth, I/O, and CPU cycles when compared with an optimal execution for a consecutive set of iterations. This work presents iHadoop, a modified MapReduce model, and an associated implementation, optimized for iterative computations. The iHadoop model schedules iterations asynchronously. It connects the output of one iteration to the next, allowing both to process their data concurrently. iHadoop's task scheduler exploits inter-iteration data locality by scheduling tasks that exhibit a producer/consumer relation on the same physical machine allowing a fast local data transfer. For those iterative applications that require satisfying certain criteria before termination, iHadoop runs the check concurrently during the execution of the subsequent iteration to further reduce the application's latency. This paper also describes our implementation of the iHadoop model, and evaluates its performance against Hadoop, the widely used open source implementation of MapReduce. Experiments using different data analysis applications over real-world and synthetic datasets show that iHadoop performs better than Hadoop for iterative algorithms, reducing execution time of iterative applications by 25% on average. Furthermore, integrating iHadoop with HaLoop, a variant Hadoop implementation that caches invariant data between iterations, reduces execution time by 38% on average.
Eslam Elnikety, Tamer Elsayed, Hany E. Ramadan
CloudCom3
2009 Committing conflicting transactions in an STM
abstract
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.
Hany E. Ramadan, Indrajit Roy 0001, Maurice Herlihy, Emmett Witchel
PPoPP1
2008 Dependence-aware transactional memory for increased concurrency
abstract
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%.
Hany E. Ramadan, Christopher J. Rossbach, Emmett Witchel
MICRO1
2007 MetaTM//TxLinux: transactional memory for an operating system
abstract
This paper quantifies the effect of architectural design decisions onthe performance of TxLinux. TxLinux is a Linux kernel modifiedto use transactions in place of locking primitives in several key subsystems.We run TxLinux on MetaTM, which is a new hardwaretransaction memory (HTM) model.MetaTM contains features that enable efficient and correct interrupthandling for an x86-like architecture. Live stack overwrites can corrupt non-transactional stack memory and requires a smallchange to the transaction register checkpoint hardware to ensurecorrect operation of the operating system. We also propose stack based early release to reduce spurious conflicts on stack memorybetween kernel code and interrupt handlers.We use MetaTM to examine the performance sensitivity of individualarchitectural features. For TxLinux we find that Polka and SizeMatters are effective contention management policies, someform of backoff on transaction contention is vital for performance,and stalling on a transaction conflict reduces transaction restartrates, but does not improve performance. Transaction write setsare small, and performance is insensitive to transaction abort costsbut sensitive to commit costs.
Hany E. Ramadan, Christopher J. Rossbach, Donald E. Porter, Owen S. Hofmann, Bhandari Aditya, Emmett Witchel
ISCA1
2007 Improved error reporting for software that uses black-box components
abstract
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.
Christopher J. Rossbach, Jason V. Davis, Indrajit Roy 0001, Hany E. Ramadan, Donald E. Porter, David L. Chen, Emmett Witchel
PLDI5
2007 TxLinux: using and managing hardware transactional memory in an operating system
abstract
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.
Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E. Ramadan, Bhandari Aditya, Emmett Witchel
SOSP4
2006 Cost-Sensitive Decision Tree Learning for Forensic Classification
Jason V. Davis, Christopher J. Rossbach, Hany E. Ramadan, Emmett Witchel
ECML4