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
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
OSv – The OS designed for the Cloud
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
после моего выступления, помочь мне
практиковать (медленно пожалуйста)
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
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
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
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 C4’s GC uses similar MMU tricks on
x86
○ Out-of-tree Linux patches
23. OS Admin
Traditional OS
●
●
●
●
●
Built for a standalone desktop
CLI oriented
Human oriented
File base configuration
Hard to automate
Cloud OS
●
●
●
●
●
Built for mass deployment
API oriented
Machine oriented
API base configuration
Easy to automate
24. Roadmap
Alpha Release
3/2014
Git init
osv,
12/201
2
support
for
64 vcpu
02/2013
Java hello world,
01/2013
ZFS support
Cli and web
> 1Gbps netperf, interface
6/2013
9/2014
UDP,
03/2013
Cassandra
outperform
s Linux,
8/2013
Native REST API
Memcached gain
> 70%
1/2014
Tomcat,
HAProxy
modules
10/2013
Optimized ZFS
cache
Dirty page
writeback
JVM page table
HV support:
GCE, VMW, VBox
Net channels
JVM ballooning
>47Gbps
netperf
2/2014
Image Repository
JVM Read barrier
elimination
DPDK support
More ...
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”
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