Changeset 35a9e41
- Timestamp:
- Jun 30, 2018, 3:17:47 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- 73de175
- Parents:
- adb60242
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/papers/concurrency/Paper.tex
radb60242 r35a9e41 764 764 }; 765 765 void main( Format & fmt ) with( fmt ) { 766 for ( ;; ) { 766 for ( ;; ) { 767 767 for ( g = 0; g < 5; g += 1 ) { // group 768 768 for ( b = 0; b < 4; b += 1 ) { // block … … 1546 1546 A thread blocks until an appropriate partner arrives. 1547 1547 The complexity is exchanging phone numbers in the monitor because of the mutual-exclusion property. 1548 For signal scheduling, the @exchange@ condition is necessary to block the thread finding the match, while the matcher unblocks to take the opposite number, post its phone number, and unblock the partner. 1548 For signal scheduling, the @exchange@ condition is necessary to block the thread finding the match, while the matcher unblocks to take the opposite number, post its phone number, and unblock the partner. 1549 1549 For signal-block scheduling, the implicit urgent-queue replaces the explict @exchange@-condition and @signal_block@ puts the finding thread on the urgent condition and unblocks the matcher. 1550 1550 … … 2228 2228 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} &\multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2229 2229 \hline 2230 Kernel Thread & 241.5 & 243.86 & 5.08\\2231 \CFA Coroutine & 38 & 38 & 0\\2232 \CFA Thread & 10 3 & 102.96 & 2.96\\2233 \uC Coroutine & 4 6 & 45.86 & 0.35\\2234 \uC Thread & 98 & 99.11 & 1.42\\2235 Goroutine & 1 50 & 149.96 & 3.16\\2236 Java Thread & 289 & 290.68& 8.72 \\2230 Kernel Thread & 333.5 & 332.96 & 4.1 \\ 2231 \CFA Coroutine & 49 & 48.68 & 0.47 \\ 2232 \CFA Thread & 105 & 105.57 & 1.37 \\ 2233 \uC Coroutine & 44 & 44 & 0 \\ 2234 \uC Thread & 100 & 99.29 & 0.96 \\ 2235 Goroutine & 145 & 147.25 & 4.15 \\ 2236 Java Thread & 373.5 & 375.14 & 8.72 \\ 2237 2237 \hline 2238 2238 \end{tabular} … … 2263 2263 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} &\multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2264 2264 \hline 2265 C routine & 2 & 2& 0 \\2266 FetchAdd + FetchSub 2267 Pthreads Mutex Lock & 31 & 31.86 & 0.99\\2268 \uC @monitor@ member routine & 3 0 & 30& 0 \\2269 \CFA @mutex@ routine, 1 argument & 4 1 & 41.57 & 0.9\\2270 \CFA @mutex@ routine, 2 argument & 76 & 76.96 & 1.57\\2271 \CFA @mutex@ routine, 4 argument & 1 45 & 146.68 & 3.85\\2272 Java synchronized routine & 27 & 28.57 & 2.6\\2265 C routine & 2 & 2 & 0 \\ 2266 FetchAdd + FetchSub & 26 & 26 & 0 \\ 2267 Pthreads Mutex Lock & 31 & 31.71 & 0.97 \\ 2268 \uC @monitor@ member routine & 31 & 31 & 0 \\ 2269 \CFA @mutex@ routine, 1 argument & 46 & 46.68 & 0.93 \\ 2270 \CFA @mutex@ routine, 2 argument & 84 & 85.36 & 1.99 \\ 2271 \CFA @mutex@ routine, 4 argument & 158 & 161 & 4.22 \\ 2272 Java synchronized routine & 27.5 & 29.79 & 2.93 \\ 2273 2273 \hline 2274 2274 \end{tabular} … … 2327 2327 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} &\multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2328 2328 \hline 2329 Pthreads Condition Variable & 5902.5 & 6093.29 & 714.78\\2330 \uC @signal@ & 32 2 & 323 & 3.36\\2331 \CFA @signal@, 1 @monitor@ & 3 52.5 & 353.11 & 3.66\\2332 \CFA @signal@, 2 @monitor@ & 4 30 & 430.29 & 8.97\\2333 \CFA @signal@, 4 @monitor@ & 594.5 & 606.57 & 18.33 \\2334 Java @notify@ & 1 3831.5 & 15698.21 & 4782.3\\2329 Pthreads Condition Variable & 6005 & 5681.43 & 835.45 \\ 2330 \uC @signal@ & 324 & 325.54 & 3,02 \\ 2331 \CFA @signal@, 1 @monitor@ & 368.5 & 370.61 & 4.77 \\ 2332 \CFA @signal@, 2 @monitor@ & 467 & 470.5 & 6.79 \\ 2333 \CFA @signal@, 4 @monitor@ & 700.5 & 702.46 & 7.23 \\ 2334 Java @notify@ & 15471 & 172511 & 5689 \\ 2335 2335 \hline 2336 2336 \end{tabular} … … 2378 2378 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} &\multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2379 2379 \hline 2380 \uC @_Accept@ & 35 0 & 350.61 & 3.11\\2381 \CFA @waitfor@, 1 @monitor@ & 35 8.5 & 358.36 & 3.82\\2382 \CFA @waitfor@, 2 @monitor@ & 4 22 & 426.79 & 7.95\\2383 \CFA @waitfor@, 4 @monitor@ & 579.5 & 585.46 & 11.25\\2380 \uC @_Accept@ & 358 & 359.11 & 2.53 \\ 2381 \CFA @waitfor@, 1 @monitor@ & 359 & 360.93 & 4.07 \\ 2382 \CFA @waitfor@, 2 @monitor@ & 450 & 449.39 & 6.62 \\ 2383 \CFA @waitfor@, 4 @monitor@ & 652 & 655.64 & 7.73 \\ 2384 2384 \hline 2385 2385 \end{tabular} … … 2410 2410 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} & \multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2411 2411 \hline 2412 Pthreads & 2 6996 & 26984.71 & 156.6\\2413 \CFA Coroutine Lazy & 6 & 5.71 & 0.45\\2414 \CFA Coroutine Eager & 708 & 706.68 & 4.82\\2415 \CFA Thread & 1173.5 & 1176.18 & 15.18\\2416 \uC Coroutine & 10 9 & 107.46 & 1.74\\2417 \uC Thread & 5 26 & 530.89 & 9.73\\2418 Goroutine & 2520.5 & 2530.93 & 61.56\\2419 Java Thread & 91114.5 & 92272.79 & 961.58\\2412 Pthreads & 28091 & 28073.39 & 163.1 \\ 2413 \CFA Coroutine Lazy & 6 & 6.07 & 0.26 \\ 2414 \CFA Coroutine Eager & 520 & 520.61 & 2.04 \\ 2415 \CFA Thread & 2032 & 2016.29 & 112.07 \\ 2416 \uC Coroutine & 106 & 107.36 & 1.47 \\ 2417 \uC Thread & 536.5 & 537.07 & 4.64 \\ 2418 Goroutine & 3103 & 3086.29 & 90.25 \\ 2419 Java Thread & 103416.5 & 103732.29 & 1137 \\ 2420 2420 \hline 2421 2421 \end{tabular}
Note: See TracChangeset
for help on using the changeset viewer.