Monday, December 9, 2013

CoNext HotMiddlebox: Towards Minimalistic, Virtualized Content Caches with Minicache

Simon Kuenzer, Joao Martins, Mohamed Ahmed, Felipe Huici

Presenter: Simon Kuenzer

Virtualized content cache is the topic of this current work. The motivation is the recent traffic analysis: e.g., 57% is video traffic. The projection is 69% by 2017. The issue is that using TCP for transmitting video does not perform well especially in long distance. So CDNs such as Akamai try to cache content near the customer. The drawback with this approach is that CDNs need to invest in ISPs to deploy content caches. So CDNs has started deploying micro data centers for themselves. Virtualized content caches require fast instantiable content caches.

The goal is to build is virtualized content cache using XEN. Both the kernel and user spaces parts are instrumented. The performance results w.r.t. throughput show that the throughput drops significantly when block I/O is done in kernel space over user space. The main reason for this drop is the intermediary layers. From Linux to Dom0 there is only a small drop. But the drop to the case of using DomU is significant.

The early prototype of minicache is presented. The throughput evaluation shows that the prototype can match the line rate. 

So in conclusion we can build a small (5MB) machine that boots in 30 milliseconds and can packetize data from block device and fill a 10Gbps rate. The next step would be adding support for HTTP servers, add filesystem to MiniOS/Minicache and optimize MiniOS's blkfron driver, and add scalability requirements for supporting more VMs and CPUs.

Q) your group is working on clickOS. what is different between clickOS and minicache?
A) Different use cases. Here the goal is a performant content delivery. Here also we need to work on different protocols such as HTTP. For example content caches and stacks are missing in clickOS but are needed here.

Q) The future work list seems scary as they might violate minimal increments. 
A) Still it is more minimalistic as compared to Linux. Because it is more specialized geared toward high performance.

Q) re the above question: any comparison in terms of lines of code etc?
A) We'll compute that, but will be an order of magnitude smaller than linux VM.