Re: Announce: OSv, a new open-source operating system for virtual machines
On Mon, Sep 16, 2013, Nadav Har'El wrote about Announce: OSv, a new open-source operating system for virtual machines: Hi, today we've made the first release of OSv, a new operating system for running applications on virtual machines. OSv is free software, released under the BSD license, and you can find it in https://github.com/cloudius-systems/osv and http://www.osv.io. There is also a mailing list: osv-...@googlegroups.com. For those interested in meeting some of the OSv developers, shortly hearing about it and trying it on their own laptop and their own application, we are holding a meetup on Wednesday May 28th, 5:30pm, in our office in Herzliyya: http://www.meetup.com/OSv-Developer-Meetup/events/181683582/ It's a free meeting (of course), but we'll appreciate it if people RSVP on the meetup.com site so we'll have an estimate on how many are coming. See you, Nadav. These days, most applications running on virtual machines in the cloud run on top of Linux. We all love Linux, but as an all-encompassing operating system for everything from phones to supercomputers, Linux was never really designed for virtual machines; It is big and complex, and it offers features (such as multi-user and multi-process) which are today made redundant by the hypervisor and slow it down. Linux's APIs are many times set in stone by decades of legacy code. All these cost in application performance, and make it harder to innovate. This is why we developed OSv, a new operating system designed to run a single application on a virtual machine. As it runs a single application there is no need for kernel-userspace isolation, reducing context switch costs and unnecessary copying. A design from scratch allowed us to experiment with new ideas like lock-free mutexes (solving the Lock-Holder Preemption problem that plagues operating systems on virtual machines), extremely fast context switches, Van Jacobson's network channels (see http://www.lemis.com/grog/Documentation/vj/lca06vj.pdf), and more. Also, OSv is released under the more permissive BSD license (not GPL like Linux), is tiny compared to Linux, and takes less than one second to boot and start the user's application. OSv can run ordinary Linux shared objects, such as, for example, an unmodified JVM (e.g., OpenJDK) executable, and of course on that you can run any application written in Java, JRuby , Clojure, or any other JVM language. Even at this early stage of OSv's development, OSv can already successfully run several interesting workloads such as Netperf, Memcached, Cassandra and SpecJVM - and usually match or even beat Linux's performance. Another refreshing feature of OSv is that is written in C++. It's been 40 years since Unix was (re)written in C, and the time has come for something better. C++ is not about writing super-complex type hierarchies (as some people might have you believe). Rather, it allowed us to write shorter code with less boiler-plate repetition and less chances for bugs. It allowed us to more easily reuse quality code and data structures. And using newly standardized C++11 features, we were able to write safe concurrent code with standard language features instead of processor-specific hacks. And all of this with zero performance overheads - most of C++'s features, most notably templates, are compile-time features which result in no run-time overhead compared to C code. OSv was developed by Cloudius Systems, a small Israeli startup led by Dor Laor and Avi Kivity (of KVM fame) but it is an open-source project - developed since its inception on github (https://github.com/cloudius-systems/osv), and released under the BSD license. We would like to take this opportunity to invite everyone to use OSv, and to help drive its development forward. OSv is a fantastic playground for kernel developers, and also for people involved in cloud development, devops, and so on. Tell us what your dream VM operating system will do, and maybe your dream will come true :-) Maybe you can even help us make that dream come true. If you want to try OSv, check out the announcement and usage instructions on the OSv mailing list: https://groups.google.com/forum/#!topic/osv-dev/enqdqN2A0as -- Nadav Har'El| Monday, Sep 16 2013, 13 Tishri 5774 n...@math.technion.ac.il |- Phone +972-523-790466, ICQ 13349191 |A computer once beat me at chess, but it http://nadav.harel.org.il |was no match for me at kickboxing. -- Nadav Har'El| Monday, May 12 2014, 12 Iyyar 5774 n...@math.technion.ac.il |- Phone +972-523-790466, ICQ 13349191 |Politics, n: from Greek, poly=many, http://nadav.harel.org.il |ticks=blood sucking parasites. ___ Linux-il mailing list Linux-il@cs.huji.ac.il
Re: Announce: OSv, a new open-source operating system for virtual machines
On Wed, Sep 18, 2013, Amos Shapira wrote about Re: Announce: OSv, a new open-source operating system for virtual machines: Very interesting. Hi Amos, thanks. It really is interesting working on this project :-) How would this compare to Linux Containers and Docker in terms of memory efficiency and performance? One of the assumptions we made when we decided to write OSv was that the hypervisor is here to stay. I.e., we already have a whole eco-system of cloud providers that let you run virtual-machines on top of a hypervisor. As long as this is true, people will be looking for more efficient operating systems to run on those virtual machines which they rent from Amazon or their IT department's private cloud, or whatever. Containers, while may be a great idea (and personally, I'm a big fan of that idea), are simply not a solution to the same problem. The existance of hypervisors is not just a fact-of-life we need to deal with, they also have the inherent benefit - that different cloud clients can use different operating systems - each can use a different version of OSv, or Linux or Windows if they must ;-) With containers, this isn't exactly the case, and guests must all use a very similar OS, on which they have little control. About performance, this can be tested, and I don't think the answer is obvious up-front. It's easy to assume the lighter containers would be faster and use less memory, but it doesn't necessarily have to be so when both the hypervisor and the guest OS focus on these issues (like. OSv does). Whole pages can be written about this topic, and seeing that you're not the only one who made this comparison to containers, I'm sure we will see more discussions about this topic soon. If you're interested in OSv, I recommend that you join our mailing list (osv-...@googlegroups.com), or look once in a while on our site (http://osv.io). My team keeps looking for ways to improve the utilisation of our hardware for hundreds of Bamboo build agents, so this is the main context I'm asking this in. We currently use static KVM agents (Ubuntu 12.04 LTS) and just finished a successful spike to look at Docker. I don't believe anyone tried to run Bamboo on OSv yet (it's only been public for less than a week :-)) so I can't give you any meaningful measurement, or even any guarantee that it will work without fixing bugs or modifying Bamboo (e.g., not to fork()). But we will be happy if you try, and tell us what you've found out! Good luck, Nadav. Cheers, --Amos On 17 September 2013 06:36, Nadav Har'El n...@math.technion.ac.il wrote: Hi, today we've made the first release of OSv, a new operating system for running applications on virtual machines. OSv is free software, released under the BSD license, and you can find it in https://github.com/cloudius-systems/osv and http://www.osv.io. There is also a mailing list: osv-...@googlegroups.com. These days, most applications running on virtual machines in the cloud run on top of Linux. We all love Linux, but as an all-encompassing operating system for everything from phones to supercomputers, Linux was never really designed for virtual machines; It is big and complex, and it offers features (such as multi-user and multi-process) which are today made redundant by the hypervisor and slow it down. Linux's APIs are many times set in stone by decades of legacy code. All these cost in application performance, and make it harder to innovate. This is why we developed OSv, a new operating system designed to run a single application on a virtual machine. As it runs a single application there is no need for kernel-userspace isolation, reducing context switch costs and unnecessary copying. A design from scratch allowed us to experiment with new ideas like lock-free mutexes (solving the Lock-Holder Preemption problem that plagues operating systems on virtual machines), extremely fast context switches, Van Jacobson's network channels (see http://www.lemis.com/grog/Documentation/vj/lca06vj.pdf), and more. Also, OSv is released under the more permissive BSD license (not GPL like Linux), is tiny compared to Linux, and takes less than one second to boot and start the user's application. OSv can run ordinary Linux shared objects, such as, for example, an unmodified JVM (e.g., OpenJDK) executable, and of course on that you can run any application written in Java, JRuby , Clojure, or any other JVM language. Even at this early stage of OSv's development, OSv can already successfully run several interesting workloads such as Netperf, Memcached, Cassandra and SpecJVM - and usually match or even beat Linux's performance. Another refreshing feature of OSv is that is written in C++. It's been 40 years since Unix was (re)written in C, and the time has come for something better. C++ is not about writing super-complex type hierarchies (as some people might have you believe). Rather
Re: Announce: OSv, a new open-source operating system for virtual machines
On 16/09/13 23:36, Nadav Har'El wrote: Hi, today we've made the first release of OSv, a new operating system for running applications on virtual machines. Here's something that happens whenever someone tries such a thing, and I'm wondering whether you gave it any thought. The project always starts with I'll do something simple, and in your case, it would appear, you are targeting Java based applications. What happens next, however, is that it turns out that this simply isn't good enough. If you remain in a niche, you will not serve most than 2-3% of the market's need, in which case those who have any use for you will not find you. You then say sure, I'll add more generic features, at which point you start hitting walls: Applications that simply won't work unless you can do process separation. Bugs that are impossible to find unless the kernel is separated. Critical infrastructure that requires some level of POSIX compliance. Do you have any plans on how to handle that? Or do you say we don't support fork, and anything that requires it will simply not work. Don't get me wrong. I think it's a cool idea, and I'm sure the technical aspects of it are great. Shachar P.S. Do you support vfork? ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
Re: Announce: OSv, a new open-source operating system for virtual machines
Very interesting. How would this compare to Linux Containers and Docker in terms of memory efficiency and performance? My team keeps looking for ways to improve the utilisation of our hardware for hundreds of Bamboo build agents, so this is the main context I'm asking this in. We currently use static KVM agents (Ubuntu 12.04 LTS) and just finished a successful spike to look at Docker. Cheers, --Amos On 17 September 2013 06:36, Nadav Har'El n...@math.technion.ac.il wrote: Hi, today we've made the first release of OSv, a new operating system for running applications on virtual machines. OSv is free software, released under the BSD license, and you can find it in https://github.com/cloudius-systems/osv and http://www.osv.io. There is also a mailing list: osv-...@googlegroups.com. These days, most applications running on virtual machines in the cloud run on top of Linux. We all love Linux, but as an all-encompassing operating system for everything from phones to supercomputers, Linux was never really designed for virtual machines; It is big and complex, and it offers features (such as multi-user and multi-process) which are today made redundant by the hypervisor and slow it down. Linux's APIs are many times set in stone by decades of legacy code. All these cost in application performance, and make it harder to innovate. This is why we developed OSv, a new operating system designed to run a single application on a virtual machine. As it runs a single application there is no need for kernel-userspace isolation, reducing context switch costs and unnecessary copying. A design from scratch allowed us to experiment with new ideas like lock-free mutexes (solving the Lock-Holder Preemption problem that plagues operating systems on virtual machines), extremely fast context switches, Van Jacobson's network channels (see http://www.lemis.com/grog/Documentation/vj/lca06vj.pdf), and more. Also, OSv is released under the more permissive BSD license (not GPL like Linux), is tiny compared to Linux, and takes less than one second to boot and start the user's application. OSv can run ordinary Linux shared objects, such as, for example, an unmodified JVM (e.g., OpenJDK) executable, and of course on that you can run any application written in Java, JRuby , Clojure, or any other JVM language. Even at this early stage of OSv's development, OSv can already successfully run several interesting workloads such as Netperf, Memcached, Cassandra and SpecJVM - and usually match or even beat Linux's performance. Another refreshing feature of OSv is that is written in C++. It's been 40 years since Unix was (re)written in C, and the time has come for something better. C++ is not about writing super-complex type hierarchies (as some people might have you believe). Rather, it allowed us to write shorter code with less boiler-plate repetition and less chances for bugs. It allowed us to more easily reuse quality code and data structures. And using newly standardized C++11 features, we were able to write safe concurrent code with standard language features instead of processor-specific hacks. And all of this with zero performance overheads - most of C++'s features, most notably templates, are compile-time features which result in no run-time overhead compared to C code. OSv was developed by Cloudius Systems, a small Israeli startup led by Dor Laor and Avi Kivity (of KVM fame) but it is an open-source project - developed since its inception on github (https://github.com/cloudius-systems/osv), and released under the BSD license. We would like to take this opportunity to invite everyone to use OSv, and to help drive its development forward. OSv is a fantastic playground for kernel developers, and also for people involved in cloud development, devops, and so on. Tell us what your dream VM operating system will do, and maybe your dream will come true :-) Maybe you can even help us make that dream come true. If you want to try OSv, check out the announcement and usage instructions on the OSv mailing list: https://groups.google.com/forum/#!topic/osv-dev/enqdqN2A0as -- Nadav Har'El| Monday, Sep 16 2013, 13 Tishri 5774 n...@math.technion.ac.il |- Phone +972-523-790466, ICQ 13349191 |A computer once beat me at chess, but it http://nadav.harel.org.il |was no match for me at kickboxing. ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il -- [image: View my profile on LinkedIn] http://www.linkedin.com/in/gliderflyer ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il