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.

Sergei Shudler

dblp:44/8357 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
1since 2021 · last 2022
0000-0001-7238-7353ORCID · verified

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

Systems, architecture and hardware · 7 · 4 first-author · 1 since 2021

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
3 papers
Performance modeling and evaluation · 41% High-performance computing · 35% Parallel and multicore computing · 24%
Theoretical computer science
1 paper
Logic in computer science · 100%
Software engineering, system software, and programming languages
1 paper
Software maintenance and evolution · 100%

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

TopicWeightPapersLastEvidence papers
Logic in computer science › logic programming
answer set programming
0.612022
Using Answer Set Programming for HPC Dependency Solving · SC 2022
Performance modeling and evaluation › parallel system performance › speedup modeling
isoefficiency analysis
0.312017
Isoefficiency in Practice: Configuring and Understanding the Performance of Task-based Applications · PPoPP 2017
Parallel and multicore computing › parallel programming models
task-based programming
0.312017
Isoefficiency in Practice: Configuring and Understanding the Performance of Task-based Applications · PPoPP 2017
Software maintenance and evolution › software dependencies › software dependency management
package management
0.212022
Using Answer Set Programming for HPC Dependency Solving · SC 2022
Parallel and multicore computing › parallel algorithms › sorting
parallel sorting algorithms
0.112019
Engineering Algorithms for Scalability through Continuous Validation of Performance Expectations · IEEE Trans. Parallel Distributed Syst. 2019

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

answer set programming · 1.7regression testing · 0.4benchmarking · 0.4analytical performance model · 0.4empirical isoefficiency method · 0.3
YearPublicationVenuePosition
2022 Using Answer Set Programming for HPC Dependency Solving
abstract
Modern scientific software stacks have become extremely complex, using many programming models and libraries to exploit a growing variety of GPUs and accelerators. Package managers can mitigate this complexity using dependency solvers, but they are reaching their limits. Finding compatible dependency versions is NP-complete, and modeling the semantics of package compatibility modulo build-time options, GPU runtimes, flags, and other parameters is extremely difficult. Within this enormous configuration space, defining a “good” configuration is daunting. We tackle this problem using Answer Set Programming (ASP), a declarative model for combinatorial search problems. We show, using the Spack package manager, that ASP programs can concisely express the compatibility rules of HPC software stacks and provide strong quality-of-solution guarantees. Using ASP, we can mix new builds with preinstalled binaries, and solver performance is acceptable even when considering tens of thousands of packages.
Todd Gamblin, Massimiliano Culpo, Gregory Becker, Sergei Shudler
SC4
2019 Engineering Algorithms for Scalability through Continuous Validation of Performance Expectations
abstract
Many libraries in the HPC field use sophisticated algorithms with clear theoretical scalability expectations. However, hardware constraints or programming bugs may sometimes render these expectations inaccurate or even plainly wrong. While algorithm and performance engineers have already been advocating the systematic combination of analytical performance models with practical measurements for a very long time, we go one step further and show how this comparison can become part of automated testing procedures. The most important applications of our method include initial validation, regression testing, and benchmarking to compare implementation and platform alternatives. Advancing the concept of performance assertions, we verify asymptotic scaling trends rather than precise analytical expressions, relieving the developer from the burden of having to specify and maintain very fine-grained and potentially non-portable expectations. In this way, scalability validation can be continuously applied throughout the whole development cycle with very little effort. Using MPI and parallel sorting algorithms as examples, we show how our method can help uncover non-obvious limitations of both libraries and underlying platforms.
Sergei Shudler, Yannick Berens, Alexandru Calotoiu, Torsten Hoefler, Alexandre Strube, Felix Wolf 0001
IEEE Trans. Parallel Distributed Syst.1
2017 Following the Blind Seer - Creating Better Performance Models Using Less Information
Patrick Reisert, Alexandru Calotoiu, Sergei Shudler, Felix Wolf 0001
Euro-Par3
2017 Isoefficiency in Practice: Configuring and Understanding the Performance of Task-based Applications
abstract
Task-based programming offers an elegant way to express units of computation and the dependencies among them, making it easier to distribute the computational load evenly across multiple cores. However, this separation of problem decomposition and parallelism requires a sufficiently large input problem to achieve satisfactory efficiency on a given number of cores. Unfortunately, finding a good match between input size and core count usually requires significant experimentation, which is expensive and sometimes even impractical. In this paper, we propose an automated empirical method for finding the isoefficiency function of a task-based program, binding efficiency, core count, and the input size in one analytical expression. This allows the latter two to be adjusted according to given (realistic) efficiency objectives. Moreover, we not only find (i) the actual isoefficiency function but also (ii) the function one would yield if the program execution was free of resource contention and (iii) an upper bound that could only be reached if the program was able to maintain its average parallelism throughout its execution. The difference between the three helps to explain low efficiency, and in particular, it helps to differentiate between resource contention and structural conflicts related to task dependencies or scheduling. The insights gained can be used to co-design programs and shared system resources.
Sergei Shudler, Alexandru Calotoiu, Torsten Hoefler, Felix Wolf 0001
PPoPP1
2015 How Many Threads will be too Many? On the Scalability of OpenMP Implementations
Christian Iwainsky, Sergei Shudler, Alexandru Calotoiu, Alexandre Strube, Michael Knobloch, Christian H. Bischof, Felix Wolf 0001
Euro-Par2
2015 Exascaling Your Library: Will Your Implementation Meet Your Expectations?
abstract
Many libraries in the HPC field encapsulate sophisticated algorithms with clear theoretical scalability expectations. However, hardware constraints or programming bugs may sometimes render these expectations inaccurate or even plainly wrong. While algorithm engineers have already been advocating the systematic combination of analytical performance models with practical measurements for a very long time, we go one step further and show how this comparison can become part of automated testing procedures. The most important applications of our method include initial validation, regression testing, and benchmarking to compare implementation and platform alternatives. Advancing the concept of performance assertions, we verify asymptotic scaling trends rather than precise analytical expressions, relieving the developer from the burden of having to specify and maintain very fine grained and potentially non-portable expectations. In this way, scalability validation can be continuously applied throughout the whole development cycle with very little effort. Using MPI as an example, we show how our method can help uncover non-obvious limitations of both libraries and underlying platforms.
Sergei Shudler, Alexandru Calotoiu, Torsten Hoefler, Alexandre Strube, Felix Wolf 0001
ICS1
2010 The Effects of Untruthful Bids on User Utilities and Stability in Computing Markets
abstract
Markets of computing resources typically consist of a cluster (or a multi-cluster) and jobs that arrive over time and request computing resources in exchange for payment. In this paper we study a real system that is capable of preemptive process migration (i.e. moving jobs across nodes) and that uses a market-based resource allocation mechanism for job allocation. Specifically, we formalize our system into a market model and employ simulation-based analysis (performed on real data) to study the effects of users' behavior on performance and utility. Typically online settings are characterized by a large amount of uncertainty, therefore it is reasonable to assume that users will consider simple strategies to game the system. We thus suggest a novel approach to modeling users' behavior called the Small Risk-aggressive Group model. We show that under this model untruthful users experience degraded performance. The main result and the contribution of this paper is that using the k-th price payment scheme, which is a natural adaptation of the classical second-price scheme, discourages these users from attempting to game the market. The preemptive capability makes it possible not only to use the k-th price scheme, but also makes our scheduling algorithm superior to other non-preemptive algorithms. Finally, we design a simple one-shot game to model the interaction between the provider and the consumers. We then show (using the same simulation-based analysis) that market stability in the form of (symmetric) Nash-equilibrium is likely to be achieved in several cases.
Sergei Shudler, Lior Amar, Amnon Barak, Ahuva Mu'alem
CCGRID1