Zum Inhalt
Fakultät für Informatik
Paper “Understanding Application Performance on Modern Hardware: Profiling Foundations and Advanced Techniques”

Reviews (NoDMC 2025)

Reviewer #1

Evaluation of the Contribution

Overall Recommendation: 8


Comments for the Authors
 

This tutorial gives a deep-dive into performance profiling using hardware events in their perf-cpp library. To this end, it uses a B+-Tree implementation with certain optimizations and the YCSB benchmark.

Pros:
- S1: good tutorial outline
- S2: well-designed frameworks and workloads are used

Cons:
- W1: I like the idea of using YCSB. However, B+-Trees are made for range queries. I would suggest to also add this use case as an investigation in the tutorial (maybe even in the paper).
- Minor: it would be worthwhile to include the GitHub link in the paper, such that other researchers could benefit from the tutorial's material even after the event.
- Minor: a sentence should not start with "And"

Reviewer #2

Evaluation of the Contribution


Overall Recommendation: 10


Comments for the Authors


Strengths

[S1] The paper is well-written and provides detailed background chapters. Although I had to read them twice to fully understand and follow the content, they are highly informative. The authors explain various types of performance measurements, highlighting that some are not fine-grained enough to capture system behavior effectively. They also emphasize the importance of focusing on critical aspects, such as memory management in tree traversals, for certain programs. This thorough explanation has sparked my interest in learning more about the topic.

[S2] A notable strength is the inclusion of a hands-on tutorial, which adds practical value to the paper.

[S3] The clear description of the tutorial's time frame is another positive aspect, helping readers understand its scope and applicability.


Weaknesses (Minor Points)

[W1] The paper feels slightly lengthy. If I understand correctly, the expected length is 4-8 pages, but the paper extends to 10 pages. Perhaps some content could be streamlined or moved to supplementary material to adhere to the expected format.

[W2] The figure captions and text references are inconsistent. While captions use the format "Fig. xy," the text refers to "Figure xy." For consistency, the text references should also use the "Fig. xy" format.

[W3] In Section 3.2, there is a single paragraph followed by a series of paragraphs under subheadings such as "Challenges." However, the transition to these paragraphs feels abrupt and lacks motivation. Adding at least one sentence to introduce and connect these sections would improve the flow and readability.

 

Reviewer #3

Evaluation of the Contribution


Overall Recommendation: 8


Comments for the Authors


The authors propose a tutorial and a deep dive into Linux perf tooling as well as into their own free and open tool perf-cpp. perf-cpp has 49 stars on github and proper documentation, so it seems it already has been used by a couple of people.

[S1] This is a very relevant topic, every database engine developer/researcher should know how to use perf-tools to optimize their performance-critical code.
[S2] The demonstration of a novel and free tool on top of performance counters is promising and might open up new insights for people already familiar with the topic in general.
[S3] The proposed time-frame looks reasonable and gives the audience the chance to play around with this. I can imagine that many will immediately try to apply this to their current projects as part of the session.
[W1] The largest portion of the tutorial is only relevant for C++ developers. That's probably most of the audience, but maybe we can warn Java (or pure C [PostgreSQL]) developers in the abstract... A small outlook to similar libraries in other languages might be nice as well.