Re: Announce: OSv, a new open-source operating system for virtual machines

2014-05-12 Thread Nadav Har'El
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

2013-09-19 Thread Nadav Har'El
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

2013-09-19 Thread Shachar Shemesh
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

2013-09-17 Thread Amos Shapira
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