Demo Data from EDBT 2026 / reviewers in the wild / expert
Paraskevas Yiapanis
dblp:78/6964
· DBLP profile ↗
6ranked-venue papers
3as first author
0since 2021 · last 2019
0000-0003-4924-2214ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1Software engineering, systems software and programming languages · 1 · 1 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.
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 100% | |
| Software engineering, system software, and programming languages
2 papers |
Compilers and program optimization · 100% |
Topics — the 7 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
speculative parallelization |
0.4 | 2 | 2016 | Compiler-Driven Software Speculation for Thread-Level Parallelism · ACM Trans. Program. Lang. Syst. 2016 Optimizing software runtime systems for speculative parallelization · ACM Trans. Archit. Code Optim. 2013 |
Compilers and program optimization › parallelization
automatic parallelization |
0.2 | 1 | 2016 | Compiler-Driven Software Speculation for Thread-Level Parallelism · ACM Trans. Program. Lang. Syst. 2016 |
Parallel and multicore computing
parallel programming models and runtimes |
0.2 | 1 | 2016 | Compiler-Driven Software Speculation for Thread-Level Parallelism · ACM Trans. Program. Lang. Syst. 2016 |
Parallel and multicore computing
parallel programming models |
0.2 | 1 | 2013 | Optimizing software runtime systems for speculative parallelization · ACM Trans. Archit. Code Optim. 2013 |
Parallel and multicore computing › transactional memory
software transactional memory |
0.2 | 1 | 2013 | Optimizing software runtime systems for speculative parallelization · ACM Trans. Archit. Code Optim. 2013 |
Parallel and multicore computing › speculative parallelization
thread-level speculation |
0.2 | 1 | 2013 | Optimizing software runtime systems for speculative parallelization · ACM Trans. Archit. Code Optim. 2013 |
Parallel and multicore computing
transactional memory |
0.1 | 1 | 2016 | Compiler-Driven Software Speculation for Thread-Level Parallelism · ACM Trans. Program. Lang. Syst. 2016 |
Methods — techniques the papers use, named apart from their topics
speculative thread scheduling · 0.5data dependence violation detection · 0.5compiler-driven speculation · 0.5version management · 0.3inspector/executor parallelization · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Scaling techniques for parallel ant colony optimization on large problem instancesabstractAnt Colony Optimization (ACO) is a nature-inspired optimization metaheuristic which has been successfully applied to a wide range of different problems. However, a significant limiting factor in terms of its scalability is memory complexity; in many problems, the pheromone matrix which encodes trails left by ants grows quadratically with the instance size. For very large instances, this memory requirement is a limiting factor, making ACO an impractical technique. In this paper we propose a restricted variant of the pheromone matrix with linear memory complexity, which stores pheromone values only for members of a candidate set of next moves. We also evaluate two selection methods for moves outside the candidate set. Using a combination of these techniques we achieve, in a reasonable time, the best solution qualities recorded by ACO on the Art TSP Traveling Salesman Problem instances, and the first evaluation of a parallel implementation of MAX-MIN Ant System on instances of this scale (≥ 105 vertices). We find that, although ACO cannot yet achieve the solutions found by state-of-the-art genetic algorithms, we rapidly find approximate solutions within 1 -- 2% of the best known. Joshua Peake, Martyn Amos, Paraskevas Yiapanis, Huw Lloyd |
GECCO | 3 |
| 2019 | A Clustering-Based Patient Grouper for Burn Care
Chimdimma Noelyn Onah, Richard Allmendinger 0001, Julia Handl, Paraskevas Yiapanis, Kenneth W. Dunn |
IDEAL (2) | 4 |
| 2017 | Leveraging data mining techniques to understand drivers of obesityabstractSubstantial research has been carried out to explain the effects of economic variables on obesity, typically considering only a few factors at a time, using parametric linear regression models. Recent studies have made a significant contribution by examining economic factors affecting body weight using the Behavioral Risk Factor Surveillance System data with 27 state-level variables for a period of 20 years (1990-2010). As elsewhere, the authors solely focus on individual effects of potential drivers of obesity than critical interactions among the drivers. We take some steps to extend the literature and gain a deeper understanding of the drivers of obesity. We employ state-of-the-art data mining techniques to uncover critical interactions that may exist among drivers of obesity in a data-driven manner. The state-of-the-art techniques reveal several complex interactions among economic and behavioral factors that contribute to the rise of obesity. Lower levels of obesity, measured by a body mass index (BMI), belong to female individuals who exercise outside work, enjoy higher levels of education and drink less alcohol. The highest level of obesity, in contrast, belongs to those who fail to exercise outside work, smoke regularly, consume more alcohol and come from lower income groups. These and other complementary results suggest that it is the joint complex interactions among various behavioral and economic factors that gives rise to obesity or lowers it; it is not simply the presence or absence of individual factors. Reza Salehnejad, Richard Allmendinger 0001, Yu-Wang Chen, Manhal Ali, Azar Shahgholian, Paraskevas Yiapanis, Mohaimen Mansur |
CIBCB | 6 |
| 2016 | Compiler-Driven Software Speculation for Thread-Level ParallelismabstractCurrent parallelizing compilers can tackle applications exercising regular access patterns on arrays or affine indices, where data dependencies can be expressed in a linear form. Unfortunately, there are cases that independence between statements of code cannot be guaranteed and thus the compiler conservatively produces sequential code. Programs that involve extensive pointer use, irregular access patterns, and loops with unknown number of iterations are examples of such cases. This limits the extraction of parallelism in cases where dependencies are rarely or never triggered at runtime. Speculative parallelism refers to methods employed during program execution that aim to produce a valid parallel execution schedule for programs immune to static parallelization. The motivation for this article is to review recent developments in the area of compiler-driven software speculation for thread-level parallelism and how they came about. The article is divided into two parts. In the first part the fundamentals of speculative parallelization for thread-level parallelism are explained along with a design choice categorization for implementing such systems. Design choices include the ways speculative data is handled, how data dependence violations are detected and resolved, how the correct data are made visible to other threads, or how speculative threads are scheduled. The second part is structured around those design choices providing the advances and trends in the literature with reference to key developments in the area. Although the focus of the article is in software speculative parallelization, a section is dedicated for providing the interested reader with pointers and references for exploring similar topics such as hardware thread-level speculation, transactional memory, and automatic parallelization. Paraskevas Yiapanis, Gavin Brown 0001, Mikel Luján |
ACM Trans. Program. Lang. Syst. | 1 |
| 2013 | Optimizing software runtime systems for speculative parallelizationabstractThread-Level Speculation (TLS) overcomes limitations intrinsic with conservative compile-time auto-parallelizing tools by extracting parallel threads optimistically and only ensuring absence of data dependence violations at runtime. A significant barrier for adopting TLS (implemented in software) is the overheads associated with maintaining speculative state. Based on previous TLS limit studies, we observe that on future multicore systems we will likely have more cores idle than those which traditional TLS would be able to harness. This implies that a TLS system should focus on optimizing for small number of cores and find efficient ways to take advantage of the idle cores. Furthermore, research on optimistic systems has covered two important implementation design points: eager vs. lazy version management. With this knowledge, we propose new simple and effective techniques to reduce the execution time overheads for both of these design points. This article describes a novel compact version management data structure optimized for space overhead when using a small number of TLS threads. Furthermore, we describe two novel software runtime parallelization systems that utilize this compact data structure. The first software TLS system, MiniTLS, relies on eager memory data management (in-place updates) and, thus, when a misspeculation occurs a rollback process is required. MiniTLS takes advantage of the novel compact version management representation to parallelize the rollback process and is able to recover from misspeculation faster than existing software eager TLS systems. The second one, Lector (Lazy inspECTOR) is based on lazy version management. Since we have idle cores, the question is whether we can create “helper” tasks to determine whether speculation is actually needed without stopping or damaging the speculative execution. In Lector, for each conventional TLS thread running speculatively with lazy version management, there is associated with it a lightweight inspector . The inspector threads execute alongside to verify quickly whether data dependencies will occur. Inspector threads are generated by standard techniques for inspector/executor parallelization. We have applied both TLS systems to seven Java sequential benchmarks, including three benchmarks from SPECjvm2008. Two out of the seven benchmarks exhibit misspeculations. MiniTLS experiments report average speedups of 1.8x for 4 threads increasing close to 7x speedups with 32 threads. Facilitated by our novel compact representation, MiniTLS reduces the space overhead over state-of-the-art software TLS systems between 96% on 2 threads and 40% on 32 threads. The experiments for Lector, report average speedups of 1.7x for 2 threads (that is 1 TLS + 1 Inspector threads) increasing close to 8.2x speedups with 32 threads (16 + 16 threads). Compared to a well established software TLS baseline, Lector performs on average 1.7x faster for 32 threads and in no case ( x TLS + x Inspector threads) Lector delivers worse performance than the baseline TLS with the equivalent number of TLS threads (i.e. x TLS threads) nor doubling the equivalent number of TLS threads (i.e., x + x TLS threads). Paraskevas Yiapanis, Demian Rosas-Ham, Gavin Brown 0001, Mikel Luján |
ACM Trans. Archit. Code Optim. | 1 |
| 2008 | Variable-grain and dynamic work generation for Minimal Unique Itemset miningabstractSUDA2 is a recursive search algorithm for minimal unique itemset detection. Such sets of items are formed via combinations of non-obvious attributes enabling individual record identification. The nature of SUDA2 allows work to be divided into non-overlapping tasks enabling parallel execution. Earlier work developed a parallel implementation for SUDA2 on an SMP cluster, and this was found to be several orders of magnitude faster than sequential SUDA2. However, if fixed-granularity parallel tasks are scheduled naively in the order of their generation, the system load tends to be imbalanced with little work at the beginning and end of the search. This paper investigates the effectiveness of variable-grained and dynamic work generation strategies for parallel SUDA2. These methods restrict the number of sub-tasks to be generated, based on the criterion of probable work size. The further we descend in the search recursion tree, the smaller the tasks become, thus we only select the largest tasks at each level of recursion as being suitable for scheduling. The revised algorithm runs approximately twice as fast as the existing parallel SUDA2 for finer levels of granularity when variable-grained work generation is applied. The dynamic method, performing level-wise task selection based on size, outperforms the other techniques investigated. Paraskevas Yiapanis, David J. Haglin, Anna M. Manning, Kenneth R. Mayes, John A. Keane |
CLUSTER | 1 |