Commit Graph

45 Commits

Author SHA1 Message Date
6aba89a8a8 Rename trace-model.md to just trace.md 2024-09-17 13:31:46 +02:00
9e6f691325 Add examples in some trace concepts 2024-09-17 13:30:21 +02:00
7ce892a9ff Add example program for mark API 2024-09-17 12:59:30 +02:00
4c58f4619b Document environment variables 2024-09-17 08:47:11 +02:00
d115ecad64 Remove tracing.md 2024-09-17 08:05:27 +02:00
73ce6ed035 Update trace specification to version 3 2024-09-17 08:05:15 +02:00
bba46ac200 Explain some concepts in the documentation 2024-09-13 16:03:15 +02:00
79d17b5b0c Change hyperlinks to point to .md files
Allows mkdocs to discover broken links when the pointed document has
moved.
2024-09-13 10:56:50 +02:00
038b9d8564 Document usage rules for the mark API 2024-07-23 10:35:08 +02:00
43792fb349 Clarify push and pop value in mark API 2024-06-20 11:48:31 +02:00
c803a7566f Prevent zero values in the mark API
These values cannot be differentiated from a null value, due to a
Paraver limitation.
2024-06-20 11:41:09 +02:00
670edb6ddc Add documentation for the mark API
Includes the runtime usage as well as how to adjust the Paraver
configuration.
2024-06-20 11:08:29 +02:00
610b1223d9 Update version docs for ovni model 1.1.0 2024-06-19 12:26:58 +02:00
247ea7e7c3 Add nosv.can_breakdown attribute check
The nosv.can_breakdown attribute states if enough events for the
breakdown model of nOS-V are enabled at runtime. It is used to ensure
that breakdown traces have the progress events enabled along with others
required for proper visualization of traces.

The emulator will panic when the level is not enough, instead of relying
on users to always remember to enable the correct level.
2024-06-18 12:06:42 +02:00
eed2273ddf Add nOS-V docs for idle and breakdown views 2024-06-12 16:52:30 +02:00
9d94189165 Increase nOS-V model version to 2.2.0
The new progressing state events VP{pra} cause a minor version bump in
the nOS-V model.
2024-06-12 10:25:24 +02:00
eb1fc0f7da Add nosv barrier API event 2024-03-22 16:58:14 +01:00
aaa7769448 Add nosv mutex API events 2024-03-22 16:56:25 +01:00
d1312ff6e9 Fix definitions for kernel context switch events 2024-03-20 12:27:47 +01:00
31c3c965c7 Increase Nanos6 model minor version
As Nanos6 now emits pause events for the parent task before nesting
another one, we increase the minor so the old emulator rejects new
traces that come with the new pause events.
2024-03-14 14:43:05 +01:00
2c58a6058b Document version changes in emulator models
A consistency check ensures that all versions reported by the emulator
appear in the documentation as the latest version. This prevents
forgetting updating the version in the documentation.
2024-03-14 13:56:37 +01:00
815633221d Port nOS-V model to task bodies
The nOS-V events are modified in two ways: 1) to create a parallel task
the new VTC event must be used and 2) all task events for both normal
(VTc) and parallel (VTC) tasks require an extra argument in the payload
to indicate the body id. As a consequence, the nOS-V model version is
now increased to 2.0.0.

Additionally, all the channel PRV flags are set to PRV_SKIPDUPNULL, so
duplicates are only emitted if they are not null. It solves the problem
when a task switches to another task with the same body id.

A new Paraver configuration is added for the body id.
2024-03-13 17:07:26 +01:00
55318d9da7 Update OpenMP emulation model
Add more tests, subsystem states and documentation.
2024-03-12 11:35:18 +01:00
Raúl Peñacoba Veigas
bf2b3b73a0 Add OpenMP emulation model
For now it only has support for subsystems

Co-authored-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2024-03-08 13:04:45 +01:00
4993197fb9 Add nOS-V attach and detach API events
Instead of showing the "attached" state with the VH{aA} events, we show
when the call to nosv_attach() and nosv_detach() take place. The old
VH{aA} events are now ignored. Bumps the nOS-V model version to 1.1.0.
2024-02-15 17:59:41 +01:00
68fc8b0eba Encode ovnievents output for HTML 2024-01-30 12:02:02 +01:00
e4da326c76 Update emulator event list
Generates the emulation event list by using the ovnievents tool.
2024-01-30 12:02:02 +01:00
e002db72fd Correct documentation on thread metadata 2023-11-16 12:39:14 +01:00
f02994c149 Document thread metadata in trace spec 2023-11-16 12:39:14 +01:00
f34479712a Add model version in documentation 2023-11-16 12:39:14 +01:00
ab42ac4557 Add thread metadata 2023-11-16 12:21:50 +01:00
4b4f1bd218 Don't modify nOS-V subsystem state on task pause
In nOS-V, when a task was paused via the VTp event, two things were
happening: 1) the task state was set to pause and 2) the subsystem state
"Task: Running" was being popped.

This causes a problem when a task calls nosv_submit() in blocking mode,
as it will call nosv_pause() which will emit a VTp event from a
subsystem different than "Task: Running".

To solve this conflict, we handle the subsystems state and the task
state separately with the VTp and VTr events. The subsystem state "Task:
Running" no longer is connected to the state of the task and only shows
if we entered the body of the task or not. It has now been renamed to
"Task: In body".

The new state "Task: In body" represents that the task body has begun
the execution and is still in the stack, but the task may be paused. The
subsystem is not changed by the VTp (pause) or VTr (resume) events.

Fixes: https://pm.bsc.es/gitlab/rarias/ovni/-/issues/128
2023-10-23 11:26:17 +02:00
Kevin Sala
7b4ebca002 Add OVNI_TRACEDIR envar to change trace directory
This commit introduces the OVNI_TRACEDIR environment variable to change
the directory where traces are generated. By default, when the envar is
not defined, the trace is still generated in the ovni directory. The
envar can take a trace directory name, a relative path to the directory,
or its absolute path. In the first case, the directory is created in the
current path $PWD.

Both libovni (rt) and ovnisync read this environment variable.
2023-10-23 07:49:28 +00:00
Kevin Sala
3ea89edac7 Update Sonar repository URL pointing to the public GitHub 2023-10-23 07:38:15 +00:00
Kevin Sala
9a628e78ca Add MPI model with interface view 2023-09-06 18:11:18 +02:00
Kevin Sala
276afd5479 Add TAMPI model with subsystems view 2023-08-22 18:13:29 +02:00
Kevin Sala
9269dd7202 Add nosv create and destroy API subsystem states 2023-08-17 13:23:59 +02:00
ff2f33abb9 Document sponge mode and progress events 2023-04-17 17:47:07 +02:00
63e79a9a73 Document the sponge mode in the Idle view 2023-04-14 13:39:37 +00:00
0e75a2b6ad Update the Idle view 2023-04-06 15:33:15 +00:00
14dc70c6a2 Document the breakdown view 2023-04-06 15:33:15 +00:00
a4ce0e2a1e Add Idle view in Nanos6 2023-04-06 15:33:15 +00:00
d8a9f33075 Add .obs suffix in doc of thread streams 2023-03-24 12:08:45 +00:00
757a8e9f39 Run one process of ovnisync per node 2023-03-24 12:08:45 +00:00
5adfd80bce Move user guide docs to a new directory 2023-03-24 12:08:45 +00:00