Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Microsoft Software Linux

Plex86 Lives, As Lightweight VM Technology 232

Kevin P. Lawton writes "Plex86 has been completely overhauled, and simplified to be a user (application) code only Virtual Machine technology. For running user code, many of the heavy weight x86-VM techniques are unnecessary. But the bonus is, Linux can easily be made to run inside the plex86 VM, so that the kernel is actually 'pushed down' to user privilege level. This has been demonstrated on both Linux 2.4 and 2.5 kernels. Thus, Linux can run in a plex86 VM without the need for any heavy virtualization. My goal is to keep the code base trim, tight, auditable and get to usable releases quickly. And to favor those goals over adding unnecessary complexities. The first milestones have just been reached, so it's still early in development. There are email lists available on the main plex86 site."
This discussion has been archived. No new comments can be posted.

Plex86 Lives, As Lightweight VM Technology

Comments Filter:
  • UML (Score:3, Interesting)

    by Anonymous Coward on Wednesday February 12, 2003 @07:00PM (#5291396)
    User mode Linux has been invented and merged to the kernel already, no need for any additional software.
  • Plex86 vs. VMWare? (Score:4, Interesting)

    by Anonymous Coward on Wednesday February 12, 2003 @07:00PM (#5291403)
    A topic brought up on Slashdot some time ago had some interesting discussion that if Free solutions like Plex86 took off, it would destroy VMWare's business model, and show other businesses that you can't make money developing software for Linux because someone will undercut you with a Free solution. How do you respond to these fears?
  • by modus ( 122983 ) on Wednesday February 12, 2003 @07:01PM (#5291411)
    Funny you should ask. The site talks about using the new plex86 as an acceleration engine for Bochs. So, instead of emulating each x86 instruction, Bochs could leverage Plex86 and get a big 'ole speedboost.

    Kevin's posted a very limited test case demonstrating this ability to the Bochs lists a bit ago.
  • by PCM2 ( 4486 ) on Wednesday February 12, 2003 @07:09PM (#5291478) Homepage
    Bochs works fine, even if slow, and virtualization isn't exactly a big market.
    You might be surprised. Lots of people are interested in virtualization. It's useful for things like software testing, and ISPs are keen on it for giving their customers the "dedicated server" experience while maintaining fewer actual boxes. That said, the most effective type of virtualization is the kind that gives applications a "chroot" type of environment -- where each virtualized process is running on the same instance of the OS. Running all those Linux kernels in virtualized environments doesn't really reduce your infrastructure complexity all that much...
  • Portability? (Score:2, Interesting)

    by Chester K ( 145560 ) on Wednesday February 12, 2003 @07:10PM (#5291492) Homepage
    Because of the new lightweight VM strategy, plex86 is quite small in size, and thus there is big potential for auditability of the VM technology. This is important as the VM monitor runs as a device driver in the host kernel.

    VMware doesn't need a device driver, if I'm not mistaken. Wasn't plex86 originally supposed to be a clone of VMware?
  • by Anonymous Coward on Wednesday February 12, 2003 @07:16PM (#5291528)
    A topic brought up on Slashdot some time ago had some interesting discussion that if Free solutions like Plex86 took off, it would destroy VMWare's business model, and show other businesses that you can't make money developing software for Linux because someone will undercut you with a Free solution. How do you respond to these fears?

    Easy, It's not any different than new competition for any company other than the competition in this case is giving away a product for free, so they can't compete on price. VMware will have to offer some additional value over Plex86. It could be improved performance, ease of use, stability, compatibility with more/different environments, tech support, you name it. They just have to offer something that people will be willing to pay extra for. Plex86 has a long way to go before they are a credible threat to VMware, but once that happens VMware will be forced to adapt
  • by steveha ( 103154 ) on Wednesday February 12, 2003 @07:20PM (#5291551) Homepage
    There are two things I would like to do with plex86:

    0) multiple virtual Linux servers, each in its own chroot jail.

    1) run Win98 under Linux, to be able to run Win32 apps for testing purposes or backwards compatability.

    Sounds like it will do multiple Linux servers very well, soon. But do they still have any hopes for plex86 running non-Linux OSes as guests?

    P.S. According to reviews I have read, Win4Lin does a decent job of letting you run Win98 under Linux. It's not free software, of course.

    steveha
  • User-Mode Linux? (Score:5, Interesting)

    by Doc Hopper ( 59070 ) on Wednesday February 12, 2003 @07:20PM (#5291553) Homepage Journal
    With the changes he's made in the goals of Plex86, it sure seems as if he's targetting the same approach currently in use by User-Mode Linux. I understand it may be quite different under the hood, but will that matter to users? It doesn't matter much to me if the task is accomplished using a ptrace thread under kernel system calls or actually virtualizes hardware -- if I can run several virtual GNU/Linux systems on top of one physical system, at a reasonable speed for the load, using free software as much as possible, I'm happy. The technical details of how it's done are irrelevant to me -- what matters is the result.

    If the Bochs/Plex86 combination is actually faster than Bochs by itself on X86 hardware, and can approach the speed of VMWare, well, that sounds interesting to me. Virtualization technology is a large and growing market, funding a lot of IBM's recent growth in the mid-range server market with quad and 8-processor systems running VMWare to aggregate systems, improve manageability, and reduce personnel management costs. There's no denying the need is there; VMWare posted their first profit ever last quarter because of these strong sales, with more big money coming down the pipe.

    Competition among free software projects is a good thing. I'm glad to see Plex86 come out with something new that may work better than the old. But what most people wanted was to run multiple copies of Microsoft Windows on top of Linux, or to run MS Windows in VMs alongside GNU/Linux, and if that doesn't work easily & quickly, it may be a potent obstacle to widespread adoption.
  • by QuantumG ( 50515 ) <qg@biodome.org> on Wednesday February 12, 2003 @07:27PM (#5291610) Homepage Journal
    The author of Plex86 and Bochs is the same guy who declared that VMWare had "ripped off" his idea and gone commercial after looking at his technology. The failure of Plex86 (and that's what this announcement is, an admission of failure) just goes to show that Kevin is and always was full of shit. He's been claiming that Bochs would have a binary translation system (much like VMWare and VirtualPC use) to speed it up ever since back when he was trying to flog it as shareware. So, in response to your question, there is very little fear that Kevin is going to come up with a product that can compete with VMWare (or VirutalPC for that matter) because he's no good.
  • Re:User-Mode Linux? (Score:3, Interesting)

    by Nicolas MONNET ( 4727 ) <nicoaltiva@gmai l . c om> on Wednesday February 12, 2003 @07:28PM (#5291618) Journal
    The problem with User-Mode Linux, as I understand it, is that the virtual machine is not that much isolated. It doesn't guarantee as much as it seems in terms of access control, security etc.

    This virtualisation technique, however, could probably be much safer.
  • Project Management (Score:5, Interesting)

    by N1XIM ( 159082 ) on Wednesday February 12, 2003 @07:47PM (#5291714)
    All I have to say is that I hope it all actually works this time. I've been trying desperately to maintain the old Plex86 code for the last year and haven't been able to get much of anywhere. "WHY?" you may ask? I can say that right here, and I don't mean it in poor spirits either:
    Kevin's code is obfuscated and doesn't mean much to you unless one or more of the following is true--
    1) You are an equally enlightened coding genuis as Kevin is;
    2) You have been programming for 25 years and still don't know what a comment line is for;
    or
    3) You always work alone and therefore the more disorderly the code the better for you.
    This has been a real problem. I hope that his fork of the code works better than what I've been trying to document for the last year.
    --Drew Northup, N1XIM (former, I guess) Plex86 maintianer
  • by DrSkwid ( 118965 ) on Wednesday February 12, 2003 @07:52PM (#5291731) Journal
    it's cheaper to build another PC !
  • I don't get it. (Score:3, Interesting)

    by DdJ ( 10790 ) on Wednesday February 12, 2003 @07:52PM (#5291734) Homepage Journal
    The whole thing that makes x86 virtualization a difficult problem is that the x86 CPU has some non-user-mode instructions that can't really be virtualized. By saying "I'm only going to try to do this for user-mode instructions", isn't that turning the problem into something an average CS undergrad could solve in a few weeks? I mean, what am I missing here? What about this whole thing is now nontrivial?
  • by Elwood P Dowd ( 16933 ) <judgmentalist@gmail.com> on Wednesday February 12, 2003 @08:09PM (#5291838) Journal
    Once it's done, you'll have free VMWare, right? Do you have any idea how cool MacOnLinux is for LinuxPPC users? Plex86 should be at least that cool for x86 machines. You'll be shocked how many people will use this every day.
  • by larry bagina ( 561269 ) on Wednesday February 12, 2003 @08:10PM (#5291842) Journal
    IBM does.
  • by hopeless case ( 49791 ) <christopherlmarshall@g m a il.com> on Wednesday February 12, 2003 @08:39PM (#5292026)
    Silly as it sounds, one of the more intriguing possibilities with User Mode Linux is running linux as a user space process under the windows.

    This would mean a number of things, but one of them would be that a windows user wouldn't even need to reboot to be able to run a full distribution of linux on their windows box.

    I wonder if plex86 has a route to acheiving the same end?
  • by karearea ( 234997 ) on Wednesday February 12, 2003 @08:52PM (#5292101)
    Ah yes, but it IS cheaper than building 4 PCs.
  • by Anonymous Coward on Wednesday February 12, 2003 @08:57PM (#5292118)

    if Free solutions like Plex86 took off, it would destroy VMWare's business model

    Well, there's no chance of that here. What this announcement means is that plex86 can only provide a virtual user mode x86 - i.e. it cannot virtualise an OS and give you Windows on Linux, for example.

    Frankly virtual user mode seems pretty pointless to me. Kevin Lawton thinks it is useful because you can modify Linux (and other OSes where you have source access) to be a user mode task and then get Linux on Linux using the new plex86.

    So, it's a competitor for User-Mode Linux and the like, and not a competitor for VMWare.

    To be honest I don't know how well it compares against UML, but Kevin Lawton seems to have come at this from the route of "gosh, virtualised ring 0 x86 is Really Hard - lets abandon that original objective and do something similar but easier" (see for example this LKML post [iu.edu]) rather than "what's the best way to do Linux on Linux".

  • by lkaos ( 187507 ) <anthony@NOspaM.codemonkey.ws> on Wednesday February 12, 2003 @09:15PM (#5292201) Homepage Journal
    Feel free to flame and correct:

    User Mode Linux is a port of Linux that allows the host Linux operating system to run the Linux kernel as a process (this could be seen more or less, as an exokernel). This is done by changing the Linux kernel code to use malloc() to allocate memory instead accessing hardware.

    UML uses ptrace to intercept its childrens system calls and then forwards them to user-functions in the kernel.

    Plex86 on the other hands makes no modifications to the kernel. Instead, it takes a stock(1) kernel and virtualizes the few instructions that aren't allowed to run in user mode (an exception is thrown when these instructions are attempted to run and Plex86 catches this, performs the virtualization, and returns as if the instruction actually executed).

    Plex86 is literally virtual machine whereas UML is really just removing and hardware specific stuff in the kernel and making it a regular C program.

    (1) I lied a little here. There is an inherent design flaw in three instructions on x86 such that they do not allow for the above. Kevin submitted a small patch (that I assume got accepted) to make these instructions only be accessed through inlines with additional code such that they behave as they should. By correcting this, it makes implementing a VM more or less trivial.

    Note: unless someone finds a _really_ innovative way to allow these instructions to be easily handled for other operating systems, it's not likely you'll see Plex86 run other properitary operating systems.

    Note2: Plex86 is more likely to make it to Windows first because UML requires ptrace and Windows has no concept of ptrace(). Not to mention the fact that mmap behaves quite differently on Windows.

    Note3: Yes, the above problems have been addressed in the UML Win32 port but they are non-trivial. From what I can gather, a Plex86 port will be pretty trivial to Windows...
  • by kma ( 2898 ) on Wednesday February 12, 2003 @09:25PM (#5292247) Homepage Journal
    Arrggh, it's too hard.

    I work for VMware. if you want to believe we've corrupted Kevin's precious bodily fluids, feel free. I don't speak for the company, and I know nothing beyond what slashdot has posted about plex86. Consider yourself disclaimed.

    If I understand the story correctly, plex86 has basically surrendered. They've given up on running arbitrary supervisor level code; the Linux guests that Kevin refers to above require a patch [iu.edu] to "fix" something the new "lean, mean" plex86 gets wrong.

    If Linus is feeling even vaguely himself, he will not accept this patch. Ordinarily, people trying to put stuff into the kernel that a) hurts performance, and b) fixes no real problem, but c) is critical to some contrived project that seems really important to the contributor get entertainingly flamed, and then shown the door. In fact, Kevin's most likely motivation for submitting this as a Slashdot story is to marshall support for his Linux patch.

    Even if Linus does accept this patch, I can guarantee you that Microsoft, the FreeBSD team, the now non-existent Be, etc., won't all be taking helpful hints from Kevin about which x86 features they may and may not use. Ergo, there is nothing interesting (either commercially or geekily) you can do with plex86; the most it can hope for is to run recent-ish Linux guests on recent-ish Linux hosts. Bestill my heart.

    On the upside, maybe Kevin will stop implying that VMware stole Bochs [winehq.com], now that he's spent four years trying to clone our software and has finally admitted defeat.
  • by walt-sjc ( 145127 ) on Wednesday February 12, 2003 @09:30PM (#5292264)
    It's NOT cheaper than another laptop. Not to mention that you don't really want to carry 3 or 4 laptops around with you in the first place.

    VMWare also has several other really nice features like undoable disks. I've been using VMWare since version 1.0. Hot stuff.

    Also, think about things like power usage, heat, desk space, etc.
  • by karlm ( 158591 ) on Wednesday February 12, 2003 @10:06PM (#5292407) Homepage
    Yes. This is a very good idea. Had you been born 50 years earlier you'd be rich. Unfortunately, IBM has had this idea since the dark ages on thier big iron, with O/S 390. The s390 hardware was speciaffically designed form the ground up to make virtualization easy, seamless, and indistinguishible froom the "bare hardware". I once read there was some minor screw up involving being able to tell you weren't on the bare hardware by checking some clock register or something. When you run Linux on the zSeries (I think that's the stuff that replaced the S390 hardware), you actually run it on an O/S partition rather than on the bare hardware.

    O/S 390 lets you partition all of the resources (I/O bandwidth,. CPU time (think about setting up vmware to give one VM 2.6 CPUs and another 1.4 CPUs), RAM, and of course disk space). The Oracle liscence fees depend on how much processor power you give to the partition(s) you're running Oracle in. It's really too bad we didn't all get poor slow ripoffs of Big Iron rather than getting the super tweaked typewriter brains (x86) we run stuff on now. This really cool stuff has been around for decades.

    Sorry, today I saw the SGI parallel machine my lab got and was reminded about how cool some hardware is. Then again, the beast isn't up and running yet because it needs some specialty wiring run in the lab. My apartment power is finiky enough the way it is.

    As to the oposite of the IBM approach, I learned today that the Cray T3E isn't an SMP machine. You dedicate a certain number of the CPUs to the OS and some to running realtime/interactive processes, and the rest of the CPUs run normal processes. This is Asymetric Multi Processing, like how the FreeBSD kernel used to only run on CPU 0. I lost a little respect for Cray today, though I guess AMP is the easy way to get scalability to thousands of CPUs. You have to manually configure the number of CPUs dedicated to OS tasks, etc. While I'm rambling, is anyone aware of any microkernel OSes that run on Big Iron?

  • by N1XIM ( 159082 ) on Wednesday February 12, 2003 @10:34PM (#5292537)
    I'm not down on Kevin--I just don't like it when people do something behind my back. Kevin knows that--and I'm sure that if he could do something about it he would. And I have seen some of his newer code (not this exact version, mind you) as it is part of Bochs--it looks much nicer.
    The unreadable bits, mind you, had little to do with the IA-32 ISA--they were in the nexus code. Most everything else was written with the involvement of many other people, so it follows much more easily. So yes, he likely has yanked them out. I'm not sure what I'll be doing next, but if anybody here gives a s#*! I'd be happy to tell you. Ideas on the back burner:
    1) Live DB-based collarborative code editing framework;
    2) A Caching, Versioning, Journalling File System;
    3) A code outline editor that doesn't do nasty things to the code--so that not everybody on the project has to use it.
    If anybody is interested (and doesn't mind working with a quality and documentation obsessed engineering-trained hard-ass--guess how I got to be that way......) then I'd be happy to hear from you some time. I'll check back here to know if I should make myself easier to get a hold of for you.
    --Drew Northup, N1XIM
  • by Anders1 ( 443473 ) on Wednesday February 12, 2003 @10:38PM (#5292557)
    Just curious -- wouldn't Kevin's patch also make Linux run faster in VMWare as well?

The hardest part of climbing the ladder of success is getting through the crowd at the bottom.

Working...