View Full Document

Solving Difficult HTM Problems Without Difficult Hardware



View the full content.
View Full Document
View Full Document

23 views

Unformatted text preview:

Solving Difficult HTM Problems Without Difficult Hardware Owen Hofmann Donald Porter Hany Ramadan Christopher Rossbach and Emmett Witchel University of Texas at Austin Intro Processors now scaling via cores not clock rate 8 cores now 64 tomorrow 4096 next week Parallel programming increasingly important Software must keep up with hardware advances But parallel programming is really hard Deadlock priority inversion data races etc STM is here We would like HTM Difficult HTM Problems Enforcing atomicity and isolation requires conflict detection and rollback TM Hardware only applies to memory and processor state I O System calls may have effects that are not isolated cannot be rolled back mov norad eax mov canada ebx launchmissiles eax ebx Outline Handling kernel I O with minimal hardware User level system call rollback Conclusions Outline Handling kernel I O with minimal hardware User level system call rollback Conclusions cxspinlocks Cooperative transactional spinlocks allow kernel to take advantage of limited TM hardware Optimistically execute with transactions Fall back on locking when hardware TM is not enough I O page table operations overflow Correctness provided by isolation of lock variable Transactional threads read lock Non transactional threads write lock cxspinlock guarantees Multiple transactional threads in critical region Non transactional thread excludes all others cxspinlocks in action lockA unlocke d Thread 1 cx optimistic lockA modify data if condition perform IO cx end lock read write Thread 2 cx optimistic lockA modify data cx end lock read write cxspinlocks in action Transactional threads read unlocked lock variable lockA unlocke d Thread 1 TX cx optimistic lockA modify data if condition perform IO cx end lock read lockA write Thread 2 TX cx optimistic lockA modify data cx end lock read lockA write cxspinlocks in action Transactional threads read unlocked lock variable lockA unlocke d Thread 1 TX cx optimistic lockA modify data if condition



Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view Solving Difficult HTM Problems Without Difficult Hardware and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Solving Difficult HTM Problems Without Difficult Hardware and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?