Skip to content

Commit 5458323

Browse files
PMUV3 Learning path changes
1 parent 78ea083 commit 5458323

File tree

15 files changed

+546
-46
lines changed

15 files changed

+546
-46
lines changed

content/learning-paths/servers-and-cloud-computing/PMUv3_plugin_learning_path/_index.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ who_is_this_for: Engineers working on a workload/codebase to carry out performan
77

88
learning_objectives:
99
- Get a fine-grained and precise measurement of functions handling a specific task.
10-
- The plugin is grouped into 15 categories also known as bundles, and each bundle has a set of PMU events. The values of the same can be obtained in one shot.
11-
- Apart from raw PMU event values, the backend tool also provides the KPI/metric values like MPKI, stalls, IPC and many more, thus helping in performance analysis tasks.
10+
- Instrument at a code/function level by choosing one of the 4 scenarios detailed in this learning path.
11+
- Run and collect the CSV of all the 15 bundles in one shot.
12+
- Use the backend tool to plot raw PMU event values along with the KPI/metric values like MPKI, stalls, IPC and many more, thus helping in performance analysis tasks.
1213

1314
prerequisites:
1415
- Some familiarity with performance analysis.

content/learning-paths/servers-and-cloud-computing/PMUv3_plugin_learning_path/_next-steps.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
next_step_guidance: PLACEHOLDER TEXT 1
2+
next_step_guidance: If you need a more detailed documentation, request repo access from author and access this [Documentation-PMUV3_plugin](https://github.com/GayathriNarayana19/PMUv3_plugin/blob/main/Documentation-PMUV3_plugin.pdf)
33

4-
recommended_path: /learning-paths/PLACEHOLDER_CATEGORY/PLACEHOLDER_LEARNING_PATH/
4+
recommended_path: /learning-paths/servers-and-cloud-computing/pmuv3_plugin_learning_path/
55

66
further_reading:
77
- resource:

content/learning-paths/servers-and-cloud-computing/PMUv3_plugin_learning_path/_review.md

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,35 @@
11
---
22
review:
33
- questions:
4-
question: >
5-
PLACEHOLDER QUESTION 1?
4+
question: Where to find the detailed documentation with example instrumentations?
5+
66
answers:
7-
- PLACEHOLDER ANSWER A
8-
- PLACEHOLDER ANSWER B
7+
- If you need a more detailed documentation, request repo access from author and access this [Documentation-PMUV3_plugin](https://github.com/GayathriNarayana19/PMUv3_plugin/blob/main/Documentation-PMUV3_plugin.pdf)
98
correct_answer: 1
109
explanation: >
11-
PLACEHOLDER EXPLANATION 1
1210
1311
- questions:
1412
question: >
15-
PLACEHOLDER QUESTION 2?
13+
If you want to instrument in a C++ codebase around a single chunk of code, which scenario will you adopt?
1614
answers:
17-
- PLACEHOLDER ANSWER A
18-
- PLACEHOLDER ANSWER B
19-
- PLACEHOLDER ANSWER C
20-
- PLACEHOLDER ANSWER D
21-
correct_answer: 4
15+
- Scenario I
16+
- Scenario II
17+
- Scenario III
18+
- Scenario IV
19+
correct_answer: 2
2220
explanation: >
23-
PLACEHOLDER EXPLANATION 2
2421
2522
- questions:
2623
question: >
27-
PLACEHOLDER QUESTION 3?
24+
What are the advantages of using PMUv3_plugin?
2825
answers:
29-
- PLACEHOLDER ANSWER A
30-
- PLACEHOLDER ANSWER B
31-
- PLACEHOLDER ANSWER C
32-
- PLACEHOLDER ANSWER D
33-
correct_answer: 2
26+
- Avoids context switches
27+
- Ability to collect the PMU events and metrics in one shot.
28+
- Scope to create Custom bundles is present.
29+
- More precise and accurate compared to generic instrumentation methods due to direct counter accesis
30+
- All the above
31+
correct_answer: 5
3432
explanation: >
35-
PLACEHOLDER EXPLANATION 3
3633
3734
3835
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: Requirements
3+
weight: 3
4+
5+
### FIXED, DO NOT MODIFY
6+
layout: learningpathall
7+
---
8+
9+
## Before you begin
10+
11+
We recommend the directory structure to be as follows. Kindly place your codebase/project within
12+
13+
/YOUR_HOME_DIR/ut_integration.
14+
15+
16+
![example image alt-text#center](tree.png "Figure 1. Directory Tree")
17+
18+
### STEP 1: Clone Linux and PMUv3_plugin
19+
```yaml
20+
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
21+
git clone https://github.com/GayathriNarayana19/PMUv3_plugin.git
22+
```
23+
(Below step OPTIONAL, good to enable once.)
24+
Enable userspace access : To ascertain if userspace access to the PMU counters is allowed, check the perf_user_access file.
25+
```yaml
26+
cat /proc/sys/kernel/perf_user_access
27+
0
28+
sudo sysctl kernel/perf_user_access=1
29+
kernel/perf_user_access=1
30+
cat /proc/sys/kernel/perf_user_access
31+
1
32+
```
33+
## STEP 2: Run ./build.sh
34+
To do the static library compilation, run ./build.sh from /home/ubuntu/ut_integration/PMUv3_plugin/directory.
35+
Run ./build.sh if you are going to instrument around a C++ codebase. If it is a C codebase, then comment line 19 of build.sh and uncomment line 20 and run ./build.sh
36+
37+
![example image alt-text#center](build_sh.png "Figure 2. build.sh")
38+
39+
## STEP 3: Include the static library in Makefile/CMakelists or relevant files
40+
In your application's Makefile or CMakeLists files, make sure to add or include this -lpmuv3_plugin_bundle.a static library and -L to point its location.
41+
178 KB
Loading
1.4 MB
Loading
89.3 KB
Loading
62.6 KB
Loading

content/learning-paths/servers-and-cloud-computing/PMUv3_plugin_learning_path/how-to-1.md

Lines changed: 0 additions & 10 deletions
This file was deleted.

content/learning-paths/servers-and-cloud-computing/PMUv3_plugin_learning_path/how-to-2.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)