Older blog entries for mulix (starting at number 235)

recent happenings and MMCS 2008 position statement

I'm in lovely Boston this week. Originally I was supposed to attend the Xen Summit North America 2008, MMCS 2008, and USENIX 2008, but I ended up missing the Xen Summit completely and making a just-in-time appearance at MMCS, due to some trouble at home. Thankfully everything is fine now.

At the Xen Summit my colleague Todd DeShane presented our preliminary results of a quantitative comparison of Xen and KVM. I'm sorry I missed the summit, by all accounts I heard it was a pretty fun event.

At USENIX, I presented a poster on our SCIMITAR work which introduces the notion of "virtual memory for I/O devices". It got generally positive feedback, including a few "wow, that's pretty cool" comments. I kept wishing our prototype was at a stage where we could finally have some results, but as I told those who asked, if we had had any results, I would've been presenting a paper, not a poster...

At MMCS, I participated in a panel on "Platform Management---Coordination or Not?", moderated by Intel's Milan Milenkovic. Platform management is a subject that comes up fairly often in my day-to-day work, so it was fun spending some time thinking about it and trying to come up with an appropriate position statement for the panel. The way I see it, the primary function of a panelist is to encourage the audience to think, and the easiest way to do that is to be a bit controversial. A panel where everyone---both panelists and audience---agree on everything, is a dull affair.

Here is my MMCS 2008 panel position statement---paraphrased, not transcribed! For context, you probably want to read the panel description first.

"Hello everyone,

Thank you for inviting me to participate in the panel. When thinking about the questions Milan raised with regards to platform management, I had a bit of a problem coming up with a suitable position statement. As it happens, I either wear or used to wear many different hats. I used to work on real applications. I currently work on operating systems and hypervisors, and occasionally I dabble in computer architecture. I wondered, what kind of insight could I get from each of these perspectives?

From the application writer's perspective, there are three different classes of application writers: those who do not care about the platform at all, those who think they know everything best but actually don't, since they only have localized knowledge, and those that really do know everything best.

From the operating systems developer perspective, you don't get too many kernel developers who don't care about the platform, so we can leave those out. That leaves two classes: those who think they know best, but are wrong since again they only have localized knowledge (think virtual machines), and those who really do know best.

From the hypervisor's developer perspective, well, really, hypervisors are just a new name for operating systems!

From the computer architecture folks perspective, well, they just know everything best. Having said that, they have a whole lot of legacy stuff to support which severely constrains what they can and want to do.

Now, having shared with you all of these perspectives, let me share something else: none of it actually helped me come up with a good answer to the question's Milan raised.

So I tried a different approach. I assume most of you are familiar with the end-to-end argument in system design, which is usually applied to networking. Well, what does the end-to-end argument tell us about platform management? As far as I can apply it, it tells us that we should let each layer do what it knows how to do best. Not a very satisfying answer.

Well, let's try a different approach then. Programming language folks like to say that programming languages should make "the simple things easy, and the hard things possible". And here I think we may have actually hit on something. How does this apply to platform management? The way I interpret it, it means two things. First, that each layer in the system should make sensible decisions on its own. Second---more importantly, and hopefully somewhat controversially---that each layer should provide a "chicken switch".

What's a chicken switch? It's a term you sometimes hear in hardware design. It means that when you have all these new functionality in your design, which is not as well tested (or thought out...) as the old, reliable stuff, you usually enable it (it's new and shiny after all), but you also provide a way of "shouting chicken". A way of disabling the new stuff and going back to the old, proven way of doing things.

By analogy, I claim that the most important feature a platform component can have when it comes to management, is a way for the layer above or below it to tell it to "do nothing, and get out of the way".

Thanks you."

Syndicated 2008-06-26 21:28:28 from Muli Ben-Yehuda

upcoming conference submission deadlines

Still haven't decided which conferences to submit which paper to, except SYSML which is the obvious venue for the follow-on paper to our Vigilant work.

ASPLOS '09: August 1st, VEE '09: August 29, SYSML '08: Sep 26th, EuroSys '09: Nov 7th, HOTOS '09: Jan 13th, 2009.

Syndicated 2008-05-25 22:30:47 from Muli Ben-Yehuda

On Thursday this week I'll be giving a talk at the 2008 Israeli Networking Seminar on "Networked I/O for Virtual Machines: Approaches and Challenges."

Next month I'll be returning to one of my favorite cities in the world, Boston, for the 2008 Xen Summit North America, the Workshop on Managed Many-Core Systems (MMCS) and USENIX ATC.

The Operating Systems Review special issue on research and developments in the Linux kernel is shaping up quite nicely and should be going to the printers soon. All of the accepted papers are good, but some are real diamonds.

Syndicated 2008-05-25 22:17:57 from Muli Ben-Yehuda

Simon L. Peyton Jones, John Hughes, and John Launchbury , Department of Computing Science, University of Glasgow, Scotland, "How to write a great research paper".

Link via Silvia Miksch's excellent page of tips on how to do research.

Syndicated 2008-05-25 21:44:35 from Muli Ben-Yehuda

I spent a couple of pleasant hours today trying to wrap my head around KVM's MMU code. After reading "The Shadowy Depths of the KVM MMU", it suddenly starts to - almost - makes sense.

The tentative agenda for the 2008 KVM forum has been published and is chock-full of awesomeness.

Syndicated 2008-04-27 19:58:44 from Muli Ben-Yehuda

The Charge of the Light Brigade, by Alfred Tennyson

Half a league, half a league,
  Half a league onward,
All in the valley of Death
  Rode the six hundred:
'Forward, the Light Brigade
Charge for the guns' he said
Into the valley of Death
  Rode the six hundred.

'Forward, the Light Brigade!'
Was there a man dismay'd?
Not tho' the soldiers knew
  Some one had blunder'd:
Theirs not to make reply,
Theirs not to reason why,
Theirs but to do and die,
Into the valley of Death
  Rode the six hundred.

Cannon to right of them,
Cannon to left of them,
Cannon in front of them
  Volley'd and thunder'd;
Storm'd at with shot and shell,
Boldly they rode and well,
Into the jaws of Death,
Into the mouth of Hell
  Rode the six hundred.

Flash'd all their sabres bare,
Flash'd as they turned in air,
Sabring the gunners there,
Charging an army while
  All the world wonder'd:
Plunged in the battery-smoke
Right thro' the line they broke;
Cossack and Russian
Reel'd from the sabre-stroke
Shatter'd and sunder'd.
Then they rode back, but not
Not the six hundred.

Cannon to right of them,
Cannon to left of them,
Cannon behind them
  Volley'd and thunder'd;
Storm'd at with shot and shell,
While horse and hero fell,
They that had fought so well
Came thro' the jaws of Death
Back from the mouth of Hell,
All that was left of them
  Left of six hundred.

When can their glory fade?
O the wild charge they made!
  All the world wonder'd.
Honour the charge they made!
Honour the Light Brigade,
  Noble six hundred!

Syndicated 2008-03-22 22:01:11 from Muli Ben-Yehuda

ASPLOS is going quite well so far. There were a few really interesting papers (see below). My talk went well, if I may say so myself... the slides are online.

Papers y'all should read:

Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems - Protecting an application from a malicious OS sounds counter-intuitive, but given a sufficiently smart hypervisor, it can be done. This is another step toward making the OS just another library.

Accelerating Two-Dimensional Page Walks for Virtualized Systems - How to get nested paging to perform.

The Design and Implementation of Microdrivers - Automatically split Linux kernel drivers into a performance critical part (which stays in the kernel) and a non-performance critical part which is moved to user-space.

Syndicated 2008-03-05 18:44:49 from Muli Ben-Yehuda

notes from the ASPLOS 2008 poster session

Here's a short list of posters from the ASPLOS '08 combined opening reception and poster session that I found particularly interesting.

"MemCrawler: Discovering Structures in Memory" - Given a dump of physical memory, a list of interesting patterns and a list of object constraints, MemCrawler will identify kernel data structures and functions in the dump.

"Coevolution of Operating Systems and Asymmetric Single-ISA CMPs" - Not all cores and pieces of code are created equal - is it feasible to run specific pieces of operating system code (e.g., the TCP/IP stack) on smaller and less complex cores? Our ASPLOS paper explores a similar question.

"Multi-host I/O sharing by using I/O virtualization technology, ExpEther" - Extending the PCI-e bus through 10Gb ethernet. A host talks PCI-e to an FPGA which encapsulates PCI-e messages over ethernet and transmits them to a remote FPGA which decapsulates the PCI-e messages and passes them to a PCI-e endpoint. We explored similar issues with the IPOnly server. Being able to "remote" a device without needing a host (general purpose CPU) to be connected to it is pretty neat.

"Efficient Fault Tolerance in Multi-media Applications through Selective Instruction Replication" - Not all instructions are created equal. Some matter to successful completion of the program, some don't. In media applications, Control flow is important, but manipulations on individual pixels less so. No point in replaying or replicating instructions which don't matter.

Syndicated 2008-03-03 18:21:41 from Muli Ben-Yehuda

I'm in Seattle this week for ASPLOS and VEE. My hotel room has a balcony with a view:

Yesterday I did the touristy thing and visited the space needle, science fiction museum and other nearby attractions. The best part of the day was the awesome Seattle Duck Ride. Unfortunately, my camera's batteries decided enough is enough just as we boarded the duck, so you get a picture of the space needle instead.

The plan for today is to get some work done, visit the Seattle Aquarium and otherwise have fun. ASPLOS begins tonight! For the curious, our ASPLOS paper is now online.

Syndicated 2008-03-02 16:35:19 from Muli Ben-Yehuda

Just registered for ASPLOS '08 and VEE '08, both to take place in Seattle on the first week of March. If you'll be there, make sure to say hi!

Syndicated 2008-02-03 10:44:35 from Muli Ben-Yehuda

226 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!