Tolerating Asymmetric Data Races with Unintrusive...
Transcript of Tolerating Asymmetric Data Races with Unintrusive...
![Page 1: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/1.jpg)
Pacman:Tolerating Asymmetric Data Races
with Unintrusive HardwareShanxiang Qi, Norimasa Otsuki*, Lois Orosa Nogueira**, Abdullah Muzahid and
Josep Torrellas
Department of Computer ScienceUniversity of Illinois at Urbana-Champaign
http://iacoma.cs.uiuc.edu
*Renesas Electronics Corporation, Japan**Universidade de Santiago de Compostela, Spain
1
University
of Illinoishttp://iacoma.cs.uiuc.edu/
Friday, March 9, 12
![Page 2: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/2.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Data Race
✤ Two threads access same variable without intervening sync
✤ At least one is write
✤ Data races are very common; some are more harmful than others
✤ Must focus on removing the harmful ones --> those in bug reports
Data Races
HarmfulBugs
2
T1
rd x
T2
wr x
Friday, March 9, 12
![Page 3: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/3.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Asymmetric Data Race
T1
Lockif(pointer !=NULL){
pointer->x = X1;pointer->y = X2;}
Unlock
T2
pointer = NULL;
✤ Data race where at least one of the threads is inside a critical section
3
Safe
Thre
adUns
afe
Thre
ad
Friday, March 9, 12
![Page 4: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/4.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Importance✤ Asymmetric data races are likely harmful
✤ The data being corrupted is data protected in a critical section
✤ Asymmetric data races are common
✤ 20% of reported harmful data races are asymmetric
✤ A Microsoft report confirmed this problem
✤ Third party drivers
✤ Legacy single-threaded libraries
4
Friday, March 9, 12
![Page 5: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/5.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Contributions✤ Quantitative evidence to show asymmetric data races are harmful and
common
✤ Pacman: a scheme to prevent asymmetric races in production runs
✤ Unintrusive hardware support
✤ Negligible execution overhead
✤ No changes to the software
✤ Discovered two unreported asymmetric race bugs
5
Friday, March 9, 12
![Page 6: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/6.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Outline
✤ Motivation
✤ Study of Asymmetric Races
✤ Pacman Design
✤ Evaluation
✤ Conclusions
6
Friday, March 9, 12
![Page 7: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/7.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Study of Harmful Races
✤ Collected 50 races from open source bug libraries and reports
➡ servers
➡ desktop apps
➡ OS & libraries
Apps. Description
Apache Web Server
MySQL Database sever
Mozilla Browser
Pbzip2 Parallel bzip2
Redhat glibc libraryJAVA SDK
Windows Kernellibcprops C library
Ser
ver
Desktop
OS
&
libra
ries
7
Friday, March 9, 12
![Page 8: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/8.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Asymmetric Data Races are Common
✤ 10 out of 50 harmful data races are asymmetric races
Application Source OutcomeApache Bug# 1507 ExceptionMySQL Bug# 48930 System hangs
Mozilla-JS Bug# 622691 Incorrect resultMozilla-XPConnect Bug# 557586 Segmentation faultMozilla-Video/Audio Bug# 639721 Incorrect result
Pbzip2 Report Segmentation faultWindows Report Incorrect resultWindows Report Incorrect resultWindows Report Incorrect resultLibcprops Report Incorrect result
8
Friday, March 9, 12
![Page 9: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/9.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Outline
✤ Motivation
✤ Study of Asymmetric Races
✤ Pacman Design
✤ Evaluation
✤ Conclusions
9
Friday, March 9, 12
![Page 10: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/10.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
✤ Preventing versus detecting bugs✤ All users benefit, not just programmers✤ No need to wait for lengthy bug-fixing cycles
✤ No training phase✤ Hard to define “correct” run
10
Design Philosophy
✤ Goal: Prevent asymmetric data races in production runs with no training.
Friday, March 9, 12
![Page 11: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/11.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Main Idea✤ Leverage hardware cache coherence to temporarily protect the variables
being accessed in a critical section
11
T1 T2Acquire(L)
Release(L)
wr x
rd x
wr xNac
k
Friday, March 9, 12
![Page 12: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/12.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Allowed Interleaving Accesses12
T1
Acquire(L)
Release(L)
rd x
T2
wr x
wr xrd x
Friday, March 9, 12
![Page 13: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/13.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Allowed Interleaving Accesses13
T1
Acquire(L)
Release(L)
wr x
T2
rd x
rd xwr x
Friday, March 9, 12
![Page 14: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/14.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Overall System
✤ Pacman module: watches the traffic✤ Associated with the bus controller or directory controller✤ Summarizes addresses in hardware signatures
14
$
P $
P $
P $
P
Memory Pacman Module
Network
PacmanModule
Friday, March 9, 12
![Page 15: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/15.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Hardware Signature
✤ Bloom filter that accumulates addresses ✤ Summarizes the footprint of a piece of code (critical section)✤ Inexpensive operations on groups of addresses
15
Friday, March 9, 12
![Page 16: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/16.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Example
✤ Thread enters a critical section to be protected✤ HW informs the Pacman module✤ Pacman module allocates a signature + inserts L
16
T1 T2
Acquire(L)
Release(L)
wr xrd x/ wrx
PID SignatureT1 Sig(L)
Pacman Module
Friday, March 9, 12
![Page 17: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/17.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
✤ For every cache miss/coherence transaction from the safe thread ✤ HW adds address to signature
T1 T2
Acquire(L)
Release(L)
wr xrd x/ wrx
PID SignatureT1 Sig(L, )x
17
Example
Pacman Module
Friday, March 9, 12
![Page 18: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/18.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
✤ Every cache miss/coherence transaction from unsafe thread ✤ HW checks the signature✤ If match, bounce it (the processor will retry)
T1 T2
Acquire(L)
Release(L)
wr xrd x/ wrx
PID SignatureT1 Sig(L, x)
Nack
rd x/ wrx
18
Example
Pacman Module
Friday, March 9, 12
![Page 19: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/19.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
✤ Release the lock✤ HW deallocates the entry
T1 T2
Acquire(L)
Release(L)
wr x
PID SignatureT1 Sig(L, x)
19
Example
rd x/ wrx
Pacman Module
Friday, March 9, 12
![Page 20: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/20.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Issues✤ Cache effects
✤ Pacman Module does not see the accesses intercepted by the caches
✤ Deadlocks
✤ Two or more processors Nack each other
20
Friday, March 9, 12
![Page 21: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/21.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Cache State Before Entering the Critical Section
✤ Data accessed in the critical section may already be cached in the safe processor in a “silent” state
21
T1
Acquire(L)
x: D in cache
wr x
Release(L)
T2
rd x
Write-back, insert in signature and Nack requester
T1 T2
Acquire(L)rd x
Release(L)wr x
x: S in cache
Invalidate, insert in signatureand Nack requester
Friday, March 9, 12
![Page 22: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/22.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Cache Displacements During the Critical Section (CS)
✤ Data displaced from the cache while executing a monitored CS✤ May have been silently accessed✤ Must be conservatively placed in the signature
✤ If dirty line --> line naturally written back✤ If clean line --> issue a notification signal
✤ Inside a monitored CS, put the cache in Notification mode
22
Acquire(L)
CacheRelease(L)
...
Network
Friday, March 9, 12
![Page 23: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/23.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Deadlocks23
✤ Occurs in race bugs where all the threads synchronize
✤ Cross-thread stall cycle: no thread makes progress
Friday, March 9, 12
![Page 24: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/24.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
✤ Add one extra field in each entry of the Pacman Module
24
Breaking the Deadlock
PID Stall_index Signature
✤ Detect a cycle in hardware immediately
✤ Break the cycle right away
✤ Allow one of the threads to perform one access without Nack
✤ May break the atomicity of one of the critical sections
i j
j i
Ti Tj
Friday, March 9, 12
![Page 25: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/25.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Advantages of Pacman✤ Since goal is to prevent races:
✤ Ok to have false positives (as long as little slowdown)
✤ Simpler hardware is enough (no epoch IDs, etc)
✤ No software changes:
✤ Synch primitives changed but hidden in library calls
✤ Usable as primitive for security and debugging
25
Friday, March 9, 12
![Page 26: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/26.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Limitations✤ Requires identifying critical section entry and exit points
✤ Not designed for certain unusual types of critical sections
✤ Very large critical sections
✤ Spinning on flag inside a critical section
26
Friday, March 9, 12
![Page 27: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/27.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Outline
✤ Motivation
✤ Study of Asymmetric Races
✤ Pacman Design
✤ Evaluation
✤ Conclusions
27
Friday, March 9, 12
![Page 28: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/28.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Evaluation Setup✤ Use Pin instrumentation + SESC simulator
✤ Simulate CMP with 4 or 8 processors, snoopy-based MESI
✤ Evaluate on SPLASH-2, PARSEC, Sphinx3 and Apache
✤ Find two real bugs
28
Friday, March 9, 12
![Page 29: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/29.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Characterizing Critical Sections
✤ Critical sections are small✤ Critical sections account for only 0.24% of total dynamic instructions
29
0
30
60
90
120
SPLASH-2 Kernels
SPLASH-2 AppsPARSEC Kernels
PARSEC AppsApache&Sphinx3
Average
#Dynamic Insts per Critical Section(Avg)
Friday, March 9, 12
![Page 30: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/30.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
✤ Sources of execution overhead in Pacman✤ Processes are Nacked and have to retry✤ Extra traffic: notifications and retries
30
Execution Time Overhead of Pacman
✤ Pacman performance overhead is negligible✤ Very few false positives
0"
0.05"
0.1"
0.15"
0.2"
0.25"
0.3"
0.35"
0.4"
0.45"
1" 4" 8"
Execu&
on)Tim
e)Overhead)(%
))
Number)of)Threads)
Average"of"the"applica8ons"
Friday, March 9, 12
![Page 31: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/31.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Unreported Bug from FMM31
T1 T2
pb = b->parent
Lock
pb->subtree_cost += b->subtree_cost;
Unlock
pb->interaction_sync +=1; b->interaction_sync =0;
pb->subtree_cost += b->subtree_cost;
Friday, March 9, 12
![Page 32: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/32.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Also in the Paper✤ Implementation of Pacman
✤ Virtualization
✤ Extensions for multithreaded processors
✤ Pacman Module for directory protocol
32
Friday, March 9, 12
![Page 33: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/33.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Software Schemes to Tolerate Asymmetric Data Race
✤ ToleRace [PPOPP’09], ISOLATOR [ASPLOS’09]
✤ When safe thread enters critical section
✤ Software makes copy of the data and redirects safe thread to access the copy
✤ May also change the page protections
✤ Limitations
✤ Significant slowdown
✤ Requires significant software changes
✤ May induce inconsistent execution or new deadlocks
33
Friday, March 9, 12
![Page 34: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/34.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Conclusion✤ Quantitative study of asymmetric data races
✤ Pacman: hardware scheme to prevent asymmetric data races in production runs
✤ Unintrusive hardware support
✤ Negligible execution overhead
✤ No changes to the software
✤ Discovered two unreported asymmetric race bugs
34
Friday, March 9, 12
![Page 35: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/35.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Thank You!
35
Friday, March 9, 12
![Page 36: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/36.jpg)
Pacman:Tolerating Asymmetric Data Races
with Unintrusive HardwareShanxiang Qi, Norimasa Otsuki*, Lois Orosa Nogueira**, Abdullah Muzahid and
Josep Torrellas
Department of Computer ScienceUniversity of Illinois at Urbana-Champaign
http://iacoma.cs.uiuc.edu
*Renesas Electronics Corporation, Japan**Universidade de Santiago de Compostela, Spain
36
University
of Illinoishttp://iacoma.cs.uiuc.edu/
Friday, March 9, 12
![Page 37: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/37.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
37
Backup Slide
Friday, March 9, 12
![Page 38: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/38.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Evaluation
University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
38
Friday, March 9, 12
![Page 39: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/39.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Detecting vs. Tolerating Detecting data
raceTolerating data
race
Program users
HW Support
Correctness (program)
False positive(races&bugs)
39
Friday, March 9, 12
![Page 40: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/40.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
Basic Protocol
SigTable
Pid Signature NestingLevel
40
Friday, March 9, 12
![Page 41: Tolerating Asymmetric Data Races with Unintrusive Hardwareiacoma.cs.uiuc.edu/iacoma-papers/PRES/present_hpca12_2.pdfsource bug libraries and reports servers desktop apps OS & libraries](https://reader034.fdocuments.net/reader034/viewer/2022052010/60209c4b1b3bf36cc011ed24/html5/thumbnails/41.jpg)
Pacman: Tolerating Asymmetric Races University
of Illinoishttp://iacoma.cs.uiuc.edu/Shanxiang Qi
PID Signature Stall_index Lock_acquire?
0
1
Index
T0
T1
Sig(L0,g0) 1 1
Sig(L1) 0 0
Sig(L0)
41
Breaking the Deadlock
Friday, March 9, 12