Petr Tuma 0001

dblp:38/1973 · also Peter Tuma 0001 · DBLP profile ↗
← Back
46ranked-venue papers
1as first author
9since 2021 · last 2026
0000-0002-7035-2322ORCID · verified

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

Software engineering, systems software and programming languages · 30 · 1 first-author · 8 since 2021Systems, architecture and hardware · 13 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 2 since 2021Computer networks · 1
YearPublicationVenuePosition
2026 MapReplay: Trace-Driven Benchmark Generation for Java HashMap
abstract
Hash-based maps, particularly java.util.HashMap, are pervasive in Java applications and the JVM, making their performance critical. Evaluating optimizations is challenging because performance depends on factors such as operation patterns, key distributions, and resizing behavior. Microbenchmarks are fast and repeatable but often oversimplify workloads, failing to capture the realistic usage patterns. Application benchmarks (e.g., DaCapo, Renaissance) provide realistic usages but are more expensive to run, prone to variability, and dominated by non-HashMap computations, making map-related performance changes difficult to observe. To address this challenge, we propose MapReplay, a benchmarking methodology that combines the realism of application benchmarks with the efficiency of microbenchmarks. MapReplay traces HashMap API usages generating a replay workload that reproduces the same operation sequence while faithfully reconstructing internal map states. This enables realistic and efficient evaluation of alternative implementations under realistic usage patterns. Applying MapReplay to DaCapo-Chopin and Renaissance, the resulting suite, MapReplayBench, reproduces application-level performance trends while reducing experimentation time and revealing insights difficult to obtain from full benchmarks.
Filippo Schiavio, Andrea Rosà, Junior Loff, Lubomír Bulej, Petr Tuma 0001, Walter Binder
ICPE5
2025 Reusing Highly Optimized IR in Dynamic Compilation
Andrej Pecimuth, David Leopoldseder, Petr Tuma 0001
ECOOP3
2024 Preface: Special issue on ACM/SPEC ICPE 2023
Antinisca Di Marco, Petr Tuma 0001
Perform. Evaluation2
2023 Early Stopping of Non-productive Performance Testing Experiments Using Measurement Mutations
abstract
Modern software projects often incorporate some form of performance testing into their development cycle, intending to detect changes in performance between commits or releases. Performance testing generally relies on experimental evaluation using various benchmark workloads. To detect performance changes reliably, benchmarks must be executed many times to account for variability in the measurement results. While considered best practice, this approach can become prohibitively expensive when the number of versions and benchmark workloads increases. To alleviate the cost of performance testing, we propose an approach for the early stopping of non-productive experiments that are unlikely to detect a performance bug in a particular benchmark. The stopping conditions are based on benchmark-specific thresholds determined from historical data modified to emulate the potential effects of software changes on benchmark performance. We evaluate the approach on the GraalVM benchmarking project and show that it can eliminate about 50% of the experiments if we can afford to ignore about 15% of the least significant performance changes.
Milad Abdullah, Lubomír Bulej, Tomás Bures, Vojtech Horký, Petr Tuma 0001
SEAA5
2023 Diagnosing Compiler Performance by Comparing Optimization Decisions
abstract
Modern compilers apply a set of optimization passes aiming to speed up the generated code. The combined effect of individual optimizations is difficult to predict. Thus, changes to a compiler's code may hinder the performance of generated code as an unintended consequence.
Andrej Pecimuth, David Leopoldseder, Petr Tuma 0001
MPLR3
2023 Diagnosing Compiler Performance by Comparing Optimization Decisions (Poster Abstract)
abstract
This is an abstract accompanying a poster and a full paper. We introduce an approach to diagnose performance issues in dynamic compilers by logging and comparing optimization decisions.
Andrej Pecimuth, David Leopoldseder, Petr Tuma 0001
MPLR3
2022 Reducing Experiment Costs in Automated Software Performance Regression Detection
abstract
In this position paper we formulate performance regression testing as an automated experimentation problem and focus on the problem of controlling the experiment so as to provide more computation time to experiments that are more likely to detect performance changes. Conversely, this requires detecting and stopping experiments early if they are unlikely to detect any performance changes. To this end, we present a method that uses results from previous performance testing experiments to predict the outcome of new experiments in early stages of their execution.
Milad Abdullah, Lubomír Bulej, Tomás Bures, Petr Hnetynka, Vojtech Horký, Petr Tuma 0001
SEAA6
2021 Context-tailored Workload Model Generation for Continuous Representative Load Testing
abstract
Load tests evaluate software quality attributes, such as performance and reliability, by e.g., emulating user behavior that is representative of the production workload. Existing approaches extract workload models from recorded user requests. However, a single workload model cannot reflect the complex and evolving workload of today's applications, or take into account workload-influencing contexts, such as special offers, incidents, or weather conditions. In this paper, we propose an integrated framework for generating load tests tailored to the context of interest, which a user can describe in a language we provide. The framework applies multivariate time series forecasting for extracting a context-tailored load test from an initial workload model, which is incrementally learned by clustering user sessions recorded in production and enriched with relevant context information.
Henning Schulz, Dusan Okanovic, André van Hoorn, Petr Tuma 0001
ICPE4
2021 Methodological Principles for Reproducible Performance Evaluation in Cloud Computing
abstract
The rapid adoption and the diversification of cloud computing technology exacerbate the importance of a sound experimental methodology for this domain. This work investigates how to measure and report performance in the cloud, and how well the cloud research community is already doing it. We propose a set of eight important methodological principles that combine best-practices from nearby fields with concepts applicable only to clouds, and with new ideas about the time-accuracy trade-off. We show how these principles are applicable using a practical use-case experiment. To this end, we analyze the ability of the newly released SPEC Cloud IaaS benchmark to follow the principles, and showcase real-world experimental studies in common cloud environments that meet the principles. Last, we report on a systematic literature review including top conferences and journals in the field, from 2012 to 2017, analyzing if the practice of reporting cloud performance measurements follows the proposed eight principles. Worryingly, this systematic survey and the subsequent two-round human reviews, reveal that few of the published studies follow the eight experimental principles. We conclude that, although these important principles are simple and basic, the cloud community is yet to adopt them broadly to deliver sound measurement of cloud environments.
Alessandro Vittorio Papadopoulos, Laurens Versluis, André Bauer 0001, Nikolas Herbst, Jóakim von Kistowski, Ahmed Ali-Eldin, Cristina L. Abad, José Nelson Amaral, Petr Tuma 0001, Alexandru Iosup
IEEE Trans. Software Eng.9
2020 Duet Benchmarking: Improving Measurement Accuracy in the Cloud
abstract
We investigate the duet measurement procedure, which helps improve the accuracy of performance comparison experiments conducted on shared machines by executing the measured artifacts in parallel and evaluating their relative performance together, rather than individually. Specifically, we analyze the behavior of the procedure in multiple cloud environments and use experimental evidence to answer multiple research questions concerning the assumption underlying the procedure. We demonstrate improvements in accuracy ranging from 2.3x to 12.5x (5.03x on average) for the tested ScalaBench (and DaCapo) workloads, and from 23.8x to 82.4x (37.4x on average) for the SPEC CPU 2017 workloads.
Lubomír Bulej, Vojtech Horký, Petr Tuma 0001, François Farquet, Aleksandar Prokopec
ICPE3
2019 Initial Experiments with Duet Benchmarking: Performance Testing Interference in the Cloud
abstract
Accurate performance testing may require many measurements and therefore many machines to execute on. When many machines are needed, the cloud offers a tempting solution, however, measurements conducted in the cloud are generally considered unstable. In the context of comparing performance of two workloads, we propose a measurement procedure that improves accuracy by executing the workloads concurrently and using the measurements to filter outside interference. Depending on the platform used, experiments show average accuracy improvement ranging from 114% to 683% over sequential measurements on workloads running the ScalaBench suite with the Graal compiler.
Lubomír Bulej, Vojtech Horký, Petr Tuma 0001
MASCOTS3
2019 Renaissance: benchmarking suite for parallel applications on the JVM
abstract
Established benchmark suites for the Java Virtual Machine (JVM), such as DaCapo, ScalaBench, and SPECjvm2008, lack workloads that take advantage of the parallel programming abstractions and concurrency primitives offered by the JVM and the Java Class Library. However, such workloads are fundamental for understanding the way in which modern applications and data-processing frameworks use the JVM's concurrency features, and for validating new just-in-time (JIT) compiler optimizations that enable more efficient execution of such workloads. We present Renaissance, a new benchmark suite composed of modern, real-world, concurrent, and object-oriented workloads that exercise various concurrency primitives of the JVM. We show that the use of concurrency primitives in these workloads reveals optimization opportunities that were not visible with the existing workloads. We use Renaissance to compare performance of two state-of-the-art, production-quality JIT compilers (HotSpot C2 and Graal), and show that the performance differences are more significant than on existing suites such as DaCapo and SPECjvm2008. We also use Renaissance to expose four new compiler optimizations, and we analyze the behavior of several existing ones. We use Renaissance to compare performance of two state-of-the-art, production-quality JIT compilers (HotSpot C2 and Graal), and show that the performance differences are more significant than on existing suites such as DaCapo and SPECjvm2008. We also use Renaissance to expose four new compiler optimizations, and we analyze the behavior of several existing ones.
Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tuma 0001, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder
PLDI5
2019 DjangoChecker: Applying extended taint tracking and server side parsing for detection of context-sensitive XSS flaws
abstract
Summary Cross‐site scripting (XSS) flaws are a class of security flaws that permit the injection of malicious code into a web application. In simple situations, these flaws can be caused by missing input sanitizations. Sometimes, however, all application inputs are sanitized, but the sanitizations are not appropriate for the browser contexts of the sanitized values. Using an incorrect sanitizer can make the application look protected, when it is in fact vulnerable as if no sanitization was used, creating a context‐sensitive XSS flaw. To discover context‐sensitive XSS flaws, we introduce DjangoChecker. DjangoChecker combines extended dynamic taint tracking with a model browser for context analysis. We demonstrate the practical application of DjangoChecker on eight mature web applications based on Django, discovering previously unknown flaws in seven of the eight applications, including highly severe flaws that allow arbitrary JavaScript execution in the seven flawed applications.
Antonín Steinhauser, Petr Tuma 0001
Softw. Pract. Exp.2
2017 Unit Testing Performance in Java Projects: Are We There Yet?
abstract
Although methods and tools for unit testing of performance exist for over a decade, anecdotal evidence suggests unit testing of performance is not nearly as common as unit testing of functionality. We examine this situation in a study of GitHub projects written in Java, looking for occurrences of performance evaluation code in common performance testing frameworks. We quantify the use of such frameworks, identifying the most relevant performance testing approaches, and describe how we adjust the design of our SPL performance testing framework to follow these conclusions.
Petr Stefan, Vojtech Horký, Lubomír Bulej, Petr Tuma 0001
ICPE4
2017 Unit testing performance with Stochastic Performance Logic
Lubomír Bulej, Tomás Bures, Vojtech Horký, Jaroslav Kotrc, Lukás Marek, Tomás Trojánek, Petr Tuma 0001
Autom. Softw. Eng.7
2017 Reprint of "Robust partial-load experiments with Showstopper"
Andrej Podzimek, Lubomír Bulej, Lydia Y. Chen, Walter Binder, Petr Tuma 0001
Future Gener. Comput. Syst.5
2016 Analysis of Overhead in Dynamic Java Performance Monitoring
abstract
In production environments, runtime performance monitoring is often limited to logging of high level events. More detailed measurements, such as method level tracing, tend to be avoided because their overhead can disrupt execution. This limits the information available to developers when solving performance issues at code level. One approach that reduces the measurement disruptions is dynamic performance monitoring, where the measurement instrumentation is inserted and removed as needed. Such selective monitoring naturally reduces the aggregate overhead, but also introduces transient overhead artefacts related to insertion and removal of instrumentation. We experimentally analyze this overhead in Java, focusing in particular on the measurement accuracy, the character of the transient overhead, and the longevity of the overhead artefacts.
Vojtech Horký, Jaroslav Kotrc, Peter Libic, Petr Tuma 0001
ICPE4
2016 Robust partial-load experiments with Showstopper
Andrej Podzimek, Lubomír Bulej, Lydia Y. Chen, Walter Binder, Petr Tuma 0001
Future Gener. Comput. Syst.5
2015 Analyzing the Impact of CPU Pinning and Partial CPU Loads on Performance and Energy Efficiency
abstract
While workload collocation is a necessity to increase energy efficiency of contemporary multi-core hardware, it also increases the risk of performance anomalies due to workload interference. Pinning certain workloads to a subset of CPUs is a simple approach to increasing workload isolation, but its effect depends on workload type and system architecture. Apart from common sense guidelines, the effect of pinning has not been extensively studied so far. In this paper we study the impact of CPU pinning on performance interference and energy efficiency for pairs of collocated workloads. Besides various combinations of workloads, virtualization and resource isolation, we explore the effects of pinning depending on the level of background load. The presented results are based on more than 1000 experiments carried out on an Intel-based NUMA system, with all power management features enabled to reflect real-world settings. We find that less common CPU pinning configurations improve energy efficiency at partial background loads, indicating that systems hosting collocated workloads could benefit from dynamic CPU pinning based on CPU load and workload type.
Andrej Podzimek, Lubomír Bulej, Lydia Y. Chen, Walter Binder, Petr Tuma 0001
CCGRID5
2015 Utilizing Performance Unit Tests To Increase Performance Awareness
abstract
Many decisions taken during software development impact the resulting application performance. The key decisions whose potential impact is large are usually carefully weighed. In contrast, the same care is not used for many decisions whose individual impact is likely to be small -- simply because the costs would outweigh the benefits. Developer opinion is the common deciding factor for these cases, and our goal is to provide the developer with information that would help form such opinion, thus preventing performance loss due to the accumulated effect of many poor decisions.
Vojtech Horký, Peter Libic, Lukás Marek, Antonín Steinhauser, Petr Tuma 0001
ICPE5
2015 DOs and DON'Ts of Conducting Performance Measurements in Java
abstract
The tutorial aims at practitioners - researchers or developers - who need to execute small scale performance experiments in Java. The goal is to provide the attendees with a compact overview of some of the issues that can hinder the experiment or mislead the evaluation, and discuss the methods and tools that can help avoid such issues. The tutorial will examine multiple elements of the software execution stack that impact performance, including common virtual machine mechanisms (just-in-time compilation and garbage collection together with associated runtime adaptation), some operating system features (timers) and hardware (memory) - although the focus will be on Java, some of the take away points should apply even in a more general performance experiment context.
Vojtech Horký, Peter Libic, Antonín Steinhauser, Petr Tuma 0001
ICPE4
2015 Introduction to dynamic program analysis with DiSL
Lukás Marek, Yudi Zheng, Danilo Ansaloni, Lubomír Bulej, Aibek Sarimbekov, Walter Binder, Petr Tuma 0001
Sci. Comput. Program.7
2014 Towards Performance-Aware Engineering of Autonomic Component Ensembles
Tomás Bures, Vojtech Horký, Michal Kit, Lukás Marek, Petr Tuma 0001
ISoLA (1)5
2014 Showstopper: The Partial CPU Load Tool
abstract
Provisioning strategies relying on CPU load may be suboptimal for many applications, because the relation between CPU load and application performance can be non-linear and complex. With the knowledge of the relation between CPU load and application performance, resource provisioning strategies could be tuned to a particular application, but the required knowledge is difficut to obtain, because classic benchmarking is not suited for performance evaluation of partial-load scenarios. As a remedy, we present Showstopper, a tool capable of achieving and sustaining a predefined partial CPU load (or replay a load trace) by controlling the execution of arbitrary CPU-bound workloads. By analyzing performance interference among applications running in colocated virtual machines, we demonstrate how Showstopper enables systematic and reproducible exploration of the platform- and application-specific relation between CPU load and application performance.
Andrej Podzimek, Lydia Y. Chen, Lubomír Bulej, Walter Binder, Petr Tuma 0001
MASCOTS5
2014 On the limits of modeling generational garbage collector performance
abstract
Garbage collection is an element of many contemporary software platforms whose performance is determined by complex interactions and is therefore difficult to quantify and model. We investigate the difference between the behavior of a real garbage collector implementation and a simplified model on a selection of workloads, focusing on the accuracy achievable with particular input information (sizes, references, lifetimes). Our work highlights the limits of performance modeling of garbage collection and points out issues of existing evaluation tools that may lead to incorrect experimental conclusions.
Peter Libic, Lubomír Bulej, Vojtech Horký, Petr Tuma 0001
ICPE4
2014 Constructing performance model of JMS middleware platform
abstract
Middleware performance models are useful building blocks in the performance models of distributed software applications. We focus on performance models of messaging middleware implementing the Java Message Service standard, showing how certain system design properties -- including pipelined processing and message coalescing -- interact to create performance behavior that the existing models do not capture accurately. We construct a performance model of the ActiveMQ messaging middleware that addresses the outlined issues and discuss how the approach extends to other middleware implementations.
Tomás Martinec, Lukás Marek, Antonín Steinhauser, Petr Tuma 0001, Qais Noorshams, Andreas Rentschler, Ralf Reussner
ICPE4
2014 Performance awareness: keynote abstract
abstract
The talk will take a broad look at performance awareness, defined as the ability to observe performance and to act on the observations. The implicit question posed in the talk is what can be done to improve various aspects of performance awareness -- be it our awareness of the various performance relevant mechanisms, our awareness of the expected software performance, our ability to attain and exploit performance awareness as software developers, and our options for implementing performance aware applications.
Petr Tuma 0001
ICPE1
2014 Dynamic program analysis - Reconciling developer productivity and tool performance
Aibek Sarimbekov, Yudi Zheng, Danilo Ansaloni, Lubomír Bulej, Lukás Marek, Walter Binder, Petr Tuma 0001, Zhengwei Qi
Sci. Comput. Program.7
2013 Enabling Modularity and Re-use in Dynamic Program Analysis Tools for the Java Virtual Machine
Danilo Ansaloni, Stephen Kell, Yudi Zheng, Lubomír Bulej, Walter Binder, Petr Tuma 0001
ECOOP6
2013 ShadowVM: robust and comprehensive dynamic program analysis for the java platform
abstract
Dynamic analysis tools are often implemented using instrumentation, particularly on managed runtimes including the Java Virtual Machine (JVM). Performing instrumentation robustly is especially complex on such runtimes: existing frameworks offer limited coverage and poor isolation, while previous work has shown that apparently innocuous instrumentation can cause deadlocks or crashes in the observed application. This paper describes ShadowVM, a system for instrumentation-based dynamic analyses on the JVM which combines a number of techniques to greatly improve both isolation and coverage. These centre on the offload of analysis to a separate process; we believe our design is the first system to enable genuinely full bytecode coverage on the JVM. We describe a working implementation, and use a case study to demonstrate its improved coverage and to evaluate its runtime overhead.
Lukás Marek, Stephen Kell, Yudi Zheng, Lubomír Bulej, Walter Binder, Petr Tuma 0001, Danilo Ansaloni, Aibek Sarimbekov, Andreas Sewe
GPCE6
2013 I/O Performance Modeling of Virtualized Storage Systems
abstract
Server virtualization is a key technology to share physical resources efficiently and flexibly. With the increasing popularity of I/O-intensive applications, however, the virtualized storage used in shared environments can easily become a bottleneck and cause performance and scalability issues. Performance modeling and evaluation techniques applied prior to system deployment help to avoid such issues. In current practice, however, virtualized storage and its effects on the overall system performance are often neglected or treated as a black-box. In this paper, we present a systematic I/O performance modeling approach for virtualized storage systems based on queueing theory. We first propose a general performance model building methodology. Then, we demonstrate our methodology creating I/O queueing models of a real-world representative environment based on IBM System z and IBM DS8700 server hardware. Finally, we present an in-depth evaluation of our models considering both interpolation and extrapolation scenarios as well as scenarios with multiple virtual machines. Overall, we effectively create performance models with less than 11% mean prediction error in the worst case and less than 5% prediction error on average.
Qais Noorshams, Kiana Rostami, Samuel Kounev, Petr Tuma 0001, Ralf Reussner
MASCOTS4
2012 Java Bytecode Instrumentation Made Easy: The DiSL Framework for Dynamic Program Analysis
Lukás Marek, Yudi Zheng, Danilo Ansaloni, Aibek Sarimbekov, Walter Binder, Petr Tuma 0001, Zhengwei Qi
APLAS6
2012 A Non-Intrusive Read-Copy-Update for UTS
abstract
Read-Copy-Update (RCU) is a mechanism designed to increase the level of concurrency in readers-writer synchronization scenarios, vastly improving scalability of software running on multiprocessor machines. Most existing RCU variants have been developed for and studied within the Linux kernel. Due to strong dependency on the Linux internals, they cannot be easily transferred to other operating system kernels. This paper presents a novel non-intrusive variant of the RCU mechanism (AP-RCU), which depends only on basic kernel-level concepts while maintaining the scalability benefits. We have implemented AP-RCU in the Solaris kernel (UTS) and experimentally confirmed the expected benefits over traditional forms of synchronization, comparable with previous RCU implementations.
Andrej Podzimek, Martin Decký, Lubomír Bulej, Petr Tuma 0001
ICPADS4
2012 On the accuracy of cache sharing models
abstract
Memory caches significantly improve the performance of workloads that have temporal and spatial locality by providing faster access to data. Current processor designs have multiple cores sharing a cache. To accurately model a workload performance and to improve system throughput by intelligently scheduling workloads on cores, we need to understand how sharing caches between workloads affects their data accesses.
Vlastimil Babka, Peter Libic, Tomás Martinec, Petr Tuma 0001
ICPE4
2012 Capturing performance assumptions using stochastic performance logic
abstract
Compared to functional unit testing, automated performance testing is difficult, partially because correctness criteria are more difficult to express for performance than for functionality. Where existing approaches rely on absolute bounds on the execution time, we aim to express assertions on code performance in relative, hardware-independent terms. To this end, we introduce Stochastic Performance Logic (SPL), which allows making statements about relative method performance. Since SPL interpretation is based on statistical tests applied to performance measurements, it allows (for a special class of formulas) calculating the minimum probability at which a particular SPL formula holds. We prove basic properties of the logic and present an algorithm for SAT-solver-guided evaluation of SPL formulas, which allows optimizing the number of performance measurements that need to be made. Finally, we propose integration of SPL formulas with Java code using higher-level performance annotations, for performance testing and documentation purposes.
Lubomír Bulej, Tomás Bures, Jaroslav Keznikl, Alena Koubková, Andrej Podzimek, Petr Tuma 0001
ICPE6
2009 When Misses Differ: Investigating Impact of Cache Misses on Observed Performance
abstract
Although modeling of memory caches for the purpose of cache design and process scheduling has advanced considerably, the effects of cache sharing are still not captured by common approaches to modeling of software performance. One of the obstacles is lack of information about the relationship between cache misses, which the cache models usually describe, and the timing penalties, which the performance models require. Following earlier work that has shown how cache misses do not quite account for timing penalties, we report on extensive experiments that investigate the connection between cache sharing and observed performance in more depth on a real computer architecture.
Vlastimil Babka, Lukás Marek, Petr Tuma 0001
ICPADS3
2009 Timing penalties associated with cache sharing
abstract
Although important from software performance perspective, the behavior of memory caches is not captured by the common approaches to modeling of software performance, where the software performance models tend to treat operation durations as constants despite the fact that the operations compete for memory caches. Incorporating memory cache models into software performance models is hindered by the fact that existing cache models do not provide information about timings and penalties, but only about hits and misses. The paper outlines the relationship of cache events and cache timings on a real computer architecture, indicating that the existing practice of modeling cache miss penalties as constants is not sufficient to model software performance faithfully.
Vlastimil Babka, Peter Libic, Petr Tuma 0001
MASCOTS3
2009 On the Influence of Thread Allocation for Irregular Codes in NUMA Systems
abstract
This work presents a study undertaken to characterise the FINISTERRAE supercomputer, one of the biggest NUMA systems in Europe. The main objective was to determine the performance effect of bus contention and cache coherency as well as the suitability of porting strategies regarding irregular codes in such a complex architecture. Results show that: (1) cores which share a socket can be considered as independent processors in this context; (2) for big data sizes, the effect of sharing a bus degrades the final performance but masks the cache coherency effects; (3) the NUMA factor (remote to local memory latency ratio) is an important factor on irregular codes and (4) the default kernel allocation policy is not optimal in this system. These results allow us to understand the behaviour of thread-to-core mappings and memory allocation policies.
Juan Ángel Lorenzo del Castillo, Francisco F. Rivera, Petr Tuma 0001, Juan Carlos Pichel
PDCAT3
2007 Streaming State Space: A Method of Distributed Model Verification
abstract
We present an alternative to traditional approaches of parallel and distributed model verification. In contrast to methods based on partitioning the state space, we keep the states together, sorted and organized as a stream. The stream is passed across computational nodes in a logical circle where each node updates the states in the part of the stream it currently sees. The presented method relies on state locality, allows storing the state space at external storage devices, and scales well on a non-dedicated, nonuniform cluster of up to tens of nodes. We have implemented an experimental version of the algorithm and obtained very promising results in scalability in the number of processors and computational nodes used in a large real-life use case.
Viliam Holub, Petr Tuma 0001
TASE2
2005 Automated Detection of Performance Regressions: The Mono Experience
abstract
Engineering a large software project involves tracking the impact of development and maintenance changes on the software performance. An approach for tracking the impact is regression benchmarking, which involves automated benchmarking and evaluation of performance at regular intervals. Regression benchmarking must tackle the nondeterminism inherent to contemporary computer systems and execution environments and the impact of the nondeterminism on the results. On the example of a fully automated regression benchmarking environment for the mono open-source project, we show how the problems associated with nondeterminism can be tackled using statistical methods.
Tomas Kalibera, Lubomír Bulej, Petr Tuma 0001
MASCOTS3
2005 Middleware benchmarking: approaches, results, experiences
abstract
The report summarizes the results of the Workshop on Middleware Benchmarking held during OOPSLA 2003. The goal of the workshop was to help advance the current practice of gathering performance characteristics of middleware implementations through benchmarking. The participants of the workshop have focused on identifying requirements of and obstacles to middleware benchmarking and forming a position on the related issues. Selected requirements and obstacles are presented, together with guidelines to adhere to when benchmarking, open issues of current practice, and perspectives on further research. Copyright © 2005 John Wiley & Sons, Ltd.
Paul Brebner, Emmanuel Cecchet, Julie Marguerite, Petr Tuma 0001, Octavian Ciuhandu, Bruno Dufour, Lieven Eeckhout, Stéphane Frénot, Arvind S. Krishna, John Murphy 0001, Clark Verbrugge
Concurr. Comput. Pract. Exp.4
2005 Repeated results analysis for middleware regression benchmarking
Lubomír Bulej, Tomas Kalibera, Petr Tuma 0001
Perform. Evaluation3
2004 Regression benchmarking with simple middleware benchmarks
abstract
The paper introduces the concept of regression benchmarking as a variant of regression testing focused at detecting performance regressions. Applying the regression benchmarking in the area of middleware development, the paper explains how regression benchmarking differs from middleware benchmarking in general. On a real-world example of TAO, the paper shows why the existing benchmarks do not give results sufficient for regression benchmarking, and proposes techniques for detecting performance regressions using simple benchmarks.
Lubomír Bulej, Tomas Kalibera, Petr Tuma 0001
IPCCC3
2000 The Role of Software Architecture in Constraining Adaptation in Component-Based Middleware Platforms
Gordon S. Blair, Lynne Blair, Valérie Issarny, Petr Tuma 0001, Apostolos V. Zarras
Middleware4
1996 Lessons Learned from Implementing the CORBA Persistent Object Service
abstract
In this paper, the authors share their experiences gathered during the design and implementation of the CORBA Persistent Object Service. There are two problems related to a design and implementation of the Persistence Service: first, OMG intentionally leaves the functionality core of the Persistence Service unspecified; second, OMG encourages reuse of other Object Services without being specific enough in this respect. The paper identifies the key design issues implied both by the intentional lack of OMG specification and the limits of the implementation environment characteristics. At the same time, the paper discusses the benefits and drawbacks of reusing other Object Services, particularly the Relationship and Externalization Services, to support the Persistence Service. Surprisingly, the key lesson learned is that a direct reuse of these Object Services is impossible.
Jan Kleindienst, Frantisek Plásil, Petr Tuma 0001
OOPSLA3
1996 CORBA and Object Services
Jan Kleindienst, Frantisek Plásil, Petr Tuma 0001
SOFSEM3