- Timestamp:
- Jun 30, 2018, 3:56:54 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:
- 22cf65e
- Parents:
- 2ebcb28 (diff), 35a9e41 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/papers/concurrency/Paper.tex
r2ebcb28 r73de175 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 … … 2229 2229 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} &\multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2230 2230 \hline 2231 Kernel Thread & 241.5 & 243.86 & 5.08\\2232 \CFA Coroutine & 38 & 38 & 0\\2233 \CFA Thread & 10 3 & 102.96 & 2.96\\2234 \uC Coroutine & 4 6 & 45.86 & 0.35\\2235 \uC Thread & 98 & 99.11 & 1.42\\2236 Goroutine & 1 50 & 149.96 & 3.16\\2237 Java Thread & 289 & 290.68& 8.72 \\2231 Kernel Thread & 333.5 & 332.96 & 4.1 \\ 2232 \CFA Coroutine & 49 & 48.68 & 0.47 \\ 2233 \CFA Thread & 105 & 105.57 & 1.37 \\ 2234 \uC Coroutine & 44 & 44 & 0 \\ 2235 \uC Thread & 100 & 99.29 & 0.96 \\ 2236 Goroutine & 145 & 147.25 & 4.15 \\ 2237 Java Thread & 373.5 & 375.14 & 8.72 \\ 2238 2238 \hline 2239 2239 \end{tabular} … … 2264 2264 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} &\multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2265 2265 \hline 2266 C routine & 2 & 2& 0 \\2267 FetchAdd + FetchSub 2268 Pthreads Mutex Lock & 31 & 31.86 & 0.99\\2269 \uC @monitor@ member routine & 3 0 & 30& 0 \\2270 \CFA @mutex@ routine, 1 argument & 4 1 & 41.57 & 0.9\\2271 \CFA @mutex@ routine, 2 argument & 76 & 76.96 & 1.57\\2272 \CFA @mutex@ routine, 4 argument & 1 45 & 146.68 & 3.85\\2273 Java synchronized routine & 27 & 28.57 & 2.6\\2266 C routine & 2 & 2 & 0 \\ 2267 FetchAdd + FetchSub & 26 & 26 & 0 \\ 2268 Pthreads Mutex Lock & 31 & 31.71 & 0.97 \\ 2269 \uC @monitor@ member routine & 31 & 31 & 0 \\ 2270 \CFA @mutex@ routine, 1 argument & 46 & 46.68 & 0.93 \\ 2271 \CFA @mutex@ routine, 2 argument & 84 & 85.36 & 1.99 \\ 2272 \CFA @mutex@ routine, 4 argument & 158 & 161 & 4.22 \\ 2273 Java synchronized routine & 27.5 & 29.79 & 2.93 \\ 2274 2274 \hline 2275 2275 \end{tabular} … … 2328 2328 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} &\multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2329 2329 \hline 2330 Pthreads Condition Variable & 5902.5 & 6093.29 & 714.78\\2331 \uC @signal@ & 32 2 & 323 & 3.36\\2332 \CFA @signal@, 1 @monitor@ & 3 52.5 & 353.11 & 3.66\\2333 \CFA @signal@, 2 @monitor@ & 4 30 & 430.29 & 8.97\\2334 \CFA @signal@, 4 @monitor@ & 594.5 & 606.57 & 18.33 \\2335 Java @notify@ & 1 3831.5 & 15698.21 & 4782.3\\2330 Pthreads Condition Variable & 6005 & 5681.43 & 835.45 \\ 2331 \uC @signal@ & 324 & 325.54 & 3,02 \\ 2332 \CFA @signal@, 1 @monitor@ & 368.5 & 370.61 & 4.77 \\ 2333 \CFA @signal@, 2 @monitor@ & 467 & 470.5 & 6.79 \\ 2334 \CFA @signal@, 4 @monitor@ & 700.5 & 702.46 & 7.23 \\ 2335 Java @notify@ & 15471 & 172511 & 5689 \\ 2336 2336 \hline 2337 2337 \end{tabular} … … 2379 2379 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} &\multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2380 2380 \hline 2381 \uC @_Accept@ & 35 0 & 350.61 & 3.11\\2382 \CFA @waitfor@, 1 @monitor@ & 35 8.5 & 358.36 & 3.82\\2383 \CFA @waitfor@, 2 @monitor@ & 4 22 & 426.79 & 7.95\\2384 \CFA @waitfor@, 4 @monitor@ & 579.5 & 585.46 & 11.25\\2381 \uC @_Accept@ & 358 & 359.11 & 2.53 \\ 2382 \CFA @waitfor@, 1 @monitor@ & 359 & 360.93 & 4.07 \\ 2383 \CFA @waitfor@, 2 @monitor@ & 450 & 449.39 & 6.62 \\ 2384 \CFA @waitfor@, 4 @monitor@ & 652 & 655.64 & 7.73 \\ 2385 2385 \hline 2386 2386 \end{tabular} … … 2411 2411 \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{Median} & \multicolumn{1}{c|}{Average} & \multicolumn{1}{c|}{Std Dev} \\ 2412 2412 \hline 2413 Pthreads & 2 6996 & 26984.71 & 156.6\\2414 \CFA Coroutine Lazy & 6 & 5.71 & 0.45\\2415 \CFA Coroutine Eager & 708 & 706.68 & 4.82\\2416 \CFA Thread & 1173.5 & 1176.18 & 15.18\\2417 \uC Coroutine & 10 9 & 107.46 & 1.74\\2418 \uC Thread & 5 26 & 530.89 & 9.73\\2419 Goroutine & 2520.5 & 2530.93 & 61.56\\2420 Java Thread & 91114.5 & 92272.79 & 961.58\\2413 Pthreads & 28091 & 28073.39 & 163.1 \\ 2414 \CFA Coroutine Lazy & 6 & 6.07 & 0.26 \\ 2415 \CFA Coroutine Eager & 520 & 520.61 & 2.04 \\ 2416 \CFA Thread & 2032 & 2016.29 & 112.07 \\ 2417 \uC Coroutine & 106 & 107.36 & 1.47 \\ 2418 \uC Thread & 536.5 & 537.07 & 4.64 \\ 2419 Goroutine & 3103 & 3086.29 & 90.25 \\ 2420 Java Thread & 103416.5 & 103732.29 & 1137 \\ 2421 2421 \hline 2422 2422 \end{tabular}
Note: See TracChangeset
for help on using the changeset viewer.