Slashdot Mirror


Matt Dillon On FreeBSD 5.0 VM System And More

JigSaw writes: "OSNews features a very interesting interview regarding FreeBSD 5 with the guy responsible for the very good (technically) FreeBSD VM among other things. Matt Dillon talks about everything: FreeBSD 5, Linux, .NET and much more. Additionally, OSNews also includes two mini interviews with the NetBSD and OpenBSD head developers."

31 of 280 comments (clear)

  1. Some good points here... by TedCheshireAcad · · Score: 5, Interesting

    This guy makes several good arguments for *BSD, mainly, the difference between *BSD and Linux for the desktop. Many people think that *BSD is only the shell, but GNOME and KDE can be compiled on it just as easily as on Linux, no compatability code needed. Also, his point about .NET is a good one, that Microsoft is just using it as buzzword VaporWare to name whatever the new latest and greatest product that will "change the world".

    1. Re:Some good points here... by frob2600 · · Score: 5, Informative

      You should never NEED to compile GNOME or KDE for FreeBSD. They come precompiled and are an option during the install if you want one. Personally I did compile GNOME because I was bored. ;-)

      But even if there was some reason that you could not use the code the way it is, FreeBSD has a very good ports tree that will download the current source, patch it for FreeBSD, compile it for your system, install it, and then clean up after itself. VERY SEXY... YEAH!

      Well, I need to clean my underpants again. So I guess I am done ranting here.

      --

      ---
      "Do not meddle in the affairs of sysadmins,
      for they are subtle and quick to anger."

  2. Not all labelled Linux is actually Linux by esvoboda · · Score: 5, Insightful

    Consider one of Dillon's points: "A great deal of what people label as 'Linux' isn't actually Linux."

    As a long-time FreeBSD user, I am fascinated when Linux users go to bat citing so many popular open source applications as Linux applications. Very few of the thousands of applications out there need to run in Linux "emulation" mode on FreeBSD. Almost all applications build and run similarly on FreeBSD as Linux.

    I read print magazines such as Linux Journal and visit many Linux web sites, knowing that the content is very much applicable to my OS of choice.

    1. Re:Not all labelled Linux is actually Linux by Arandir · · Score: 4, Funny

      Since you can run Windows applications on Linux using WINE, would it be proper to say that "Microsoft Word is a Linux application"?

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  3. VM in Linux and FreeBSD by HalfFlat · · Score: 3, Insightful

    It was interesting to read that Matt Dillon is supporting Rik van Riel's work on the VM in Linux. There has been a lot of controversy ove the Linux VM, with a number saying that the latest one - based on Rik's work - had made a poor comprimise: more smooth operation for lower overall performance, making it better suited to interactive applications than server applications.

    Not being a kernel-list follower, I don't know much about the details, but I'm sure there are other Slashdot readers who are much more familiar with them. I would have thought that lower expected latencies from the VM would improve most server-based tasks as well, at the possible cost of reducing the maximum amount of work the machine could do - but then, it seems counterproductive to talk about performance in such a heavily-loaded environment when the best solution would be typically to add more hardware (RAM, CPUs or split across multiple machines.) Do I have this all wrong?

    Also, is anyone able to describe the degree to which the new VMs of both Linux and FreeBSD are similar? What are the concepts behind them that distinguish them from other and earlier VMs?

    1. Re:VM in Linux and FreeBSD by AKAImBatman · · Score: 5, Interesting

      Also, is anyone able to describe the degree to which the new VMs of both Linux and FreeBSD are similar? What are the concepts behind them that distinguish them from other and earlier VMs?

      I could spout technical details all day, but it wouldn't mean anything. Instead, let me try to take it from a different perspective.

      When a transmission for a car is designed, one of the greatest criteria is that the transmission shift smoothly instead vs. quickly. Would you drive a car that would shift extermely fast but cause the car to lurch every time it did? Probably not. The car must work smoothly at all times so that the driver can maintain control and keep the car in good condition. What might happen if the driver were to rev out the engine during one of these super-fast shifts? That's right, he might drop the trans (very expensive).

      By the same token, both Windows and Linux (don't start on me) have very "fast" VMs that will perform extremely well under very particular circumstances. When they are removed from those circumstances, they begin to perform extremely poor.

      As an example, a few years ago I was using a Pentium 120 w/ 16MB of RAM. Under Window 95 I was starting to run into performance problems (read: chugging) every time I tried to really use the system. This chugging was caused by the fact that Windows would end up thrashing the VM because there wasn't enough actual memory. So, I loaded up Linux using KDE (1.x). It chugged WORSE! When I finally tried FreeBSD with KDE (same setup), I found that the whole system ran smoothly. If I tried to run too much, the program in question at the moment would take longer to execute but would make it up without impacting any of the other programs. Did FreeBSD actually run slower? Perhaps in certain circumstances that were advantagous to Linux, but overall system performace was much more useful and enjoyable.

    2. Re:VM in Linux and FreeBSD by Arandir · · Score: 3, Insightful

      It was interesting to read that Matt Dillon is supporting Rik van Riel's work on the VM in Linux.

      I didn't get the sense that Matt was supporting Rik in this controversy. Rather, my impression was that Matt thought that a particular argument put forth by one camp was spurious. Big difference.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    3. Re:VM in Linux and FreeBSD by Anonymous Coward · · Score: 4, Funny

      Translation: I can't defend any of this, since all I know was a bit of technical talk I didn't understand on a mailing list I lurk on.

      So instead of anything substantive, I'll give you my useless anecdotes about my preferred system's performance being more "enjoyable."

      And of course, any circumstance where anything outperforms my preferred system, I'll dismiss it out of hand.

      I used to miss comp.sys.amiga.advocacy, but slashdot's BSD section is an excellent substitute.

  4. Re:Interesting view... by chinton · · Score: 5, Funny
    I don't think that this is specific to Linux-hype at all, though. Look at most of the dead (or dying) .com companies. Most of those business plans read as follows:
    1. Provide a service free of charge.
    2. Profit!
  5. Laughing my a$$ off! by AKAImBatman · · Score: 5, Insightful

    I think Linux is going through a somewhat painful transition as it moves away from a Wild-West/Darwinist development methodology into something a bit more thoughtful. I will admit to wanting to take a clue-bat to some of the people arguing against Rik's VM work who simply do not understand the difference between optimizing a few nanoseconds out of a routine that is rarely called verses spending a few extra cpu cycles to choose the best pages to recycle in order to avoid disk I/O that would cost tens of millions of cpu cycles later on. It is an attitude I had when I was maybe 16 years old... that every clock cycle matters no matter how its spent. Bull!


    This has got to be the BEST description of the Linux development to date that I've heard! (And it's got me rolling on the floor with laughter!)

    Seriously, when are people (in Linux, Windows, C, C++, Java, etc. camps) going to learn that design is paramount? We don't design things because we are old farts who have no clue about "how to make a system fast", we design them to get the best tradeoff between performance, stability, structure, and maintainability. Anyone who says "I don't care about those things" is talking out of his ass and will not truely become a good programmer until (s)he can admit that code should be well designed.

    1. Re:Laughing my a$$ off! by Anonymous Coward · · Score: 3, Informative

      The problem with Rik's VM isn't that it spends cycles here or there, it's that it is demonstrably broken in the field. If you load down a linux 2.4 box for any length of time with a lot of I/O, you will eventually see the failure mode of kswapd using 100% CPU forever. People are willing to try alternative VM systems because Rik hasn't proposed a solution to the problems that people are seeing with his system.

      The question isn't some cycles here versus a lot of cycles there, the question is whether we will ever return from kswapd, or should we just power cycle the damn thing and see if it comes back up?

  6. Bad Business Models by KidSock · · Score: 4, Interesting

    M. Dillon writes:
    Open-source operates behind the scenes far more then it operates in the public eye, and it's hard to sell support to hackers who actually have *fun* trying to figure out a problem. In some respects Linux and the BSDs are poor commercialization candidates because they are *too* good... that they simply do not require the level of support that something like Windows-NT or Oracle might require in a back-office setting.

    This sounds like sane reasoning but conraditory to quite a few "service and support" business models (e.g Red Hat). It will be interesting to see who's right. Perhaps proprietary solutions build as userspace applications running on top of Free platforms would be a better? Would that be frowned on by anyone? Not me.

    1. Re:Bad Business Models by stripes · · Score: 3, Insightful
      This sounds like sane reasoning but conraditory to quite a few "service and support" business models (e.g Red Hat). It will be interesting to see who's right.

      That sort of assumes you try to sell the support to the hackers. I expect you end up selling more support contracts to the "normal" folks. For example back before Ret Hat bought Cygnus they sold more gcc support contracts to embedded developers then to people wanting to run gcc on a Unix system to produce Unix executables.

      (This is not to say embedded folks aren't hackers, but many more of them are hardware hackers, and software dabblers, and many many many of them a worker grunts and not hackers at all, which was surprising when I was in the field, but never the less true at the time)

      So I think service and support business models have a market, that market just isn't me (and is less likely to be folks who read Slashdot, and more likely to be folks who stop reading about computers when they have free time...)

  7. transactionally coherent distributed filesystem by 1010011010 · · Score: 5, Interesting

    I'm going to cheat a bit and also give you my #2 feature-wish: I want native filesystem replication. I don't care a whit about common server-based disk store: you don't get reliability or scaleability that way. I want to see distributed (replicated, not partitioned) filesystems that are transactionally coherent[...]


    This would indeed be a nice thing to have, and was, in fact, the subject of two years of work at my previous employer.

    We were developing a filesystem named, variously, Charon, CXFS, and SSFS (Charon and CXFS turned out to be other people's trademarks).

    It was a 64-bit journaled filesystem that used extensible hashing for directory layout, and provided named streams, ACLs and per-object quotas (i.e., per-volume, per-directory and per-file block and inode quotas). It used a distributed journaling system to synchronize data among several peers, and could perform partial filesystem replication (i.e., client local fs device size is smaller than server local fs device size, but client fs appears to be as large as the server's fs).

    It included a system for mapping the local OS authentication and security identifiers to those from the other OSes participating in a replication group (such as unix UIDs/GIDs to NT SIDs, to kerberos tickets, etc.). All filesystem entities has 128-bit UUIDs to aid in this mapping.

    We had begun port to FreeBSD and Windows 2000.

    We were about 4 months short of having an alpha relase on Linux 2.4 before the company went bust. In short, it was over-engineered, and too ambitious. We should have started smaller; for instance, Linux 2.4 only, with nfs-style 'security'. Or FreeBSD-only. :)

    After the sudden, complete, and total demise of the company we worked for, all of us on the team had to put our energy into paying bills and finding a job. So not much has happened since The End.

    I can provide design info and even code if someone wants to help.

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    1. Re:transactionally coherent distributed filesystem by IronChef · · Score: 3, Interesting


      A friend of mine works at Cal Poly Pomona and their whole campus intranet runs on some kind of Distributed Computing Environment. Each server in the system is a "node" in a Borg-like network. If a box melts down, things keep chugging. To reinstall, pop in one CD and the system will update itself from its peers within minutes. It's quite slick, and I think the whole thing is Free and running on FreeBSD and Solaris.

      I couldn't find any good links just now that talk about it, but if anyone is interested I will talk to my buddy and get some.

      I guess this isn't the same thing he was talking about in the article, because I don't think that any arbitrary data object or stream can be moved from one box to another, but it's still pretty cat.

  8. DAMN enter key...sorry..anyway...your point by Anonymous+Koward · · Score: 3, Insightful
    sorry...


    I agree with you about not ever needing to compile, but I think his real point was not any of BSD's strong points (features included, packages/ports, etc) but rather that Linux is way out in left field as far as "across the board" unix compatibility.


    I know what you're thinking ...what across the board unix compatibility? right? That's the whole point, many of the unices and free clones can share most of the programs off one can download off of the internet, unless they're full of Linux-isms. These linux-isms are popping up everywhere now, and just plain causing crossplatform (or at least differing unix platforms) problems.


    I'm sure this will be modded to lowest plane of /. hell for attempting to pick on the One True O.S. but it has to be said, I for one am TIRED of downloading programs only to find some strange library from some linux install is needed (and I'm greatly oversimplifying here).

    1. Re:DAMN enter key...sorry..anyway...your point by Arandir · · Score: 5, Informative

      These linux-isms are popping up everywhere now, and just plain causing crossplatform (or at least differing unix platforms) problems.

      For those who haven't figured it out yet, let me clue you in on a couple of facts:

      1) The linux kernel is specific to Linux. If you make linux specific kernel calls then your program will only run under Linux. If you're writing a kernel module, then go for it. Otherwise forget it. It will only make you look stupid.

      2) A Standard C Library (libc) is standard for every Unix and Unix-like operating system. For 99 systems out of 100, this libc will NOT come from GNU. If you write a program that makes use of glibc extensions, your program will not be portable. It will only make you look stupid.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    2. Re:DAMN enter key...sorry..anyway...your point by stripes · · Score: 3, Insightful
      The linux kernel is specific to Linux. If you make linux specific kernel calls then your program will only run under Linux. If you're writing a kernel module, then go for it. Otherwise forget it. It will only make you look stupid.

      Yeah, on the other hand sometimes they are useful enough to be worth it. If sendfile gives your application a 10% boost, and you need that 10% boost, well, go for it. #ifdef it, but use it. Hell, use it and #ifdef it if you just want to play with it.

      I won't shrink back from using kqueue on FreeBSD, why should a Linux user hold back? (and kqueue is harder to #ifdef!) I won't go off and use it if it won't save me a lot, because it is painful to #ifdef around, but it is faster then poll...

      If you always avoid something only on one Unix the state of the art never advances. Remember the socket calls were once on only one Unix (4BSD). SLIP was once only available for VAX BSD. Now sometimes that doesn't work out, after all that nasty SysV shm crap left SysV to infest the rest of the world.

    3. Re:DAMN enter key...sorry..anyway...your point by Jordy · · Score: 4, Informative

      2) A Standard C Library (libc) is standard for every Unix and Unix-like operating system. For 99 systems out of 100, this libc will NOT come from GNU. If you write a program that makes use of glibc extensions, your program will not be portable. It will only make you look stupid.

      This isn't most definately not true. The C library on Unices implements a set of standards, but which standards are implemented is up to the implementators. There are quite a few conflicting functions in between ANSI, SUS, SVID, BSD, ISO, and POSIX though most of them have to do with simple things such as errno values, but there are more serious cases such as the setjmp(3) conflict between BSD and POSIX.

      Now, even without the conflicts, not every Unix has a complete implementation of these standards, especially given how frequently they've been coming out in recent years. POSIX 1003.1* for instance contains a good amount of optional functionality (SUSv2 made a lot of it mandatory however) including extremely useful features such as read-write locks for threads.

      Now, that's not to say that I don't wish every Unix was at least was SUSv2 conformant, but OS specific code is a fact of life in cross-platform Unix development unless you are working on just Linux and *BSD. Calling someone stupid because they check to see if sigaction(2) exists because they want SA_RESTART to simplify their code just doesn't fly.

      I look forward to the day when autoconf doesn't need to exist.

      --
      The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.
    4. Re:DAMN enter key...sorry..anyway...your point by dangermouse · · Score: 4, Insightful
      I'm sure this will be modded to lowest plane of /. hell for attempting to pick on the One True O.S. but it has to be said, I for one am TIRED of downloading programs only to find some strange library from some linux install is needed (and I'm greatly oversimplifying here).

      No, you're not. I'm a Linux user, and this trend irritates the living hell out of me. I don't grok the need for 47 tiny libraries to write a mail client*, especially when nine times out of ten half of the required libs were written by the same guy for the same project, but distributed separately (never to be used by another project).

      * For the truly anal retentive, that was a bit of hyperbole. But not much.

  9. Re:possible contradiction? by mindstrm · · Score: 4, Interesting

    I think he's saying two different things.

    To give context, he's discussing full transparent process migration, so a process can move *completely* to new hardware, transparently. If this were the case, you could build a 'true' cluster where tasks could move around to different hardware at will.

    He's saying that current 'clustering' solutions are NOTHING like this. They are all application specific. Veritas, Sun, whoever is offering you clustering technology is simply offering you their own version of something you can probably think up at home.

    He's saying, in point 2, that to have real QOS you need to have redundant hardware, but the unwritten context is that it's not really 'redundant' if processes can't switch to it seamlessly. Otherwise it's just 'other' hardware.

  10. Re:BSD and Linux VM? by Ian+Bicking · · Score: 4, Insightful

    The Linux VM can easily bring my system to a complete halt under high memory usage (by no means extreme). That is not to say FreeBSD's VM that great -- I've never tried it, but it has a good reputation. I mean to say that Linux's VM is disgraceful.

  11. FreeBSD/Linux and the Desktop... by cymen · · Score: 5, Insightful

    In regards to the desktop... well, I'm not sure exactly what you are asking. Both Linux and FreeBSD are in the same boat there... the only way to drive desktop acceptance is to ship machines pre-installed with the OS (whatever OS) and preconfigured with a desktop so when you turn the thing on, you are ready to rock. The only way to do that is for the PC vendors to pre-install Linux (or FreeBSD, or whatever).

    I think this is bunk. As he pointed out earlier open source software is a poor candidate for commericial support. I think it is a poor candidate for pre-installation too. No self respecting sysadmin would want Dell to preload Linux or FreeBSD for their companies desktops (or servers). It is a far easier to support systems that are configured in the same manner and style and each sysadmin has their own preferences which become company policy. If we are talking about pre-installed systems for the home market than ok - it would be a selling point. But I think the market for such a system would be so low as to make it not worth the cost to a large company like Dell.

    None of the open source operating systems are ready for the average home users desktop. The desktop environments need to be stable and established. The system update procedures as simple as Windows Update (apt is very close but not enough). There are too many rough edges right now for the average user. Compare the rate of change in the Windows desktop to that of KDE or Gnome. KDE and Gnome have to change because we demand and expect the same ease of use that the Windows desktop environment provides but in the same vain they won't be useful for the average user until they stabilize.

    Can you imagine dumbed down debian with a graphical installer and a graphical web-based update like windows update? Instead of seeing all the package details we would only see the meta packages that hold all the updates for a particular component like KDE or X11 or the base system. A simple click and the download and upgrade begins... I'm sure some of us would be horrified by the idea of dumbing it all down so much but I think it will be neccessary - and I wouldn't mind running such a system as my stable desktop while running something a bit hairier on my development system.

    1. Re:FreeBSD/Linux and the Desktop... by rtaylor · · Score: 3, Interesting

      The fact that good admins wipe out anything pre-installed and go for their Network installed image isn't surprising.

      But, thats not different on OpenSource than it is for commercial OSs. First thing we do is wipe the Sparc and load from our own trusted (if they can be described as such) disks.

      --
      Rod Taylor
    2. Re:FreeBSD/Linux and the Desktop... by Error27 · · Score: 3, Insightful

      First of all, apt kicks windows update any day of the week.

      Secondly, "dumbed down" is a word only l337 kids use. They think that because something is easy it is less powerful. This is simply untrue. Good software is both powerful and a delight to use.

      If your software has user interface bugs that inexperienced or less determined users are not willing to put up with, that's not something to be proud of.

      Please don't use the word "dumbed down" again. To put it in a phrase you might understand: Blaming users for software bugs is l4m3.

    3. Re:FreeBSD/Linux and the Desktop... by cymen · · Score: 3

      Please don't use the word "dumbed down" again. To put it in a phrase you might understand: Blaming users for software bugs is l4m3

      I think it is pretty obvious in my post that I used dumbed down simply to illustrate the point. In my example the dumbed down software is a delight to use and I would myself like to use it. I don't consider myself dumb. Where did I talk about bugs?

      First of all, apt kicks windows update any day of the week.

      Well doesn't that just depend on what your criteria is? I too believe apt is obviously superior technically but in terms of ease of use for someone not wanting to spend more than a couple mouse clicks to update it isn't there yet... It could be done very simply but it hasn't been. And if you want to advocate that these users can simply use debian stable I'm sorry - that just illustrates my point. The desktop just isn't ready yet... Maybe one day we'll have debian-stable, debian-desktop, debian-testing, and debian-unstable.

      If your software has user interface bugs that inexperienced or less determined users are not willing to put up with, that's not something to be proud of.

      An what the hell does this have to do with anything I posted?



      Secondly, "dumbed down" is a word only l337 kids use. They think that because something is easy it is less powerful. This is simply untrue. Good software is both powerful and a delight to use.


      I really doubt "dumbed down" is only a term "l337" kids use. It's a common term that means simplified. In some people's minds it has negative connotatations - not in mine. In short from m-w.com "dumbed down":

      to lower the level of difficulty and the intellectual content of (as a textbook)

      And isn't that exactly what we are talking about? The way I used the term obviously has nothing to do with intellect - only difficulty. If you can't see that I can't help you :).

  12. Re:Excuse me? by Arandir · · Score: 3, Funny

    Even though his pet peeve might not be my pet peeve, it still peeves me off. There are many kinds of linuxisms, even though I mentioned only one.

    Li*nux*ism:
    Pronunciation: 'lee-nuks-izm'
    Function: noun
    Date: 1998
    : a theory holding that the community can know nothing but its own operating system and that its operating system is the only existent operating system. Compare with English "solipsism".

    p.s. You have a Linuxism in your post. Can you find it?

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  13. Re:Terminology overload! by stripes · · Score: 5, Informative
    MFCd?

    Merged From Current. Most new features (esp big ones) go into the "current" version of BSD. Most users use the "stable" version because current isn't exactly stable... If current is a long time off from going throught a code freeze and becoming stable, then some of the new features that don't depend on new other parts get Merged From Current into the stable version that most people use.

    Giants?

    The older SMP kernel had a "giant" lock on basically all of the OS. In theory more then one CPU could be int he kernel, in practice one would have a lock on Giant, and the rest would block waiting to get the lock (or would be running free in user code). The stable SMP code has a few other locks, and you can do a little in the kernel without hitting Giant. The SMP code in "current" pretty much (or totally) does away with the Giant lock.

    Lotsa little locks is more like how Solaris works. I'm not sure if Linux has lots of little locks, or a hand full of mid-level ones (lots of little ones works better if they are all in the right place, a few mid-level ones works much better then the one giant lock, or lots of little ones in the wrong places).

    And yes, it would have been nice to explain all the terms at the start of the article (even SMP which isn't BSD specific). I'll live though.

  14. Re:Anyone remember dmouse? by Matts · · Score: 4, Informative

    Not just little tools.

    Matt also wrote Dice C, which was a rocking good compiler, though admitedly not quite up to par with SAS's tool suite.

    Once the Amiga market died, Matt gave Dice away to the community under the BSD license. You can still find it on Aminet today.

    --

    Matt. Want XML + Apache + Stylesheets? Get AxKit.
  15. Re:More Information From Theo by gavcam · · Score: 4, Insightful
    It would be nice if he, and the NETBSD and FreeBSD could - unfork into a single coherent BSD system instead of 3 splintered ones (with different focus's)..

    Just like all the Linux distros should?

  16. Re:Terminology overload! by stripes · · Score: 3, Insightful
    Linux has lots of little locks (in 2.4) which seem pretty well placed. It scales very well to 4 CPUs, and after that, its mainly scheduler issues that hold it back.

    Intresting, it seems like getting the scheduler right would be a lot simpler then getting all the little locks in the right place to both protect resources, and to not build up too much contention.

    I'm not saying you are wrong, indeed you know far more about how Linux is built then I do, it just seems like a bottleneck that should be pretty easy to fix!

    Matt's claim that SMPng is about a year behind Linux is optimistic, to put it mildly.

    Could be, software schedules frequently are. Or it could be baised off where they are now, or how fast they got there compaired to how long Linux took. Who knows.

    Personally I think the new slower 5.0 schedule is more realistic, and I'm glad for it, even if it means I get checkpoints (and background fsck) much later then I had hoped.