@WikiNewPageEditViewToolsHelp
Create New Page Create New Page from Copy
Create your new wiki
Edit this page Copy from this page Rename
Attach (Upload) File
Edit Menu
Newest Change History Referer Trackback
Page List Tag Cloud RSS1.0 RSS2.0
Search
@Wiki Guide
FAQ/about @wiki FAQ/about Editting FAQ/about Register
Update Infomation Release Plan

Write History Queue

   Write history queue is used to save the data in memory that is overwritten by post-checkpoint store operations. After a checkpoint is taken, every subsequent store operation will cause the old data and its memory address to be stored in the write history queue. The WHQ will ignore further writes to the same address as we are only concern with the original value to perform a rollback.     

   When a checkpoint is committed, the data and address stored in the write history queue will be dumped. However, on the event of a rollback, the data in the queue will be written back into the memory at the corresponding addresses. In addition, all caches in the higher hierarchy have to be flushed.

   This design allows quick checkpoint taking and checkpoint committing. However, it has a terrible rollback performance and might be slower during speculative mode compared to the other methods since it allows writes to the main memory.

 

Forceload in assembler