Saturday, April 15, 2017

ClickOS

"The recent trend towards network function virtualization (NFV) proposes to shift middlebox processing from hardware-based appliances to software running on inexpensive, commodity hardware (e.g., x86 servers with 10Gb NICs). Towards this goal we developed ClickOS, a high-performance, virtualized software middlebox platform. It consists of the Click modular router software running on top of MiniOS (a minimalistic OS available with the Xen sources), plus optimizations to network I/O in order to drive 10 Gb/s throughput for almost all packet sizes. These virtual machines are small (6MB), boot quickly (in about 30 milliseconds) and add little delay (45 microseconds). In the rest of this page we describe the toolchain required to build the OS image; the toolstack to boot VMs in milliseconds; and a high level discussion of Click and the modifications we did to it in order to run in the MiniOS environment.

Click comes with over 300+ stock elements which make it possible to construct middleboxes with minimal effort (see table above). It is also extensible, so we are not limited to the functionality provided by the stock elements. We can easily extend this framework and introduce new elements for new classes of packet processing. Click is of course no panacea: it does not cover all types of middlebox processing, for instance middleboxes that need a full-fledged TCP stack. In such cases, it is better to use a standard Linux VM. It is worth mentioning that while MiniOS represents a difficult development environment, programming for ClickOS is relatively painless: development, building and testing can take place in user-space Click, and
the resulting code/elements simply added to the ClickOS build process when ready. "

http://cnp.neclab.eu/clickos/

http://unikernel.org/projects/

No comments:

Post a Comment