OSv The OS designed for the Cloud

Download OSv  The OS designed for the Cloud

Post on 06-May-2015




3 download


A lot of the cloud discussion centers around which hypervisors are the best, and which management tools will simplify one's life the most. But is it the whole story? While addressing the problems from the lower and higher layers, the middle man -- the guest operating system -- is usually left behind. This talk will introduce OSv a new from-scratch operating system written by a group of former Linux veterans designed specifically for cloud deployments. We will showcase the operating system architecture and explain the performance and manageability improvements that can be expected


  • 1.OSv Designed for the cloud Lord Glauber Costa of Sealand glommer@cloudius-systems.coom Cloudius Systems

2. About myself Some contributions to Xen Extensive contributions to Linux and QEMU Early employee at Cloudius (#4), OSv , ( ) 3. About Sealand Mightiest country on Earth 0.025 m area size Fought and won a war (15 min) against UK De facto recognition by Germany and UK 4. About Cloudius Founded in December 2012 ~15 people 9 countries Open source experience Linux Foundation member 5. About OSv 6. OSv Cloud OS written from scratch C++11 BSD licensed Networking stack and ZFS imported from FreeBSD We are modifying the networking stack Switching to OpenZFS in the future 7. Typical Cloud Stack Application Application Server JVM Operating System Hypervisor HardwareProtection and abstraction 8. Library OS Single application per VM No kernel and userspace separation No fork() MMU access via OSv APIs POSIX APIs for compatibility 9. Library OS Application Application Server JVM + OSv Hypervisor Hardware 10. Features 11. OS Services Scheduler Memory management mmap demand paging Networking File system ZFS and ramfs 12. APIs Linux system calls uname() reports Linux for compatibility libc OSv APIs 13. Architectures Pure 64-bit OS 64-bit x86 KVM Xen HVM Xen PV - incomplete VMware and VirtualBox - in progress 64-bit ARM - started! Others - help wanted! 14. Status JVM languages Java, JRuby, Scala, Groovy, Clojure, JavaScript JVM applications Cassandra Tomcat Other runtimes mruby I would love to see someone port Node.js... Native applications memcached haproxy 15. Performance 16. Performance Outperforms Linux SpecJVM, memcached, netperf Same as Linux Tomcat Cassandra < 1 second boot time 4x faster context switch in scheduler microbenchmarks than Linux 17. Image Size 17 MB minimal image kernel + libc 29 MB mruby image kernel + libc + mruby 465 MB default image (!) kernel + libc + openjdk openjdk is 127 MB ZFS intent log related, working on a fix 18. How is OSv different? 19. Network channels Linux network channels by Van Jacobson Proposed in 2006, never merged Packet processing overhead reduced by 25% for 1 CPU and 20% for 2 CPUs (source: lwn.net) Network channels in OSv Channel connected to the application Netperf throughput increases 30% from ~36 Gbps to ~47 Gbps Linux on host, OSv in guest 20. JVM Balloon GC heap autotuning Steal memory from JVM on OS memory pressure Running on unmodified JVM Compacting GC causes interesting problems Nice presentation at our youtube channel 21. JVM and MMU Replace GC card tables with MMU remapping Modified OpenJDK Azul C4s GC uses similar MMU tricks on x86 Out-of-tree Linux patches 22. Admin 23. OS Admin Traditional OS Built for a standalone desktop CLI oriented Human oriented File base configuration Hard to automateCloud OS Built for mass deployment API oriented Machine oriented API base configuration Easy to automate 24. Roadmap Alpha Release 3/2014Git init osv, 12/201 2support for 64 vcpu 02/2013Java hello world, 01/2013ZFS support Cli and web > 1Gbps netperf, interface 6/2013 9/2014UDP, 03/2013Cassandra outperform s Linux, 8/2013Native REST API Memcached gain > 70% 1/2014Tomcat, HAProxy modules 10/2013Optimized ZFS cache Dirty page writeback JVM page table HV support: GCE, VMW, VBoxNet channels JVM ballooning >47Gbps netperf 2/2014Image Repository JVM Read barrier elimination DPDK support More ... 25. So what about containers? 26. Containers Docker is awesome Linux control groups not so awesome... Fast boot Fast provisioning Performance 27. Containers under the hood Shared kernel image Kernel upgrades Hardware maintenance Complexity in the kernel Copy-on-write userspace 28. OSv - best of both worlds? Fast boot, fast provisioning, performance Virtualized Saner abstraction layer Stronger Isolation Heterogeneous datacenter MMU access, and other hardware primitives Great blog post on Google+ OSv vs containers 29. Thats it! 30. Thank you! Web http://osv.io Github http://github.com/cloudius-systems/osv Mailing List osv-dev@googlegroups.com You should follow us on Twitter: @CloudiusSystems