Lunch with the Tel-Aviv, business oriented, brunch of the family in their nice new house. In the evening didn’t feel like doing much of anything; ended up de-cluttering my publications page.
October 15, 2008
October 14, 2008
notes for Monday Oct 13
More work on the nap and vnic papers in the morning, making progress toward their respective deadlines. In the evening BBQ—fillet mignon and a good wine—with my folks in our garden.
October 12, 2008
notes for Sunday Oct 12
Woke up bleary eyed, but settled into a productive day at the office debugging by proxy and reviewing a couple of draft papers (vnic and nap). In the evening got some work done on the secret project, too.
For those who haven’t seen it yet, the call for papers for the SYSTOR 2009 Israeli Experimental Systems Conference is out. Better get started working on those papers!
notes for Satuday Oct 11th
Planned, prepared for and executed Yael’s 2-year birthday. Splendid success, including several tipsy family members. Pictures to come. Cleaned up afterwards and eventually crashed. Woke back up at 2:30 AM and tried to convince Yael to go back to sleep until 4 AM. Re-crashed.
October 11, 2008
Two years ago
Orna and I embarked on one of the
great projects of our lives.
Two years later, it is going splendidly.

Happy birthday, Yael, my little princess. You fill our lives with joy, every single day.
August 26, 2008
I’m a-twitter
August 7, 2008
WIOV ’08 CFP
It is my great pleasure to invite all of you to submit papers and participate in the First Workshop on I/O Virtualization (WIOV ’08), to be held in conjunction with OSDI ’08.
First Workshop on I/O Virtualization (WIOV ’08)
December 10–11, 2008, San Diego, CA, USA
http://www.usenix.org/wiov08WIOV ’08 will be held in conjunction with the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’08), December 8–10, 2008.
Overview
Over the past decade, the use of virtualization technology has grown rapidly. Moreover, it is being used in a variety of places, ranging from the data center to the desktop. Although this has spurred great advances in processor and memory virtualization in commodity hardware and virtualization software, I/O virtualization has received far less attention. However, both personal computers and servers may perform significant amounts of I/O. For example, efficient virtualization of graphics hardware has presented significant challenges on the desktop and efficient virtualization of network interfaces has limited server consolidation in the data center.
This workshop is meant to provide a forum to discuss challenges of I/O virtualization that span the virtual machine monitor, guest operating system, processor, memory subsystem, and I/O subsystem. In that spirit, we welcome papers that describe new challenges in I/O virtualization and papers that describe novel approaches to solving known problems in I/O virtualization. The final program will consist of both reviewed submissions and invited talks. The invited talks will focus on open problems in I/O virtualization and will be accessible to a broad audience.
Topics of interest include but are not limited to:
* Hardware support for I/O virtualization
* Novel I/O device architectures for virtualization
* Novel software approaches to I/O virtualization
* Software methods for I/O device emulation
* Para-virtualized I/O device driver design for virtualization
* Virtual machine monitors I/O subsystemsImportant Dates
Submissions due: September 15, 2008
Notification to authors: October 3, 2008
Final files due: November 3, 2008Workshop Organizers
Program Co-Chairs
Muli Ben-Yehuda, IBM Haifa Research Lab
Alan L. Cox, Rice University
Scott Rixner, Rice UniversityProgram Committee
Eyal de Lara, University of Toronto
Jun Nakajima, Intel
Renato Santos, HP Labs
Karsten Schwan, Georgia Institute of Technology
Pratap Subrahmanyam, VMware
Leendert van Doorn, AMD
Andrew Warfield, University of British ColumbiaSubmission Guidelines
Please submit an extended abstract in PDF format through the workshop submission web form, which will be available at http://www.usenix.org/wiov08 soon. The extended abstract should be no more than 4 double-column pages using 10-point type on 12-point leading (“single-spaced”). Figures and references are not included in this 4-page limit.
June 26, 2008
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.”
May 26, 2008
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.
