← Back to Demo

LHP: I/O Completion Emulator

Epoch-based sleep prediction — measured_io feedback creates positive feedback loop → latency shelving

I/O Completion Model & LHP Algorithm

Each I/O:
  wake_time = sleep_duration + cs_overhead (δ)

  UNDER (device_time > wake_time):  app wakes before device completes
      app_latency  = device_time      (correct)
      measured_io  = device_time

  OVER  (device_time ≤ wake_time):  device finishes while app sleeps
      app_latency  = wake_time        (wasted time)
      measured_io  = wake_time        (inflated!)

LHP update (each epoch):
  sleep_next = attenuation × mean(measured_io)

Problem: measured_io includes inflated oversleep values
  → next epoch's sleep is too high → more oversleep → even more inflation
  → positive feedback loop → LATENCY SHELVING

LHP Parameters

%
ms Auto
μs
μs

Trace Input

ms
Avg App Latency
-
μs
Avg Device Time
-
μs
Latency Overhead
-
%
OVER Count
-
I/Os
Final Sleep
-
μs
I/O 0 / 0 | 0.0 / 0.0 ms

I/O Completion Emulation

▬ Genuine Device Latency   - - Requested Sleep   ▬ Actual Sleep (sleep + δ)   - - App-Perceived I/O Latency   ■ Oversleep Penalty

Run emulation to see step-by-step log...