Files
pss/docs/metrics.en.md
T
Lucas RayanandClaude Sonnet 4.6 22925578b1 chore: final pre-submission polish for JOSS
- Add CITATION.cff for GitHub citation support and Zenodo/JOSS integration
- Fix ossim reference URL in references.bib (was pointing to unrelated repo)
- Remove broken favicon reference from index.html (no public/ directory exists)
- Add meta description to index.html
- Fix sidebar title inconsistency: "Process Simulator" → "Process Scheduler Simulator"
- Rebuild dist.tar.gz with production assets

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 19:50:45 -03:00

4.9 KiB
Raw Permalink Blame History

Metrics

Também disponível em: 🇧🇷 Português

PSS automatically computes a set of metrics at the end (or during) the simulation. This document explains each metric, its formula, what it represents, and how to read it in the charts.


Per-Process Metrics

These metrics are computed individually for each simulated process.

Metric Formula What it means
Arrival Time arrivalTime Tick at which the process first entered the Ready queue
First CPU Tick startTick Tick at which the process first used the CPU
Finish Time finishTick Tick at which the process completed its execution
Response Time startTick − arrivalTime How long the process waited before receiving the CPU for the first time
Turnaround Time finishTick − arrivalTime Total lifetime of the process (arrival → completion)
Waiting Time turnaround − cpuTime − ioTime Total time spent in the Ready queue (doing nothing useful)
CPU Time Σ ticks in Running state Total CPU actually consumed
I/O Time Σ ticks in Waiting state Total time waiting for I/O devices
CPU Utilization cpuTime / turnaround × 100 Percentage of the turnaround time the process was actually using the CPU
Bound Type see below Classification of the process as CPU Bound, I/O Bound, or Balanced

Table visualization

In the Per Process tab, each row displays inline horizontal mini progress bars next to the numeric values. The bars are proportional to the largest value of the same metric among all processes, enabling immediate visual comparison:

Column Bar color
Response Time Amber
Turnaround Time Blue
Waiting Time Orange
CPU Time Emerald
I/O Time Cyan
CPU Utilization Violet → Blue gradient

Global Metrics

Computed over the complete set of processes in the simulation.

Metric Formula
Avg Response Time Average of all processes' response times
Avg Turnaround Time Average of all turnaround times
Avg Waiting Time Average of all waiting times
CPU Throughput completed processes / total simulation time
CPU Utilization (global) Σ Running ticks / total time × 100
Total Simulation Time Tick of the last completion event

In the Global tab, each time card (Response, Turnaround, Waiting) displays a bar proportional to the total simulation time, indicating "how much of that total time the average process spends in that state". The CPU Utilization bar uses an amber → green gradient to indicate utilization health.


CPU Bound vs. I/O Bound Classification

At the end of the simulation, each process is automatically classified based on the proportion of time spent on CPU and I/O:

cpuRatio = cpuTime / (cpuTime + ioTime)
ioRatio  = ioTime  / (cpuTime + ioTime)

cpuRatio ≥ 0.65  → CPU Bound
ioRatio  ≥ 0.65  → I/O Bound
otherwise        → Balanced
  • CPU Bound: the process spends most of its time using the processor.
  • I/O Bound: the process spends most of its time waiting for I/O devices.
  • Balanced: the process uses CPU and I/O in a balanced way.

In the process list: estimate computed from the declared bursts (before simulation).
In the metrics table: classification computed from the actual recorded times.


Charts ("Chart" tab)

Comparative Profile (Radar Chart)

Displayed when there are 2 or more processes. Each axis represents a time dimension, normalized from 0–100% relative to the largest value in that dimension among all processes:

Axis Meaning
Turnaround Relative total lifetime
Response Relative time to first CPU
Waiting Relative time in the Ready queue
CPU Time Relative CPU usage
I/O Time Relative I/O usage

Each process is drawn as a colored polygon (the color configured for the process). Wider polygons indicate processes with larger times in the corresponding dimensions. The radar chart is ideal for identifying profile differences between processes (for example, a CPU Bound process will have a much larger CPU Time axis than I/O Time).

Per-Process Breakdown (Stacked Bar Chart)

Always displayed. Each bar represents a process, with stacked segments:

  • Amber: Waiting Time
  • Green: CPU Time
  • Cyan: I/O Time

The total height of each bar equals the Turnaround Time of the process.


Example

Consider three processes with the following bursts:

Process Bursts cpuTime ioTime cpuRatio Classification
P1 CPU:8, IO:1, CPU:1 9 1 90% CPU Bound
P2 CPU:1, IO:8, CPU:1 2 8 20% I/O Bound
P3 CPU:4, IO:2, CPU:4 8 2 80% CPU Bound