Passing a penguin through the eye of a needle: LCA Presentations Day 2

Due to spending most of the day off wireless while I tried to get dscape working, today gets one LCA post… Which is a shame, because it was a spectacular day.

Damian Conway’s 14 lessons from the Perl 6 development process was of course both incisive and entertaining. The Perl6 design process has taken about six years so far, and is in fact almost complete, as has been previously reported.

The first presentation of the morning was a Blender tutorial, scheduled only late on Thursday night. It was interestined, but sadly the r300 driver had a few display issues, and having a more recent version of Blender (2.40) than the presenter (2.37) meant that I ended up with a very large and blocky gingerbread man…

Xen on POWER was next.

It started with an overview of Xen, particularly the problems it faces and the solutions it has chosen.

He then discussed the various current Power chips. Power 970 w/Hypervisor Extensions is the current target.

The Hypervison Extensions are: an IOMMU (Like an MMU for IO), a Hypervisor privilige level above the kernle privilige level, real-mode (MMU-less, used for exceptions) base+limit registers: keeps domains locked in their memory even in real mode while allowing direct-to-domain exception delivery.

The PPC Linux port supports wide hardware types, so many hardware interfaces (eg. interrupt controller) were already function pointers filled in by subarch-specific code. Other areas already supported PHYP (IBM’s Hypervisor) so port was generally easy

Currently can boot Dom0, DomU boots (with caveats). One binary runs PHYP, dom0, domU, direct to hardware thanks to OpenFirmware.

Still to be done: SMP, domU timekeeping, grant tables (Xen shared memory method), virtual IO, domain memory outside realmode area.

The main bottleneck to their work is Xen management tools portability… They rely on a hypervisor/userspace translation that i386 gets for free, but for PowerPC is very expensive without the MMU (eg. in Real mode, where the hypervisor runs…)

Long-range plans are: SMP, 970MP, live migration, non-hypervisor mode 970, cell CPU and the non-hypervisor mode 32-bit PPC (eg. my PowerBook, and my G4 tower. ^_^)

Lunch: Finally had time to write down the crashdump from the dscape modules on my PowerBook… On actual paper. It just fit in the blank column on the schedule sheets floating around. Jelmer sacrified his for my cause. ^_^

Avahi: mDNSSD. Interesting project, but it sounds like it wouldn’t be particularly helpful for wider-area service discovery (the multicast is only sent with a TTL of 1, seems kind of like Bluetooth for a LAN, based on the link-local IP address range). On the other hand, the program itself is very well done, and it’s IPv6-enabled. I’ll have to give this some further thought before I can see how to apply it. (In the enterprise world, DNS SRV and Kerberos/Active Directory are prolly better solutions anyway. This would make a network like Fenner Hall’s quite fun…). On the gripping hand, I saw a bug in one of the files he pulled up. I’m miscredited, but it’s close, and I have lots of witnesses. ^_^

Van Jacobsen: Wow. I guess it’s one of those things that just stares you in the face… The immediate upshot is I have to go whack irqbalance from all my SMP servers. The longer term upshot, if this sort of thing gets pushed successfully into Linux, is deleriously high-speed low-CPU networking… I wonder if Van Jaconbsen can drop the CPU usage of timidity like that?

I implemented a lockless ringbuffer into one of the projects I did for TransACT which has not to my knowledge seen the light of day yet. I’m glad to know that it was a good thing. I wish I’d had more time to look at Van’s code for that. I’ve prolly got a model version in a textbook at home, anyway.

Rasmus VS The Internet: Some very good advice from Rasmus regarding Internet security. It boiled down to “Don’t trust user input” which is really just as true for non-Internet applications… He also look at opcode caching briefly, and I linked to APC for his last presentation.

Rasmus took the opportunity to perform cross-site scripting attacks on sites provided by the audience, to the delight of said audience. Man, I’m alomst tempted to go back into Web Programming… almost

Perl BOF: Paul Fenwick gave a quick blurb about PerlNet, designed to be an AUS/NZ Perl community portal. Definately a project to watch, although it’s under CC-BY-SA-2.0-AU, which is a problem for code. I have to pull up the Debian discussion of this for Paul ASAP, so we can get it changed… For that matter, I need to reread the Artistic License. Sam Vilain gave a quick presentation forging on from Damian’s keynote (I ended up chatting briefly to Sam’s boss from Wellington at the dinner) and then Damian Conway demonstrated some of his favorite cool toys from CPAN.).

Interestingly, Creative Commons have put up plain-language versions of not just the license as used by but also plan-language versions of the GPL and the LGPL. This should make my argument easier to make… I wonder if they have one of the Artistic license…

In fact, a little light reading raises a question… The CC says that the SA term specifically applies to derivative works… I need to check the legalese to determine what applies to exact and direct copies… Not that it’s relative here. Taking anything from the site is a derivative work. I guess I need to talk to Paul further and see exactly what he’s trying to achieve… The important point is that any code on the site needs to be free enough to take into a GPLd or Artistic Licensed program, but both the GPL and Artistic License seem to be bound up in the code… Maybe a three-way disjoint license on the site, CC-BY-SA/GPL/Artistic. So you can make derivative works of the site under either CC-BY-SA (which means you must attribute and license it under CC-BY-SA), GPL (The aggregate must be under the GPL so everything must be GPL or looser) or the Artistic License (Roughly, if you change this apart from public- or the author-source changes, you either distribute it to the general public, only use it privately, or mark clearly what you’ve changed… Erk. Bad bad bad for a website.) And just to make things funner, one of the Perl6 RFC responses was the Artistic License 2.0. Something else I need to look up.

Penguin Dinner: Food was fine. Auction was entertaining. They ended up selling the Ian Ross signed book (link this!) for $10k, Linux Australia matches that with $10k, and USENIX matches _that_ for another $20k. The overall total needed is $500k, so I think we did our part. And the book was won by UNSW students and former students, so will be on display at UNSW next year at LCA07.

Damn, Keitarou’s down. No IRC for me, although I could drop irssi onto my laptop temporarily… Also no email until I get back home on Tuesday.

A late-2005 Perl6 release timeline which is still give-or-take valid Sam’s presentation at the Perl BOF had this in one corner, but HTML betrayed him and made it too small to see.

It is easier for a camel to pass through the eye of a needle than to finish Perl 6 In case you were wondering about the post title; also from Sam’s presentation

Edit: Actually link to previous post, rather than leaving myself a note saying “Link to previous post”…


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s