Check out the new USENIX Web site. next up previous
Next: Microbenchmarks Up: CANS: Composable, Adaptive Network Previous: Planning and Global Reconfiguration


Experience with Using CANS

We have been experimenting with a prototype CANS implementation on Windows 2000 clients and Java capable intermediate hosts, which currently emphasizes functionality and correctness over performance. Both the execution environment (EE) and driver components are written in Java. The interception layer described in Section 3.4 makes use of the Detours toolkit [11] to divert required application functions by rewriting portions of the memory code image. To set up the plan, the interception layer interacts with the plan manager on a distinguished EE, which in turn builds the plan, partitions it, and downloads plan fragments to individual environments. Interactions between different EEs make use of Java/RMI. Data transmissions between components, which are more performance critical, makes use of the communication adapters described in Section 3.3. In this section, we first describe microbenchmarks reflecting overheads of using the CANS infrastructure, and then a larger case study that evaluates its flexibility.

Figure 7: Case study: MediaPlayer with CANS infrastructure and the components added in each stage.
\begin{figure*}
\centerline{\psfig{figure=case.eps,height=2.0in}}
\end{figure*}



Subsections
next up previous
Next: Microbenchmarks Up: CANS: Composable, Adaptive Network Previous: Planning and Global Reconfiguration
Weisong Shi 2001-01-08