SlideShare a Scribd company logo
Glauber Costa, Lead Engineer
glommer@cloudius-systems.com
Who are we
● Small startup founded by Avi Kivity (Creator of KVM)
● Around 15 people, including some Linux veterans
○ 10 countries
● Headquarters in Israel
● Our mission is to build the default OS for public and
private Clouds.
Typical Cloud Stack
Application
Application Server
Runtime (JVM)
Operating System
Hypervisor
Hardware
Protection
and
abstraction
“Library OS”
Application
Application Server
Runtime (JVM) + OSv
Hypervisor
Hardware
OSv
● LibraryOS written from scratch in C++11
○ Actually network stack came initially from FreeBSD, heavily modified
○ ZFS filesystem from Open Solaris
● BSD Licensed.
● Implements most of the (Linux) POSIX API
● Better if we have a runtime (Java at the moment)
● It supports only one application.
● KVM, Xen, VirtualBox, VMWare
● Image size as low as ~15 Mb
● Beta expected in a couple of months.
OSv and NoSQL
● Think of us as "No-OS"
● You can distribute a copy of your application that will
run directly on a hypervisor/cloud
● Cassandra
○ Due to its Java focus
● in memory redis
○ Due to its pervasiveness
● memcached
○ Due to its simplicity
● mongodb
○ Because I wanted to.
What do people think?
Roman Shaposhnik, Bigtop/Hadoop
"Mark my words, GridGain [...] and OSv [...] are going to
be excitingly disruptive in the next few years. […] And,
by the way, if, after reading this blog, you are not
dropping everything and porting your cloud application
to OSv, I don’t know what’s wrong with you."
http://blog.gopivotal.com/pivotal/features/pivotal-debuts-at-apachecon-north-america-2014-thanks-for-having-us
Performance
● System calls are free
○ context switches are really cheap ( x 4 Fedora* Linux)
● Network performance significantly faster
○ around 20 % with netperf over Fedora Linux
○ more than 50 % for some UDP workloads
● SpecJVM between 3 and 5 % faster.
○ Not a lot actually expected
● Boots < 1 second.
* Fedora 19, roughly 6 - 8 months old Linux Kernel
Real savings: sysadmins
● No command line,
○ except for compatibility
● no graphical interface either.
● REST API for full automation.
● Almost zero configuration
○ Compare with almost 200 in a very stripped down Linux
○ or even registry.
Capstan
● Capstan is a tool for building and running your
application on OSv (under a hypervisor)
● Docker-like command line interface
○ capstan run cloudius/cassandra
● Multi-platform
○ Linux, OS X, Windows
○ QEMU/KVM, VirtualBox, VMware
○ Google Compute Engine, Amazon EC2
mmap
● mmap is a system call for mapping files to memory
○ NoSQL databases rely on it for persistence, caching, I/O, and copy-
on-write
● Page cache behavior is important for database
performance
○ Recent Linux & PostgreSQL fsync() problems
● ZFS + mmap = :-(
○ ZFS ARC cache is not integrated with page cache.
○ We are trying to fix that.
memcached
● unmodified:
● modified:
○ that showcases the real performance opportunity behind OSv.
That's already ~20 %
more at http://osv.io/benchmarks/
Cassandra
● A bug in our mmap implementation creates some
instability
● Performance is on pair with Linux
○ But room for improvement is very big.
● There is, however, less need to worry about JVM
parameters due to JVM Ballooning and friends
MongoDB, redis and more
● recently started to meddle with them
○ No trusted numbers for them yet - follow us for news!
● Mongo has a problem with mmap as well as Cassandra
○ Should be ready soon
● Redis is way too dependent on COW/fork for
persistence
● Mongo and Cassandra are quite dependent on mmap
○ There is still work to do with that, but over time using our own APIs
can help there as well
http://osv.io
https://github.com/cloudius-systems/osv
@CloudiusSystems
osv-dev@googlegroups.com
To know more
Virtualization Oriented
● No spinlocks in the whole kernel
○ Because of lockholder preemption
● No complicated hardware model
● Avoid things that are traditionally more expensive in HV
○ Like IPIs and timer setting
● We also feature a fair scheduler, support multiple page
sizes transparently and avoid page metadata overhead.

More Related Content

PDF
OSv at Cassandra Summit
PDF
OSv at Usenix ATC 2014
PDF
OSv presentation from Linux Foundation Collaboration Summit
PDF
XPDS14 - OSv - A Modern Semi-POSIX LibraryOS - Glauber Costa, Cloudius Systems
PPTX
OSv: probably the best OS for cloud workloads you've never hear of
PDF
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
PPTX
CloudStack Automated Integration Testing with Marvin
PDF
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
OSv at Cassandra Summit
OSv at Usenix ATC 2014
OSv presentation from Linux Foundation Collaboration Summit
XPDS14 - OSv - A Modern Semi-POSIX LibraryOS - Glauber Costa, Cloudius Systems
OSv: probably the best OS for cloud workloads you've never hear of
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
CloudStack Automated Integration Testing with Marvin
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle

What's hot (19)

PDF
Dockerを利用したローカル環境から本番環境までの構築設計
ODP
Guaranteeing CloudStack Storage Performance
PDF
OOPs, OOMs, oh my! Containerizing JVM apps
PDF
Arbiter volumes in gluster
PDF
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
PDF
Solr on Docker - the Good, the Bad and the Ugly
PDF
Redis persistence in practice
PDF
Hands On Gluster with Jeff Darcy
PDF
CoreOS @ summer meetup in Utrecht
PDF
Automatic Operation Bot for Ceph - You Ji
PDF
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
PPTX
Practical Glusto Example
PDF
Ceph and Mirantis OpenStack
PPTX
CoreOS Intro
PPT
On MongoDB backup
PDF
GlusterFS As an Object Storage
PDF
CoreOS introduction - Johann Romefort
PPTX
ceph optimization on ssd ilsoo byun-short
PDF
Openstack HA
Dockerを利用したローカル環境から本番環境までの構築設計
Guaranteeing CloudStack Storage Performance
OOPs, OOMs, oh my! Containerizing JVM apps
Arbiter volumes in gluster
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
Solr on Docker - the Good, the Bad and the Ugly
Redis persistence in practice
Hands On Gluster with Jeff Darcy
CoreOS @ summer meetup in Utrecht
Automatic Operation Bot for Ceph - You Ji
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Practical Glusto Example
Ceph and Mirantis OpenStack
CoreOS Intro
On MongoDB backup
GlusterFS As an Object Storage
CoreOS introduction - Johann Romefort
ceph optimization on ssd ilsoo byun-short
Openstack HA
Ad

Similar to Glauber Costa on OSv as NoSQL platform (20)

PPTX
PDF
OSv – The OS designed for the Cloud
PDF
A Gentle Introduction to Functions-as-a-Service
PDF
meetPHP#8 - PHP startups prototypes
PDF
You’re Doing It All Wrong by Michael Stonebraker
PDF
CloudOpen 2013: Developing cloud infrastructure: from scratch: the tale of an...
PDF
Ceph as storage for CloudStack
PDF
To Russia with Love: Deploying Kubernetes in Exotic Locations On Prem
PPTX
What is Mean Stack Development ?
PDF
Taking Docker to Production: What You Need to Know and Decide
PDF
Taking Docker to Production: What You Need to Know and Decide
PDF
LINE's Private Cloud - Meet Cloud Native World
PDF
Once upon a time, there were css, js and server-side rendering
PDF
Open stack meetup_boston_ubuntu_cloud
PPTX
Overview of PaaS: Java experience
PPTX
Overview of PaaS: Java experience
PDF
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
PDF
Scaling with Symfony - PHP UK
PPSX
Introduction to Java
OSv – The OS designed for the Cloud
A Gentle Introduction to Functions-as-a-Service
meetPHP#8 - PHP startups prototypes
You’re Doing It All Wrong by Michael Stonebraker
CloudOpen 2013: Developing cloud infrastructure: from scratch: the tale of an...
Ceph as storage for CloudStack
To Russia with Love: Deploying Kubernetes in Exotic Locations On Prem
What is Mean Stack Development ?
Taking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and Decide
LINE's Private Cloud - Meet Cloud Native World
Once upon a time, there were css, js and server-side rendering
Open stack meetup_boston_ubuntu_cloud
Overview of PaaS: Java experience
Overview of PaaS: Java experience
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Scaling with Symfony - PHP UK
Introduction to Java
Ad

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation theory and applications.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
Chapter 3 Spatial Domain Image Processing.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
Understanding_Digital_Forensics_Presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Review of recent advances in non-invasive hemoglobin estimation

Glauber Costa on OSv as NoSQL platform

  • 1. Glauber Costa, Lead Engineer glommer@cloudius-systems.com
  • 2. Who are we ● Small startup founded by Avi Kivity (Creator of KVM) ● Around 15 people, including some Linux veterans ○ 10 countries ● Headquarters in Israel ● Our mission is to build the default OS for public and private Clouds.
  • 3. Typical Cloud Stack Application Application Server Runtime (JVM) Operating System Hypervisor Hardware Protection and abstraction
  • 5. OSv ● LibraryOS written from scratch in C++11 ○ Actually network stack came initially from FreeBSD, heavily modified ○ ZFS filesystem from Open Solaris ● BSD Licensed. ● Implements most of the (Linux) POSIX API ● Better if we have a runtime (Java at the moment) ● It supports only one application. ● KVM, Xen, VirtualBox, VMWare ● Image size as low as ~15 Mb ● Beta expected in a couple of months.
  • 6. OSv and NoSQL ● Think of us as "No-OS" ● You can distribute a copy of your application that will run directly on a hypervisor/cloud ● Cassandra ○ Due to its Java focus ● in memory redis ○ Due to its pervasiveness ● memcached ○ Due to its simplicity ● mongodb ○ Because I wanted to.
  • 7. What do people think? Roman Shaposhnik, Bigtop/Hadoop "Mark my words, GridGain [...] and OSv [...] are going to be excitingly disruptive in the next few years. […] And, by the way, if, after reading this blog, you are not dropping everything and porting your cloud application to OSv, I don’t know what’s wrong with you." http://blog.gopivotal.com/pivotal/features/pivotal-debuts-at-apachecon-north-america-2014-thanks-for-having-us
  • 8. Performance ● System calls are free ○ context switches are really cheap ( x 4 Fedora* Linux) ● Network performance significantly faster ○ around 20 % with netperf over Fedora Linux ○ more than 50 % for some UDP workloads ● SpecJVM between 3 and 5 % faster. ○ Not a lot actually expected ● Boots < 1 second. * Fedora 19, roughly 6 - 8 months old Linux Kernel
  • 9. Real savings: sysadmins ● No command line, ○ except for compatibility ● no graphical interface either. ● REST API for full automation. ● Almost zero configuration ○ Compare with almost 200 in a very stripped down Linux ○ or even registry.
  • 10. Capstan ● Capstan is a tool for building and running your application on OSv (under a hypervisor) ● Docker-like command line interface ○ capstan run cloudius/cassandra ● Multi-platform ○ Linux, OS X, Windows ○ QEMU/KVM, VirtualBox, VMware ○ Google Compute Engine, Amazon EC2
  • 11. mmap ● mmap is a system call for mapping files to memory ○ NoSQL databases rely on it for persistence, caching, I/O, and copy- on-write ● Page cache behavior is important for database performance ○ Recent Linux & PostgreSQL fsync() problems ● ZFS + mmap = :-( ○ ZFS ARC cache is not integrated with page cache. ○ We are trying to fix that.
  • 12. memcached ● unmodified: ● modified: ○ that showcases the real performance opportunity behind OSv. That's already ~20 % more at http://osv.io/benchmarks/
  • 13. Cassandra ● A bug in our mmap implementation creates some instability ● Performance is on pair with Linux ○ But room for improvement is very big. ● There is, however, less need to worry about JVM parameters due to JVM Ballooning and friends
  • 14. MongoDB, redis and more ● recently started to meddle with them ○ No trusted numbers for them yet - follow us for news! ● Mongo has a problem with mmap as well as Cassandra ○ Should be ready soon ● Redis is way too dependent on COW/fork for persistence ● Mongo and Cassandra are quite dependent on mmap ○ There is still work to do with that, but over time using our own APIs can help there as well
  • 16. Virtualization Oriented ● No spinlocks in the whole kernel ○ Because of lockholder preemption ● No complicated hardware model ● Avoid things that are traditionally more expensive in HV ○ Like IPIs and timer setting ● We also feature a fair scheduler, support multiple page sizes transparently and avoid page metadata overhead.