Previous Up Next

Cycles up to four threads, free and atomised

The last series exercises the following result, which we also establish as a theorem about the model: when all accesses of a test are implemented with FNO or STA, then the test only has SC behaviours. We tested this on a restricted subset of our plain tests, namely the 68 that exhibit a violation of SC via a critical cycle, and that have up to 4 threads. Running those tests on hardware showed no non-SC behaviour, consistent with the model’s prediction as captured by the theorem.

In the following table, kinds are Allow for plain tests and Forbid for the tests with FNO and STA, not model output.

 KindModelPowerG5Power6Power7
2+2WAllow=Ok, 2.1M/6.3GOk, 251M/33GOk, 29G/894G
2+2W+poaasForbid=Ok, 0/472MOk, 0/4.3GOk, 0/6.9G
MPAllow=Ok, 10M/4.9GOk, 6.5M/29GOk, 1.7G/167G
MP+poaasForbid=Ok, 0/484MOk, 0/4.4GOk, 0/7.5G
SBAllow=Ok, 102M/4.9GOk, 1.9G/26GOk, 11G/167G
SB+poaasForbid=Ok, 0/476MOk, 0/4.4GOk, 0/6.9G
LBAllow=No, 0/7.4GNo, 0/37GNo, 0/258G
   Allow unseenAllow unseenAllow unseen
LB+poaasForbid=Ok, 0/476MOk, 0/3.3GOk, 0/6.9G
RAllow=Ok, 45M/1.9GOk, 263M/7.3GOk, 47M/4.5G
R+poaasForbid=Ok, 0/476MOk, 0/4.3GOk, 0/6.9G
SAllow=Ok, 250/2.3GOk, 129k/8.3GOk, 1.7M/14G
S+poaasForbid=Ok, 0/476MOk, 0/4.4GOk, 0/6.9G
WRCAllow=Ok, 44k/2.7GOk, 1.2M/13GOk, 25M/104G
WRC+poaas+AForbidOk, 0/236MOk, 0/2.8GOk, 0/4.4G
RWCAllow=Ok, 883k/1.2GOk, 7.4M/4.2GOk, 118M/24G
RWC+poaas+AForbidOk, 0/236MOk, 0/2.8GOk, 0/4.4G
WWCAllow=No, 0/1.5GOk, 70k/9.0GOk, 53k/50G
   Allow unseen  
WWC+poaas+AForbidOk, 0/235MOk, 0/2.8GOk, 0/4.4G
WRW+2WAllow=Ok, 4/2.1GOk, 540k/5.6GOk, 7.1M/33G
WRW+2W+poaas+AForbidOk, 0/235MOk, 0/2.8GOk, 0/4.4G
WRR+2WAllow=Ok, 432k/1.0GOk, 2.4M/4.1GOk, 42M/16G
WRR+2W+poaas+AForbidOk, 0/235MOk, 0/2.8GOk, 0/4.4G
WRW+WRAllow=Ok, 132k/1.1GOk, 3.1M/4.1GOk, 15M/16G
WRW+WR+poaas+AForbidOk, 0/235MOk, 0/2.8GOk, 0/4.4G
3.2WAllowOk, 1.0k/661MOk, 9.3M/1.7GOk, 29M/4.0G
3.2W+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
3.SBAllow=Ok, 1.4M/622MOk, 91M/1.7GOk, 73M/4.0G
3.SB+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
3.LBAllow=No, 0/888MNo, 0/3.6GNo, 0/9.2G
   Allow unseenAllow unseenAllow unseen
3.LB+poaasForbidOk, 0/230MOk, 0/1.9GOk, 0/4.1G
ISA2Allow=Ok, 3/91MOk, 72/26MOk, 1.0k/3.8M
ISA2+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
W+RWCAllow=Ok, 457k/623MOk, 20M/1.7GOk, 40M/4.0G
W+RWC+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
Z6.0Allow=Ok, 175k/704MOk, 6.3M/1.7GOk, 13M/4.0G
Z6.0+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
Z6.1AllowOk, 27/758MOk, 2.1M/1.7GOk, 6.9M/4.0G
Z6.1+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
Z6.2Allow=No, 0/888MOk, 43k/1.8GOk, 1.2M/4.2G
   Allow unseen  
Z6.2+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
Z6.3Allow=Ok, 71k/651MOk, 5.0M/1.7GOk, 26M/4.0G
Z6.3+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
Z6.4Allow=Ok, 1.1M/622MOk, 53M/1.7GOk, 66M/4.0G
Z6.4+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
Z6.5AllowOk, 383k/622MOk, 25M/1.7GOk, 41M/4.0G
Z6.5+poaasForbidOk, 0/230MOk, 0/2.6GOk, 0/4.1G
IRIWAllow=Ok, 220k/2.6GOk, 1.3M/13GOk, 16M/83G
IRIW+poaas+AAForbidOk, 0/230MOk, 0/2.2GOk, 0/3.4G
IRRWIWAllow=Ok, 18k/739MOk, 22k/1.7GOk, 57k/3.3G
IRRWIW+poaas+AAForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
IRWIWAllowNo, 0/888MOk, 1.0k/1.8GOk, 3.8k/3.5G
   Allow unseen  
IRWIW+poaas+AAForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RR+WR+WRAllowOk, 112k/91MOk, 4.7k/790kOk, 4.7k/435k
W+RR+WR+WR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RR+WR+WWAllowOk, 30k/91MOk, 2.4k/900kOk, 606/435k
W+RR+WR+WW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RR+WW+RRAllowOk, 75/91MOk, 222/1.0MOk, 140/1.3M
W+RR+WW+RR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RR+WW+RWAllowOk, 12k/91MOk, 165/965kOk, 50/2.0M
W+RR+WW+RW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RR+WW+WRAllowOk, 47k/91MOk, 1.8k/995kOk, 1.0k/440k
W+RR+WW+WR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RR+WW+WWAllowOk, 32/91MOk, 103/3.2MOk, 42/1.5M
W+RR+WW+WW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+RR+WRAllowOk, 4.0k/91MOk, 156/925kOk, 184/550k
W+RW+RR+WR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+RR+WWAllowOk, 471/110MOk, 9/39MOk, 20/38M
W+RW+RR+WW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+RW+RRAllowOk, 3/132MOk, 10/36MOk, 8/175M
W+RW+RW+RR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+RW+RWAllowNo, 0/230MOk, 5/184MOk, 5/496M
   Allow unseen  
W+RW+RW+RW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+RW+WRAllowOk, 171/91MOk, 121/1.1MOk, 54/705k
W+RW+RW+WR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+RW+WWAllowNo, 0/230MOk, 8/37MOk, 11/40M
   Allow unseen  
W+RW+RW+WW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+WR+WRAllowOk, 6.9k/91MOk, 3.5k/790kOk, 2.5k/415k
W+RW+WR+WR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+WR+WWAllowOk, 11k/91MOk, 1.7k/950kOk, 449/585k
W+RW+WR+WW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+WW+RRAllowOk, 4/91MOk, 131/3.2MOk, 87/3.1M
W+RW+WW+RR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+WW+RWAllowNo, 0/230MOk, 37/28MOk, 19/100M
   Allow unseen  
W+RW+WW+RW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+WW+WRAllowOk, 6.1k/91MOk, 1.2k/985kOk, 545/710k
W+RW+WW+WR+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
W+RW+WW+WWAllowNo, 0/230MOk, 25/10MOk, 13/14M
   Allow unseen  
W+RW+WW+WW+poaas+AForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
4.2WAllowOk, 6/110MOk, 28/3.9MOk, 55/975k
4.2W+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
4.SBAllowOk, 48k/91MOk, 10k/745kOk, 12k/425k
4.SB+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
4.LBAllowNo, 0/230MNo, 0/1.6GNo, 0/3.2G
   Allow unseenAllow unseenAllow unseen
4.LB+poaasForbidOk, 0/230MOk, 0/1.6GOk, 0/3.2G
WW+RR+WR+WRAllowOk, 25k/91MOk, 2.8k/830kOk, 2.0k/405k
WW+RR+WR+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RR+WW+RRAllowOk, 24/91MOk, 85/1.5MOk, 76/1.9M
WW+RR+WW+RR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RR+WW+RWAllowOk, 176/110MOk, 131/8.6MOk, 20/2.3M
WW+RR+WW+RW+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RR+WW+WRAllowOk, 82k/91MOk, 911/860kOk, 404/495k
WW+RR+WW+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RW+RR+WRAllowOk, 2.0k/91MOk, 165/1.1MOk, 227/740k
WW+RW+RR+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RW+RW+RRAllowOk, 1/91MOk, 10/37MOk, 11/162M
WW+RW+RW+RR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RW+RW+RWAllowNo, 0/230MOk, 11/45MOk, 12/185M
   Allow unseen  
WW+RW+RW+RW+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RW+RW+WRAllowOk, 3.8k/91MOk, 75/1.0MOk, 42/1.0M
WW+RW+RW+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RW+WR+WRAllowOk, 18k/91MOk, 1.9k/850kOk, 874/455k
WW+RW+WR+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RW+WW+RWAllowNo, 0/230MOk, 135/22MOk, 9/163M
   Allow unseen  
WW+RW+WW+RW+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+RW+WW+WRAllowOk, 4.0k/91MOk, 810/1.0MOk, 126/575k
WW+RW+WW+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WR+WR+WRAllowOk, 113k/91MOk, 4.8k/810kOk, 5.4k/415k
WW+WR+WR+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WR+WW+WRAllowOk, 33k/91MOk, 3.6k/870kOk, 2.1k/480k
WW+WR+WW+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WW+RR+WRAllowOk, 41k/91MOk, 1.2k/915kOk, 321/485k
WW+WW+RR+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WW+RW+RRAllowOk, 2.7k/91MOk, 11/29MOk, 21/7.9M
WW+WW+RW+RR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WW+RW+RWAllowNo, 0/230MOk, 8/27MOk, 9/161M
   Allow unseen  
WW+WW+RW+RW+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WW+RW+WRAllowOk, 3.9k/91MOk, 816/855kOk, 74/570k
WW+WW+RW+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WW+WR+WRAllowOk, 18k/91MOk, 2.3k/895kOk, 1.4k/470k
WW+WW+WR+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WW+WW+RRAllowOk, 7/91MOk, 36/1.4MOk, 41/4.6M
WW+WW+WW+RR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WW+WW+RWAllowOk, 1/110MOk, 49/7.5MOk, 18/18M
WW+WW+WW+RW+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G
WW+WW+WW+WRAllowOk, 46k/91MOk, 745/880kOk, 901/520k
WW+WW+WW+WR+poaasForbidOk, 0/230MOk, 0/2.1GOk, 0/3.2G

Previous Up Next