additionally
Additionally, threads are more amenable to compiler-based enhancement.
各Sectionを主語として説明。
Section 2 compares ~
Next, Section 3 explains ~
Section 4 explores ~
In Section 5, we validate our approach
Finally, Section 6 covers
Section 7 concludes
Section 2 compares ~ 関連研究
Section 3 explains ~ モチベーションの説明
Section 4 explores ~ 手法の説明
Section 5 validate ~ 評価
Section 6 covers ~ 関連研究
Section 7 conclude ~ まとめ
attempt
We attempted to end the discussion.
by ~ing
Lauer and Needham attempted to end the discussion in 1978 by showing that message-passing systems and process-based system are dual.
nonetheless
Nonetheless, in recent years many authors have decleared the need for event-driven programming for highly concurrent systems.
describe
Lauer and Needham describe canonical threaded and message-passing.
yield
These two approach should yield equivalent performance.
In fact
In fact, the only event system that really matches their canonical message-passing system.
demonstrate
We demonstrate one in the next section.
essentially
The lauer-Needham duality argument essentially says that duals have the same graph.
below
We examine the most common criticism below.
dispute
We don’t dispute this criticism.
However
However, these shortcomings are not intrinsic properties of threads.
intrinsic
These shortcomings are not intrinsic properties of threads.
shortcoming
These shortcomings are not intrinsic properties of threads.
To illustrate this fact,
To illustrate this fact, we repeated the SEDA threaded server benchmark.
potentially
One argument against threaded programming is that it encourages the programmer to think too linearly about control flow, potentially precludig the use of more efficient control flow patterns.
in practice
Complicated control flow patterns are rare in practice.
indeed
Indeed, it is no coincidence that common event patterns map cleanly onto the call/return mechanism of threads.
thus
Thus, they need a “return” event in the event model.
; (セミコロン)
The only patterns we considered that are less graceful with threads are dynamic fan-in and fan-out; such patterns might occur with multicast or publish/subscribe applications.
since
Event systems often claim as an advantage that cooperative multitasking gives them synchronization “for free,” since the runtime system does not need to provide mutexes, handle wait queues, and so on.
reap
Cooperative thread systems can reap the same benefits.
benefit
Cooperative thread system can reap the same benefits.
whereas
It is important to note that in either regime, cooperative multitasking only provides “free” synchronization on uniprocessors, whereas many high-concurrency servers run on multiprocessors.
Threaded systems typically face a tradeoff between risking stack overflow and wasting virtual address space on large stacks.
In contrast
In contrast, thread systems provide automatic state management via the call stack.
へんせ
Hence, the application can perform shortest remaining completion time scheduling.