To: floris.lambrechts@... Subject: Re: UML: interview request (LinuxFocus.org) Date: Fri, 03 Jan 2003 12:22:20 -0500 From: Jeff Dike <jdike@...> f.lambrechts@... said: > So, here are some questions > * good idea? Sounds good to me :-) > * are you prepared to do en email-interview? Sure. > * or can you suggest other ppl to do one? If you want to talk to people doing interesting things with UML, I can point you to some of them. > * or is it better that I join the mailing list > and fire my questions there? An email interview is fine with me. Jeff -------------------------------------------------------------------- From: f.lambrechts@... To: Jeff Dike <jdike@...> Subject: Re: UML: interfview request (LinuxFocus.org) Date: Fri, 03 Jan 2003 13:09:55 -0700 Jeff Dike writes: > f.lambrechts@... said: >> So, here are some questions >> * good idea? > Sounds good to me :-) >> * are you prepared to do en email-interview? > Sure. >> * or can you suggest other ppl to do one? > If you want to talk to people doing interesting things with UML, I can > point > you to some of them. Maybe later, when I have a better picture of the whole thing. >> * or is it better that I join the mailing list >> and fire my questions there? > An email interview is fine with me. > > Jeff OK, thanks for that. We can start right away and see where we get... As I said before I'm not in a hurry! Please note that this is my first interview (don't worry, if I produce crap you can deny publication at any time ;). Probably I'll give UML a try before we publish this thing... Pick out any questions you like, or answer them all... This is just to get started, all the questions that came up in my head - if anything is obvious FAQ or RTFM material, please point me to the appropriate resources. Q 01. So, apprently you are Jeff Dike, 'The guy in charge' of the UML project. If you want, please give the readers a short introduction of yourself. Q 02. By skimming through the website ( http://user-mode-linux.sourceforge.net/ ), my basic understainding of the concept is that UML is a Linux kernel that runs on another 'hosting' kernel. Therfore, the UML kernel lives in userspace, and provides 'virtual' hardware to whatever that is running under it. Is this correct? Q 03. How happy are you that UML is in the official Linux tree? Q 04. Since UML lives in user space, can you run it as non-root? Can you chroot it? (sorry if these are stupid questions) Q 05. There is a 2.4 and a new 2.5 series of UML. Can you run the 2.5 UML on a 2.4 host kernel, and vice versa? Q 06. The Bochs IA-32 emulation project emulates the x86 instructions on other platforms. I assume UML doesn't do this... And it doesn't have to emulate a whole system, like VMware does. As a result, is it faster than these two systems. How fast is it, how much resourced does it use (can you run it on a 468 with 8 MB ram for light uses?) Q 07. It seems that UML is ideal: you can test buggy software as much as you like, but it will never do any harm to your system. But can you have both advantages at the same time: AND do everyting you want to do AND never endanger your system? I.e.: is ther a trade-off between flexibility and security? Q 08. A nice thing to try out would be to run UML inside a UML inside a normal system. Can you do that and if so, what is the record in daisy-chaining UMLs? Q 09. Did you steal the idea of IBM's AIX OS, that also has virtual server capability? Q 10. I read on http://uml.openconsultancy.com/paper.php that "UML isn't suitable for high-end hosting". Will it move up to the higher end now that it will be in Linux 2.6? Q 11. You guys seem to have a lot of fun. One example is the , "The Sysadmin Disaster of the Month" on UML boxes, another one is this quote: "UML for fun and profit / Well, forget about the profit part" (http://uml.openconsultancy.com/ ). On the other hand, the practice of setting up virtual servers and renting them is very interesting for enterprises, and the development of kernel extensions is a serious thing. Is it a thin line between toy and too, or are you guys just of the humurous type ;-) ? Q 12. If e.g. Cygwin (Unix-environment for Windows platforms) would like to port UML to run on windows, how much work do they have to do? I heard that in theory it should be possible to run UML on other platforms... Q 13. How irritating is it that the Unified Modeling Language uses the same three letters (being UML)? Thanks a lot... regards floris PS By the way, LinuxFocus.org being multi-lingual, you will have your interview translated into Dutch, French, German, Russian, Spanish, Turkish, Chinese, and possibly Portuguese, Italian and Polish :-) ---------------------------------------------------------------------- From jdike@... Sat Jan 4 03:55:02 2003 To: f.lambrechts@... Subject: Re: UML: interfview request (LinuxFocus.org) Date: Fri, 03 Jan 2003 21:55:02 -0500 From: Jeff Dike <jdike@...> > Please note that this is my first interview (don't worry, if I produce > crap you can deny publication at any time ;). It would be nice to see the interview before publication, to correct any factual errors. I would have no intention of trying to change whatever opinions or impressions you may express as part of it. > Probably I'll give UML > a try before we publish this thing... Yeah, that would be a good plan. The answers are below. Jeff > Q 01. So, apprently you are Jeff Dike, 'The guy in charge' of the UML > project. If you want, please give the readers a short introduction > of yourself. Yes, you have found me... OK, here is a short blurb from Bill Stearns, who is my official biographer: Jeff finished his tour of service to the State of New Hampshire when his parole was granted in 1992. Since then he has served as a freedom fighter in Idaho for the Potato Liberation Front, an extra in "Death to Smoochy" (dead body #7), and as lead starcher in Deering NH's largest Chinese laundry. He is currently rewriting the linux kernel as a DOS batch file. > Q 02. By skimming through the website ( http://user-mode-linux.sourcefo > rge.net/ ), my basic understainding of the concept is that UML is a > Linux kernel that runs on another 'hosting' kernel. Therfore, the > UML kernel lives in userspace, and provides 'virtual' hardware to > whatever that is running under it. Is this correct? Yes. UML treats a Linux system as a platform that Linux may possibly be ported to, exactly analogous to looking at a bare x86 or ppc machine and considering porting Linux to it. Of course, Linux as a platform to run an OS on is very different from a hardware platform, and one of the things that UML proved by its existence is that the Linux system call interface is rich enough that an OS can be implemented in terms of it. UML's hardware is virtual, in the sense that it accesses all outside resources through the host kernel. Normally this means that the devices seen by a UML instance are really virtual, i.e. a "disk" which is really a file on the host. However, you can assign a physical disk, partition, CD-ROM, or floppy to a UML block device by way of the device file, and the UML will be able to access the data on it. However, it will not be able to issue low-level commands to the device in the same way that the driver in the host kernel does. However, there has been some work in this area, with a patch recently posted which claims (I haven't looked at it yet) to allow stock PCI device drivers to be built into UML and drive the appropriate physical devices. > Q 03. How happy are you that UML is in the official Linux tree? Technically, it's not a big deal. I had been maintaining UML out of the tree for more than three years (and I am continuing to maintain the 2.4 UML out of tree), and it would not have been a problem to continue doing so. The recognition that it brought was nice. When Linus merged UML into 2.5, the world saw that UML was worthwhile (and a good part of the world became aware of UML for the first time). This "stamp of approval" is probably the most significant aspect of having UML in the Linus tree, as far as I'm concerned. It now can't be dismissed as a loony kernel patch on the fringes of respectable kernel development. > Q 04. Since UML lives in user space, can you run it as non-root? Can > you chroot it? (sorry if these are stupid questions) Yes, and yes. In fact, I highly discourage running it as root, not because there's any great danger to it, but because it is totally pointless. Some users have some problem getting used to the idea that they can run UML as a normal user and then become root inside the UML with all the privileges that come with it. They think they need to run UML as root, so very emphatically telling them that's not necessary, and having them find out that it's true is something of a learning experience for them. I'm also gratified that this attitude has taken hold in the UML user community - I hardly ever have to do this re-education any more; other users now do it for me. It can be chrooted, and that is recommended procedure for people who are using UML to contain possibly hostile software or users, as an extra layer of protection to the host in the event that someone finds a way of breaking out. > Q 05. There is a 2.4 and a new 2.5 series of UML. Can you run the 2.5 > UML on a 2.4 host kernel, and vice versa? There are basically no dependencies between the host kernel version and the UML kernel version. As long as the host can run UML at all, it can run any version of UML. > Q 06. The Bochs IA-32 emulation project emulates the x86 instructions > on other platforms. I assume UML doesn't do this... And it doesn't > have to emulate a whole system, like VMware does. As a result, is > it faster than these two systems. How fast is it, how much resourced > does it use (can you run it on a 468 with 8 MB ram for light uses?) UML is much faster than Bochs, precisely because there is no instruction emulation. From what I hear, UML performance is on a par with VMWare when running it in its new skas mode. UML is lighter-weight than VMWare, so you can get more UML instances than VMWare instances running on a given host. UML has a slimmer architecture, since it doesn't have to emulate the physical machine, and once it has had the same amount of tuning effort that VMWare has, I would expect it to be noticably faster. I'd imagine you could run it on a 8M 486. I know of people using UML on Pentiums (and the first year of UML development was done on a P66). Obviously, you should not expect blazing speed on such a host... > Q 07. It seems that UML is ideal: you can test buggy software as much > as you like, but it will never do any harm to your system. But can > you have both advantages at the same time: AND do everyting you want > to do AND never endanger your system? I.e.: is ther a trade-off > between flexibility and security? As far as I understand the question, there is no trade-off between the two. This may depend on what you're doing. If the buggy software requires access to hardware, and you provide it that access, then the software can possibly mess up the hardware. If you're testing buggy network software, and you give it access to your real network, then it may possibly mess up the network. On the other hand, there is hardly anything that requires access to physical hardware or the real network. You can test practically anything with virtual resources, i.e. test a new filesystem on a virtual disk, or investigate a worm on a virtual network. > Q 08. A nice thing to try out would be to run UML inside a UML inside > a normal system. Can you do that and if so, what is the record in > daisy-chaining UMLs? Nesting works. I've only ever done one level of nesting. BTW, this is not the stupid kernel trick that it may at first seem to be. It has been very useful to me in UML development. The recent development of skas mode, which allows the UML kernel to run in a separate address space from its processes, is a good example. This needs host functionality which isn't in the standard kernel. I developed this host support inside UML, then used that UML to host the UML that used the support. Only after this was all debugged did I port the host support to the i386 kernel. > Q 09. Did you steal the idea of IBM's AIX OS, that also has virtual > server capability? No. I think that's impossible anyway because I don't believe that AIX can host itself. You are possibly thinking of z-OS (the OS formerly known as VM), which I also didn't steal the idea from. The idea occurred to me independently, as a way of making kernel development easier. > Q 10. I read on http://uml.openconsultancy.com/paper.php that "UML > isn't suitable for high-end hosting". Will it move up to the higher > end now that it will be in Linux 2.6? UML being in 2.6 doesn't really have much to do with it. I believe that David is referring to SMP and large memory support. When that paper was written, UML didn't support SMP or highmem. Now it does, although both of those capabilities need to mature some before people should feel comfortable offering large-memory SMP UMLs to their hosting customers. > Q 11. You guys seem to have a lot of fun. One example is the , "The > Sysadmin Disaster of the Month" on UML boxes, another one is this > quote: "UML for fun and profit / Well, forget about the profit part" > (http://uml.openconsultancy.com/ ). On the other hand, the practice > of setting up virtual servers and renting them is very interesting > for enterprises, and the development of kernel extensions is a serious > thing. Is it a thin line between toy and too, or are you guys just > of the humurous type ;-) ? I think it is the latter. UML has brought together a bunch of people who happen to have somewhat whacked senses of humor, so, of course, we get along fine :-) It may also be that this virtualized world of universes inside universes attracts people with a certain mentality, and that could explain some of the humor floating around. No matter how serious what we're doing is, or how serious the implications and uses of it are, you gotta have fun. It would be a very dreary world if you're not allowed to let what you're doing amuse you somehow. > Q 12. If e.g. Cygwin (Unix-environment for Windows platforms) would > like to port UML to run on windows, how much work do they have to do? > I heard that in theory it should be possible to run UML on other > platforms... This has been (mostly) done twice. The most recent effort apparently required about a week of hacking. The older one (http://umlwin32.sf.net) has been ongoing in peoples' spare time over a period of months, so it's hard to say how much continuous effort it represents. And I would just like to say that it would be nice for one of these ports to be finished and debugged. There is a great deal of demand and interest in UML running on Windows. > Q 13. How irritating is it that the Unified Modeling Language uses the > same three letters (being UML)? Not at all. Acronym clashes are a way of life. The other UML and my UML have nothing whatsoever to do with each other, so it's hard to imagine people mistaking one for the other. I'd like to add a couple of pointers to UML resources - usermodelinux.org is a portal devoted to UML that's run by David Coulson the #uml IRC channel on irc.usermodelinux.org (which is oftc.net) for UML-related chat, questions, etc. ------------------------------------------------------------------------- To: floris.lambrechts@... Subject: Re: LinuxFocus.org UML interview follow-up questions Date: Fri, 10 Jan 2003 23:39:12 -0500 From: Jeff Dike <jdike@...> > Q 01b. Are you working on UML (semi)professionally, or is it just a > hobby? It's a hobby more or less. I have received a good amount of support from Dartmouth ISTS (www.ists.dartmouth.edu) for honeypot-related UML work. I've also had occasional support from companies which wanted features added or bugs fixed. > Q 14. You mentioned the new 'skas' architecture and the fact that UML > can become much faster with some tuning effort. Are you tuning it > right now, or instead focusing on new functionality? Right now, I'm focusing on stability. The skas merge was a large change, and it closely followed the SMP and highmem work. These were all somewhat destabilizing because they were fairly intrusive. At this point, people are saying that it's about as stable as it was before all this work, and that is pretty good. In the medium-term, I'm going to do a few larger-scale changes such as kernel UML and libUML.so (described in my paper at opensourcedigest.org) doing block I/O with mmap rather than read/write swsusp merging the hardware device driver code that was recently published And there are a good number of smaller additions in the works as well. For the foreseeable future, I'm not that concerned with performance. With the skas work, it performs quite well, so that will be a low-priority item for a while. > Q 15. Is UML equally mature on non-x86 platforms? How does it run on, > say, MIPS or PPC? No, and it doesn't. There was a ppc port that was nearly fully functional at one point, but it stopped being maintained, and has bitrotted. Ports are certainly possible, and shouldn't be that hard. I'd like to see some, especially if they will be maintained. > Q 16. How much use has UML seen in production environments, i.e. is it > already used to run businesses like hosting services? I know of a few hosting services which are using UML. There are also some commercial uses that you might not think of at first - server consolidation - I've heard of a good number of example of this. In one case, someone mentioned that their company had several hundred UML instances running. He didn't say that they were used as part of a server consolidation effort, but that would be my guess. online training - there are education companies offering Linux sysadmin courses which use UMLs rather than physical boxes. > Q 17. UML is a new concept for sysadmins, an unexplored area. Are the > UML management tools (like the umld) alrady mature enough - are they > effective at handling the new problems UML brings to sysadmins? (=> to > put it another way: UML solves some problems, and brings in some new > ones. Can you handle these new problems effectively, or is it still a > nightmare to support 10 UMLs on one box?) This would be a question to ask Bill Stearns or David Coulson. I try to deal strictly with the kernel and leave management tools to other people. However, I have seen these tools in action, and they do simplify setting up, running, and managing UMLs. For example, you can set up a UML though the UMLd web interface and have a new UML running within ~30 seconds of submitting the form. So, the overall answer is that the existing management tools make dealing with lots of UMLs fairly easy. No doubt it can be improved further, but the tools are off to a good start. > Q 18. What about app support? Would you like to see new functionality > in applications like Apache or BIND to make them easier to manage in > a UML setup? Not really. A UML instance is just a normal Linux box. The functionality that's specific to UML is available without needing special application support. > Q 19. Linux Cd-distros like Knoppix or Movix are often used to 'demo' > linux applications (like a new KDE, a movie player, a new 3D-game), > but they require you to reboot the system. Do you see a good > potential for UML in the demo area - without reboots? I haven't heard of UML being used to demo apps, specifically. What I have heard of is UML being used as a medium to ship a pre-configured application. This has been done with the intent that the app will be used, not demoed necessarily. The earliest example of this that I heard of is Sapan Bhatia shipping a preconfigured ARM kernel cross-development environment. This is apparently a pain to set up, so he just set up a UML filesystem with everything all set to go. Another example is the use of UML as a preconfigured network sensor. You install snort or a similar tool inside a UML filesystem, boot a UML on it, and it automatically goes to work. Also, demoing entire distributions has been a major use of UML since its introduction. This is a great way of playing with new distributions. I've become a major fan of Debian strictly through using it as my UML filesystem of choice - I've never installed it on hardware. And I know several other people who have had similar experiences. ------------------------------------------------------------------------ From: f.lambrechts@... To: Jeff Dike <jdike@...> Subject: Re: LinuxFocus.org UML interview follow-up questions Date: Sat, 11 Jan 2003 01:33:41 -0700 Jeff Dike writes: >> Q 15. Is UML equally mature on non-x86 platforms? How does it run on, >> say, MIPS or PPC? > No, and it doesn't. There was a ppc port that was nearly fully functional > at one point, but it stopped being maintained, and has bitrotted. Ports > are certainly possible, and shouldn't be that hard. I'd like to see some, > especially if they will be maintained. W 15b. So untile someone picks up that work, it is an official part of Linus' kernel that is not yet ported? >> Q 17. UML is a new concept for sysadmins, an unexplored area. Are the >> UML management tools (like the umld) alrady mature enough - are they >> effective at handling the new problems UML brings to sysadmins? (=> to >> put it another way: UML solves some problems, and brings in some new >> ones. Can you handle these new problems effectively, or is it still a >> nightmare to support 10 UMLs on one box?) > This would be a question to ask Bill Stearns or David Coulson. I'll try to get in touch with them for a quick description of their work. I think this should be enough material for one article... Maybe I'll have some additionol questions when I finish it (that is *at least* 3 weeks off). In the meantime, if you want you could submit a picture of yourself for inclusing in the article... ---------------------------------------------------------------------- To: f.lambrechts@... Subject: Re: LinuxFocus.org UML interview follow-up questions Date: Sat, 11 Jan 2003 13:32:11 -0500 From: Jeff Dike <jdike@...> f.lambrechts@... said: > W 15b. So untile someone picks up that work, it is an official part of > Linus' kernel that is not yet ported? No. UML is a port. You can't say that it hasn't been ported. Porting UML to a new architecture is akin to porting a hardware architecture to a new chip in the same architecture. Jeff ---------------------------------------------------------------------- Date: Sat, 11 Jan 2003 13:53:44 -0500 From: David Coulson <david@...> To: f.lambrechts@... Subject: Re: Question for a LinuxFocus.org interview f.lambrechts@... wrote: > Be assured that LF.org has a lot of readers, and quite a few of them are > enthousiastic about stuf like this :-) Good :-) > So, could you guys (one of you) describe me which admin tools there are > for UML (umld, ...), give a quick intro on what they do, and where > they're going? UMLd is a daemon which manages UMLs for both users and administrators. For users, it allows them to reboot a crashed UML, or update the kernel, without having shell access to the machine. For administrators, it allows UMLs to be controled and modified, even created, without having to mess around with files on the server. Ideally, UMLd would be able to control every aspect of the UML, which on the most part it does. However, as UML is constantly being developed, UMLd has to be kept up to date with anything which is added to the UML kernel. > Do they need major improvement to become efficient tools, or are they > ready for prime time? I've been running UMLd on a two host, 30+ UML network for a number of months, and I've had very few problems with it. I use it for building all of my UMLs, rebooting them, upgrading the kernels, and so forth. To be useful for end-users, UMLd really needs a nice GUI front-end writing for it, which is something which I will likely start writing once I'm happy with the features of UMLd and the protocol which UMLd talks with the clients has been stabalized. Let me know if you need more information. David -------------------------------------------------------------------- Date: Fri, 23 Apr 2004 01:00:27 From: "Jeff Dike" <jdike@...> Subject: Re: OK to publish old UML interview? To: floris.lambrechts@... florisla@... said: > Is it ok to publish the article in the current form? Yup, it's still largely OK. > The last interview question: 'Do you have any additional remarks, 16 > months after this interview?' I would also mention that there is a working x86_64 port of UML which I hope to release soon. Also, I have done some more writing about what's new in UML, and what's coming up in my diary - http://user-mode-linux.sf.net/diary.html - the most recent entry, and also some earlier ones. Jeff
mirror server hosted at Truenetwork, Russian Federation.