Skip to content
0:00 / 0:00

#illumos#smartos#bryancantrill

illumos day 2014: The Dream is Alive! Running Linux containers on an illumos kernel

illumos

123 subscribers • 1 video on Hallway

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • Presented by Bryan Cantrill, CTO of Joyent
  • Linked in the descriptionSlides on SlideShare
  • May be out of date. Uploaded 12 years ago, in an area where tools change fast.
  • An opinion. It argues one side of a question engineers disagree on.

Advanced. Deep dive for people who know the field.

14K views12 years ago2 recommendations

Systems programmingCloud and DevOpsOperating systemsDocker and containersPerformance and optimization

Bryan Cantrill explains how LX-branded zones enable running unmodified Linux binaries directly on the illumos kernel with native performance.

Bryan Cantrill speaks on The Dream is Alive! Running Linux containers on an illumos kernel at illumos day 2014. Slides available at: slideshare.net/bcantrill/illumos-lx

Why it's here

2 people recommend this

What people say. Engineers recommend this talk for its deep dive into system call emulation, kernel architecture differences, and entertaining delivery.

ketralnison Hacker News • Recommends

On “Show HN: Htop 2.0 released, now cross-platform”

I really enjoyed this talk1 by Bryan Cantrill, part of which is about what it took to emulate Linux's syscalls from within SmartOS. It's lengthy, but enjoyable. One of the applications that they tried to port directly to before the emulation layer was htop, and he has a good rant about what that took because of its use of /proc and how that made porting it very difficult. Given that, I'm sure this wasn't easy. Kudos! 1 link to this video

AnbeSivamon Hacker News • Recommends

On “Running Linux containers on an illumos kernel”

Video of this talk. link to this video Though it is from 2014, it is interesting on comparison between linux and smartos(solaris). There is also a recent, shorter video link

helperon Hacker News • Mentions

On “SmartDataCenter and Manta are now open source”

Not sure what in the announcement you are referring to. The only thing it says about Docker is that it has brought move visibility to OS-virtualization. But, Joyent is infact working on docker support for SmartOS. They have revived an old Solaris feature called LX-branded zones that allows running linux binaries directly in SmartOS. Bryan Cantrill gave a talk on it at SurgeConf this year: video: link to this video slides: link

bcantrillon Hacker News • Mentions

On “Fin – Keith Wesolowski retires”

…n kernel debugging circa 20002 is not merely amateurish, and not merely irresponsible, but actively dangerous. While his attitudes have soften over the years, there still remain striking differences of engineering principle between Linux and other systems -- of which systemd is merely (in my opinion) one particularly egregious manifestation. 1 link to this video 2 link…

bcantrillon Hacker News • Mentions

On “Show HN: Jetpack, a FreeBSD Jail/ZFS-based container runtime”

We have put (and are putting) a bunch of work into LX branded zones1, and are at the point that they are working on an incredibly broad class of apps (64-bit and with on-the-metal performance). A concrete case in point: we recently ran the (amazing!) hundred language quine relay2 in an LX branded 64-bit Ubuntu 14.04 zone on SmartOS.3 As for ZFS support and Docker, it will be via sdc-docker4, our (emerging) end-point for the Docker Remote API. The progress there has been swift and everything is being done in the open; expect to see something in production from us in this first calendar quarter. 1 link to this video 2 link 3 link 4 link

the_why_of_yon Hacker News • Mentions

On “Interview: Lennart Poettering”

Of course you can get more specific - for example, the Solaris kernel/libc combination is so tightly coupled that it is described as a "welded unit" link to this video OpenBSD solved the Year 2038 problem by incompatibly changing the kernel and libc ABI in lockstep, which broke every single existing binary application using time_t - how's that for tight coupling... link

bcantrillon Hacker News • Mentions

On “Triton: Docker and the “best of all worlds””

…DD'd file descriptor will always result in no further events being generated for that event description. So while we do aspire to be bug-compatible, we're not about to compromise our principles over it. More details (or some of them, anyway) can be found in the talk on LX-branded zones that I gave at illumos Day at Surge 2014.12 1 link 2 link to this video…

mwcampbellon Hacker News • Mentions

On “Announcing ASLR Completion”

I don't understand. If bcantrill's description of VDSOs (buried in this presentation: link to this video ) is accurate, then they're just a way to make certain syscalls faster, when syscalls are already fast enough.

ketralnison Hacker News • Mentions

On “Steam on FreeBSD”

FreeBSD emulating Linux has way less performance overhead than either emulating Windows. FreeBSD's Linux "emulator" consists in a substituted syscall table and a kernel module for implementing syscalls that aren't native to FreeBSD (like epoll).01 Here's an example of what that means. When a FreeBSD binary wants to delete a file it calls the syscall unlink(2). So it's executing as a regular old binary, does a regular syscall, specifies the unlink syscall number, the kernel looks up that syscall number in that binary's (FreeBSD's) syscall table, and jumps to that code. When you execute a Linux binary on FreeBSD you also execute it as a regular old binary except that you specify to use the…

qwertyuiop924on Hacker News • Mentions

On “What’s up with the Beep driver in Windows 7? (2010)”

The Simcity case reminds me of Bryan Cantrill's talk on lx-branded zones: apparently, there was a bug in rpm which didn't touch Linux, because Linux wasn't doing things fast enough to trigger the condition. So there was some code added to check if the running program was rpm, and to pause it briefly if it was. Apparently the comment the people who wrote it left amounted to, "we wrote this, and even we feel dirty about it." You can find the actual talk at link to this video

bcantrillon Hacker News • Mentions

On “"Solaris being canned, at least 50% of teams to be RIF'd in short term"”

From my perspective, if this rumor is true, it's a relief. Solaris died the moment that they made the source proprietary -- a decision so incredibly stupid that it still makes my head hurt six years later. Fortunately, Solaris was open long enough that we in the open source world were able to fork it with illumos1. And because illumos became the home for many of us that brought Solaris its most famous innovations (e.g., ZFS, DTrace and zones), it should come as no surprise that we've continued to innovate over the last six years. (Speaking only for Joyent, we added revolutionary debugging support for node.js2, ported KVM to it3, completed and productized Linux-branded zones4, added s…

Manozcoon Hacker News • Mentions

On “Linux System Call Table”

You might need that when you want to reimplement Linux, the Joyent team did that on their OS (derived from solaris) so that user can run linux binaries on a solaris kernel (so thay have dtrace, zfs, mdb, ...) Bryan Cantrill did a bunch of conferences on that (one here: link to this video ) The idea behind is that Linux is only a list of syscalls, if you are able to reimplement them, you reimplement linux, you don't need anything else. On the contrary if you want to reimplement a BSD you need to reimplement their libc (and perhaps some other libraries)

the_why_of_yon Hacker News • Mentions

On “The Unix C library API can only be reliably used from C”

A stable syscall ABI is a Linux peculiarity and was never a part of the UNIX tradition. Here's a talk where Bryan Cantrill describes the tightly coupled Solaris kernel/libc combination as a "welded unit", and mocks the Linux "libc ecosystem" and the complexity of ENOSYS handling in glibc. link to this video