23
Requests
Requests
from Web
from Web
Switch
Switch
Coscheulded
Main
Main
Remote
Remote
Cache
Cache
r
Recv
Send
r
e
e
y
y
a
VIA
a
r L
r L
e s Disk
Disk
e s
U Helper
Coscheulded
Helper U
Remote
Remote
Cache
Cache
Send
Recv
r
r
e
e
y
y
a
a
l L
Coscheduling Modules
Coscheduling Modules
l L
e
e
Linux Scheduler
r n
Linux Scheduler
r n
e
e
K
K
Fig. 3.2. Coscheduled PRESS Model
node, the corresponding process at that node is coscheduled with the hope that both the
sender and receiver are scheduled simultaneously for efficient communication. Thus, in
our model, whenever a remote cache read request arrives at the corresponding send queue
of the remote cache send process, the remote cache send process pushes this request to
the network using VIA and waits (spins) until the response arrives from the service node.
When the request arrives at the service node (actually in the NIC), the corresponding
remote cache recv process is scheduled using the DCS coscheduling policy.
Note that without this coscheduling scheme, in the PRESS model, the remote cache recv
process has to wait until the Linux scheduler assigns the CPU to it. The remote cache recv
process in the service node sends the requested file from its local cache to the initial node
whose remote cache send process is also coscheduled. If there is no jobs to process, the
remote cache recv process returns to the blocking state. After receiving the reply, the