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.

Ahmad Anbar

dblp:58/10101 · DBLP profile ↗
← Back
6ranked-venue papers
4as first author
0since 2021 · last 2016
—ORCID · none

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

Systems, architecture and hardware · 5 · 4 first-authorApplied, interdisciplinary, general and emerging computing · 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.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 77% Processor architecture and microarchitecture · 18% Reconfigurable computing and FPGAs · 5%

Topics — the 6 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture › instruction set architecture
instruction set extension
0.212016
Enabling PGAS Productivity with Hardware Support for Shared Address Mapping: A UPC Case Study · ACM Trans. Archit. Code Optim. 2016
Parallel and multicore computing
parallel programming models
0.212016
Exploiting Hierarchical Locality in Deep Parallel Architectures · ACM Trans. Archit. Code Optim. 2016
Parallel and multicore computing
parallel programming runtimes
0.212016
Exploiting Hierarchical Locality in Deep Parallel Architectures · ACM Trans. Archit. Code Optim. 2016
Parallel and multicore computing › parallel programming models › distributed memory programming models
partitioned global address space
0.212016
Enabling PGAS Productivity with Hardware Support for Shared Address Mapping: A UPC Case Study · ACM Trans. Archit. Code Optim. 2016
Parallel and multicore computing › parallel computing › parallel programming languages
unified parallel c
0.212016
Enabling PGAS Productivity with Hardware Support for Shared Address Mapping: A UPC Case Study · ACM Trans. Archit. Code Optim. 2016
Parallel and multicore computing
parallel architecture
0.112016
Exploiting Hierarchical Locality in Deep Parallel Architectures · ACM Trans. Archit. Code Optim. 2016

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

runtime system design · 0.2
YearPublicationVenuePosition
2016 Exploiting Hierarchical Locality in Deep Parallel Architectures
abstract
Parallel computers are becoming deeply hierarchical. Locality-aware programming models allow programmers to control locality at one level through establishing affinity between data and executing activities. This, however, does not enable locality exploitation at other levels. Therefore, we must conceive an efficient abstraction of hierarchical locality and develop techniques to exploit it. Techniques applied directly by programmers, beyond the first level, burden the programmer and hinder productivity. In this article, we propose the Parallel Hierarchical Locality Abstraction Model for Execution (PHLAME). PHLAME is an execution model to abstract and exploit machine hierarchical properties through locality-aware programming and a runtime that takes into account machine characteristics, as well as a data sharing and communication profile of the underlying application. This article presents and experiments with concepts and techniques that can drive such runtime system in support of PHLAME. Our experiments show that our techniques scale up and achieve performance gains of up to 88%.
Ahmad Anbar, Olivier Serres, Engin Kayraklioglu, Abdel-Hameed A. Badawy, Tarek A. El-Ghazawi
ACM Trans. Archit. Code Optim.1
2016 Enabling PGAS Productivity with Hardware Support for Shared Address Mapping: A UPC Case Study
abstract
Due to its rich memory model, the partitioned global address space (PGAS) parallel programming model strikes a balance between locality-awareness and the ease of use of the global address space model. Although locality-awareness can lead to high performance, supporting the PGAS memory model is associated with penalties that can hinder PGAS’s potential for scalability and speed of execution. This is because mapping the PGAS memory model to the underlying system requires a mapping process that is done in software, thereby introducing substantial overhead for shared accesses even when they are local. Compiler optimizations have not been sufficient to offset this overhead. On the other hand, manual code optimizations can help, but this eliminates the productivity edge of PGAS. This article proposes a processor microarchitecture extension that can perform such address mapping in hardware with nearly no performance overhead. These extensions are then availed to compilers through extensions to the processor instructions. Thus, the need for manual optimizations is eliminated and the productivity of PGAS languages is unleashed. Using Unified Parallel C (UPC), a PGAS language, we present a case study of a prototype compiler and architecture support. Two different implementations of the system were realized. The first uses a full-system simulator, gem5, which evaluates the overall performance gain of the new hardware support. The second uses an FPGA Leon3 soft-core processor to verify implementation feasibility and to parameterize the cost of the new hardware. The new instructions show promising results on all tested codes, including the NAS Parallel Benchmark kernels in UPC. Performance improvements of up to 5.5× for unmodified codes, sometimes surpassing hand-optimized performance, were demonstrated. We also show that our four-core FPGA prototype requires less than 2.4% of the overall chip’s area.
Olivier Serres, Abdullah Kayi, Ahmad Anbar, Tarek A. El-Ghazawi
ACM Trans. Archit. Code Optim.3
2014 Where should the threads go? Leveraging hierarchical data locality to solve the thread affinity dilemma
abstract
We are proposing a novel framework that amelio-rates locality-aware parallel programming models, by defining a hierarchical data locality model extension. We also propose two hierarchical thread partitioning algorithms. These algorithms synthesize hierarchical thread placement layouts that targets minimizing the program's overall communication costs. We demonstrate the effectiveness of our approach using the NAS Parallel Benchmarks implemented in Unified Parallel C (UPC) using a modified Berkeley UPC Compiler and runtime system. We achieved performance gains of up to 88% in performance by applying the placement layouts our algorithms suggest.
Ahmad Anbar, Abdel-Hameed A. Badawy, Olivier Serres, Tarek A. El-Ghazawi
ICPADS1
2013 Predictive energy management techniques for PGAS programming
abstract
Power consumption increasingly presents an upper bound on sustainable large scale computing performance and reliability. The Partitioned Global Address Space (PGAS) programming model is a family of parallel programming paradigms with a global address space for ease-of-use while providing locality awareness for efficient execution. Very little exploration has been done to determine the potential of PGAS programming models in improving scalable energy efficient computation for high performance computing (HPC) clusters. This paper examines features of the PGAS programming model that may support predictively reducing power consumption in distributed clusters via dynamic voltage frequency scaling (DVFS). These concepts are tested with Unified Parallel C (UPC) codes running on a cluster of commodity PCs which have been instrumented to measure power at the CPU socket level. We have also explored approaches to automating these power optimization techniques at compile time. Benchmarking results show a tangible reduction in power consumption without impacting the overall execution time of the program.
David K. Newsom, Sardar F. Azari, Ahmad Anbar, Tarek A. El-Ghazawi
AICCSA3
2012 Distributed Shared Memory Programming in the Cloud
abstract
Cloud computing is beginning to play a dominant role in scientific computing. However, there are still several challenges that need to be addressed, before data-intensive scientific applications make the transition to the cloud. Adoption of a distributed shared memory (DSM) programming paradigm will be one approach to ease the transition, through the use of Partitioned Global Address Space (PGAS) languages. This paper explores initial results from the adoption of a PGAS language, Unified Parallel C, in programming a representative private cloud based on Eucalyptus.
Ahmad Anbar, Vikram K. Narayana, Tarek A. El-Ghazawi
CCGRID1
2011 Reflex Barrier: A Scalable Network-Based Synchronization Barrier
abstract
High-performance computing is witnessing the proliferation of multi-core processors in parallel architectures, and the trend is expected to increase further with the emerging many-core technology, leading to hundreds of processing cores within each compute node in the near future. Along side with this trend, it is also clear that total number of cores within the whole system is increasing. To be able to harvest the fruits of this massive parallelism, inter-process synchronization and communication should be as lightweight as they can be, and should be relying on as limited involvement as possible of the participating processors/cores. The synchronization algorithms that target shared memory processors are expected not to be able to scale on many-cores as they rely on atomics, locks, and/or cache coherence protocols, which all should be very costly operations on many-cores. In the same time, some many core architectures provide user space networks on chip (NoCs) that operate similar to regular networks. In this paper, we are introducing the Reflex barrier, a new synchronization barrier algorithm that relies on fundamental networking concepts. As the barrier relies on the characteristics of the network, it requires very little intervention from the participating processors/cores. The algorithm can also be implemented as split phase, which furnish an opportunity to reduce the synchronization cost. We implemented the algorithm using Unified Parallel C (UPC), MPI and pThreads. We tested our implementation on TILE64, a 64-core processor. The performance of the Reflex barrier is also analyzed and compared to other algorithms using performance models.
Ahmad Anbar, Olivier Serres, Tarek A. El-Ghazawi
ICPADS1