EDBT 2026 Demo / reviewers in the wild / expert
Fady Ghanim
dblp:185/0239
· DBLP profile ↗
2ranked-venue papers
2as first author
0since 2021 · last 2018
0000-0002-0726-6747ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2 · 2 first-author
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
1 paper |
Programming languages and type systems · 50% Compilers and program optimization · 50% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Parallel and multicore computing · 100% |
Topics — the 3 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
parallelizing compiler |
0.3 | 1 | 2018 | Easy PRAM-Based High-Performance Parallel Programming with ICE · IEEE Trans. Parallel Distributed Syst. 2018 |
Programming languages and type systems › concurrent programming languages
parallel programming languages |
0.3 | 1 | 2018 | Easy PRAM-Based High-Performance Parallel Programming with ICE · IEEE Trans. Parallel Distributed Syst. 2018 |
Parallel and multicore computing
parallel programming models |
0.3 | 1 | 2018 | Easy PRAM-Based High-Performance Parallel Programming with ICE · IEEE Trans. Parallel Distributed Syst. 2018 |
Methods — techniques the papers use, named apart from their topics
multithreading · 0.7lock-step synchronization · 0.7
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Easy PRAM-Based High-Performance Parallel Programming with ICEabstractParallel machines have become more widely used. Unfortunately parallel programming technologies have advanced at a much slower pace except for regular programs. For irregular programs, this advancement is inhibited by high synchronization costs, non-loop parallelism, non-array data structures, recursively expressed parallelism and parallelism that is too fine-grained to be exploitable. We present ICE, a new parallel programming language that is easy-to-program, since: (i) ICE is a synchronous, lock-step language so there is no need for programmer-specified synchronization; (ii) for a PRAM algorithm its ICE program amounts to directly transcribing it; and (iii) the PRAM algorithmic theory offers unique wealth of parallel algorithms and techniques. We propose ICE to be a part of an ecosystem consisting of the XMT architecture, the PRAM algorithmic model, and ICE itself, that together deliver on the twin goal of easy programming and efficient parallelization of irregular programs. The XMT architecture, developed at UMD, can exploit fine-grained parallelism in irregular programs. We have built the ICE compiler which translates the ICE language into the multithreaded XMTC language; the significance of this is that multi-threading is a feature shared by practically all current scalable parallel programming languages thus providing a method to compile ICE code. As one indication of ease of programming, we observed a reduction in code size in 11 out of 16 benchmarks as compared to hand-optimized XMTC. For these programs, the average reduction in number of lines of code was 35.5 percent. The remaining 5 benchmarks had almost the same code size for both ICE and hand-optimized XMTC. Our main result is perhaps surprising: The run-time was comparable to XMTC with a 0.53 percent average gain for ICE across all benchmarks. Fady Ghanim, Uzi Vishkin, Rajeev Barua |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2016 | POSTER: Easy PRAM-based High-Performance Parallel Programming with ICEabstractLarge performance growth for processors requires exploitation of hardware parallelism, which, itself, requires parallelism in software. In spite of massive efforts, automatic parallelization of serial programs has had limited success mostly for regular programs with affine accesses, but not for many applications including irregular ones. It appears that the bare minimum that the programmer needs to spell out is which operations can be executed in parallel. However, parallel programming today requires so much more. The programmer is expected to partition a task into subtasks (often threads) so as to meet multiple constraints and objectives, involving data and computation partitioning, locality, synchronization, race conditions, limiting and hiding communication latencies. It is no wonder that this makes parallel programming hard, drastically reducing programmer's productivity and performance gains hence reducing adoption by programmers and their employers. Fady Ghanim, Rajeev Barua, Uzi Vishkin |
PACT | 1 |