WSClock
WSClock is a virtual-memory policy combining a CLOCK-style frame scan with working-set age estimates and task load control.
Age uses the owning task's virtual time, not elapsed wall time. A process-time working-set window excludes suspension intervals. [1] [2]
A scan tests and clears the use-bit. Observing a set use-bit makes the scan record the current task time, not an exact access timestamp. Timestamps belong to resident frames. An inactive owner's page is eligible even without age expiry. Inactive means outside the active queue, not merely off-CPU. A dirty frame is queued for cleaning, not immediately reused. Another write can require cleaning again. [1]
Load control estimates the resident intersection of R and W, not the full working set W. A task starting with few resident pages can appear cheap before its demand becomes visible. [1]
Loading-task/running-task (LT/RT) control limits tasks simultaneously loading their working sets, addressing paging-device congestion even when RAM is undercommitted. This is separate from choosing an eviction victim. The evaluated LT/RT rule covers loading after task activation, not later locality transitions. [1]
After a full circuit finds no clean victim, queued cleaning is serviced first; otherwise a task is deactivated to release frames. A failed victim search is therefore not an unconditional instruction to suspend a task. [1]
On page 90, the prose uses >= for age expiry, but Figure 2 uses >. Exact equality behavior needs an explicit convention; neither notation resolves that discrepancy. [1]
Relations
- related
- CLOCK cache replacement, Working set
Limitations
- Processor utilization counts successful references against simulated real time; operating-system execution overhead is excluded, so it is not an end-to-end implementation benchmark. [1]
- Historical simulation results do not establish modern SSD performance or universal optimality. [1]
Citations
- Richard W. Carr and John L. Hennessy. WSClock - A Simple and Effective Algorithm for Virtual Memory Management. SOSP 1981, pp. 87-95.
- Peter J. Denning. The Working Set Model for Program Behavior. Communications of the ACM 11(5), 1968, pp. 323-333, sections 2-3.
- John L. Hennessy. Curriculum Vitae, publication 96: Carr and Hennessy, SOSP, December 1981.
Sources & caveats
- Carr and Hennessy pp. 89-92 support the mechanism; pp. 92-95 describe the simulation. No reproduction, current operating-system implementation or device benchmark is claimed. [1]
- The author's publication list independently confirms the 1981 venue; publication is not represented as an invention date. [3]
- The 1981 study uses eight program-derived task models, three machine configurations and 50 completed tasks per simulation. Its comparison is trace-driven simulation, not measured hardware throughput. [1]