"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