Slashdot Mirror


Ask Ingo Molnar About TUX

Ingo Molnar is the guy behind the TUX Web server, which produced those astounding SpecWeb results reported here last week. He's agreed to a Slashdot community interview. So ask away at the man who created what appears by some measures to be the world's most powerful Web server at present. Please make Ingo's job easier by first reading the LinuxToday articles (here's the first LW story, and here's the second LW story) commenting on the SpecWeb numbers and the background of how they were achieved, as well as Ingo's informative post in the initial Slashdot story, and the SpecWeb results themselves. The moderators may have no mercy otherwise.

158 comments

  1. My name is Ingo Molnar by cxreg · · Score: 3

    You killed my penguin.

    Prepare to die.

    1. Re:My name is Ingo Molnar by byoon · · Score: 1

      Ha Ha! You stole my thunder, you dog. I just watched the Princess Bride last night and I was all set to...aw hell.

      My name is Inigo Montoya

      You beat me to the joke.

      Prepare to die.

      Or maybe I should just say:

      Stop saying that!!

  2. I already asked this once by FascDot+Killed+My+Pr · · Score: 4

    Given that part of the explanation for Tux's impressive performance is the use of a kernel-based httpd server, how much how stable and secure do you expect it is.

    BTW, this isn't a flame. I'm sure it's better than IIS/NT on both fronts--but is it better than Apache/Linux, even after factoring in the speed?
    --

    --
    Linux MAPI Server!
    http://www.openone.com/software/MailOne/
    (Exchange Migration HOWTO coming soon)
    1. Re:I already asked this once by XScott · · Score: 1

      What I'm curious about is why the OS has to get in the way of performance for an application. Why does this thing need to be in the kernel to get this kind of performance? Is it system call overhead, or context-switch times? Is the general purpose network stack slower than what you can do in kernel land? I doubt it is something as silly as getting a high enough priority.

      It seems to me that the OS should not get in the way of performance, and that if it does then there is room for improvement.

    2. Re:I already asked this once by sheimers · · Score: 1

      Is this Tux server that much faster than Apache, or was the kernel's network support improved since mindcraft? Or is Win2k just 5 times slower than NT4 ;-) ?

      Stefan Heimers

    3. Re:I already asked this once by Menthos · · Score: 1
      The Netcraft used some 2.2 kernel + Apache, this spec99 test used a 2.3 kernel + Tux.

      So yes, I think there has been some serious improvement in kernel 2.3.x land since the Mindcraft test. If you read Ingo's explaining comment from the original /. article (also linked from the second LW article) you'll see that he talks about some of the new performerance tweakings in kernel 2.3 that helped him (async networking etc.).

      --

      GNU/Linux. The Freshmaker.

    4. Re:I already asked this once by Menthos · · Score: 1

      Sorry, replace "Netcraft" with "Mindcraft test". Duh.

      --

      GNU/Linux. The Freshmaker.

    5. Re:I already asked this once by listen · · Score: 1

      In kernel space, no memory mappings need to
      be changed at all.

      In a user->kernel switch, the kernel memory
      must be remapped read/write.

      Several hundred instructions may be expended
      doing this.

  3. Versions for other OSs? by Anonymous Coward · · Score: 3
    Will there be versions of Tux for other Operating Systems, such as FreeBSD, OpenBSD, BeOS, MacOS, Windows and others?

    1. Re:Versions for other OSs? by SoftwareJanitor · · Score: 2

      Ah! The Windows approach to software integration. If you can't beat them, join them!

      Microsoft started a war, and they can't expect that others won't give Microsoft back what they dish out.

      Anyway, I wonder what security holes will appear in this kernel level software!

      Could be a problem if it isn't done right. Luckily with Linux you've got alternatives if you want to run a different server, so you can take out anything you don't like.

      People moaned about incorporating the web browser into the OS, but this is incorporating the web server - surely Microsoft have a cause to moan about this??!?!?

      Microsoft has no cause to complain. Nobody forces you to buy Linux when you buy a new computer like most people are forced to buy Windows when they buy a new computer. Also, since you get source code for Linux, it is easy to remove the web server if you don't like it. Microsoft claims (and they did make it really difficult) that it is impossible to remove Internet Exploder from Windows.

    2. Re:Versions for other OSs? by Digitalia · · Score: 1

      No one put a gun to my head when I bought my computer. In fact, it seems that the crux of your argument is based in jealousy. Linux isn't available on most Personal Computers because of people like Ingo. You spend your time working on the kernel making it more powerful, while every professional OS company works on what the common person really wants: a nice and easy GUI.

      While a CLI has it's place, the average user enjoys the simplicity of a GUI. Microsoft, while receiving great praise from the Slashdot community for it's innovations, has done something that Linux hasn't: it made an OK product and made people think it was Great. Microsoft can not be faulted for good advertising. To assume that a business must play fair, just because it deals with software, is asinine.

      I applaud this development, and I enjoy the approach that Ingo took. But to say that bundling a server with the kernel is different than what MS has done, is to invite a swift beating. Not everyone is a genius programmer, and thus the same limitations are in place as in Windows. I wouldn't worry about the FTC going after a commercial producer of this, though, because the kernel has been specifically improved for content serving. The server is the OS, and the OS is the server. Pity to the moron who would buy it for gaming.

      I hate Microsoft, don't get me wrong, but they haven't committed the great sins we accuse them of. I just wish they would release software that was less buggy and more efficient. Otherwise, as soon as a Linux distributor gets some marketing intelligence Apple and Microsoft will be screwed. Just save a spot for Be, ok?

      --
      Pax Digitalia
    3. Re:Versions for other OSs? by Jason+Earl · · Score: 5

      Actually there is a specific feature that would probably make TUX incompatible with the BSDs. TUX is licensed under the GPL and the BSD maintainers would probably be very reluctant to port it to their OSes. Especially since it is possible that this would require them to release the derivative work under the GPL.

      Which leads to the obvious question for Ingo. You mention a specific disclaimer that would allow the Apache to be linked with TUX, do the BSDs get the same privilege?

      Not that I particularly care, as I am not a BSD user, but the putting such a nifty program as TUX under the GPL is bound to cause weeping and gnashing of teeth in the BSD camp. Which brings up another question. How much pressure do you get from your BSD compatriots to release software like this under a more liberal BSD-friendly license?

    4. Re:Versions for other OSs? by stevew · · Score: 1

      Uhm - that isn't true. Part of Tux's feature set is it's close relation to the khttpd portion of Linux. khttpd isn't going to be ported to another OS...it's a Linux internal.

      As I recall from my reading of the discussion on the linux-kernel when khttpd was first introduced, it was actually an attempt to copy something MS does! I believe that the MS product also uses kernel space processes to get better performance results!

      --
      Have you compiled your kernel today??
    5. Re:Versions for other OSs? by kvigor · · Score: 2
      What makes you think BSD folk won't accept GPLd code?

      From the FreeBSD contributions HowTO:


      When working with large amounts of code, the touchy subject of copyrights also invariably comes up. Acceptable copyrights for code included in FreeBSD are:

      1.The BSD copyright. This copyright is most preferred due to its ``no strings attached'' nature and general attractiveness to commercial enterprises. Far from discouraging such commercial use, the FreeBSD Project actively encourages such participation by commercial interests who might eventually be inclined to invest something of their own into FreeBSD.

      2.The GNU Public License, or ``GPL''. This license is not quite as popular with us due to the amount of extra effort demanded of anyone using the code for commercial purposes, but given the sheer quantity of GPL'd code we currently require (compiler, assembler, text formatter, etc) it would be silly to refuse additional contributions under this license. Code under the GPL also goes into a different part of the tree, that being /sys/gnu or /usr/src/gnu, and is therefore easily identifiable to anyone for whom the GPL presents a problem.



      No problems here.

      Still, it would be nice if folks really let their code be free.
    6. Re:Versions for other OSs? by SoftwareJanitor · · Score: 2

      No one put a gun to my head when I bought my computer.

      Try to buy a computer without Windows. Most places, that just isn't available.
      In fact, it seems that the crux of your argument is based in jealousy.

      What about my argument looks like jealousy? I am not jealous of Microsoft at all. I don't want to see Linux as the only choice when people go to buy a computer. They should be able to pick between different OSes pre-loaded, or none at all. Don't mistake the fact that I think that other companies besides Microsoft should have a fair opportunity to do business with my being jealous of Microsoft.

      Linux isn't available on most Personal Computers because of people like Ingo.

      Eh? That isn't a fair statement at all.

      You spend your time working on the kernel making it more powerful, while every professional OS company works on what the common person really wants: a nice and easy GUI.

      Bzzt. Wrong again. Look at such 'professional OS companies' as Compaq (OpenVMS), Sun (Solaris), HP (HP/UX) and SCO (Open Desktop, Unixware). They all use X, and have GUI's which are arguably less nice and easy than KDE.

      While a CLI has it's place, the average user enjoys the simplicity of a GUI.

      And personally, I think that KDE, at least is better in many ways than the Windows GUI. I think Gnome is only lagging slightly behind KDE, and has some things about it that are nice as well.

      Microsoft, while receiving great praise from the Slashdot community for it's innovations,

      Er, either you mistyped that or you are being sarcastic. Microsoft has never had any real innovations, let alone received any great praise from the Slashdot community.

      has done something that Linux hasn't: it made an OK product and made people think it was Great. Microsoft can not be faulted for good advertising.
      Actually, Microsoft's advertising isn't always that good, it is just smotheringly pervasive. Linux doesn't have the kind of money to spend on advertising that Microsoft does. Microsoft's commercial success can't be completely explained by advertising, it is also all of the other things they do.

      To assume that a business must play fair, just because it deals with software, is asinine.

      To assume that a business shouldn't have to play fair, just because it deals with software is what is truly assinine.

      I applaud this development, and I enjoy the approach that Ingo took. But to say that bundling a server with the kernel is different than what MS has done, is to invite a swift beating.

      It is different, if only from the fact that you have to choose to run Linux to begin with, and you can easily de-bundle the kernel based server if you like. How is that the same?

      Not everyone is a genius programmer,

      Oh, please, you don't have to be a genius programmer to choose to or not to load a module, for example. I've known people who aren't programmers who've figured out how to rebuild a kernel for goodness sake.

      and thus the same limitations are in place as in Windows. I wouldn't worry about the FTC going after a commercial producer of this, though, because the kernel has been specifically improved for content serving. The server is the OS, and the OS is the server. Pity to the moron who would buy it for gaming.

      Actually, Unreal Tournament runs pretty well on my main Linux box at home... But I didn't buy that box for gaming.

      I hate Microsoft,

      I don't hate Microsoft, I hate what they do. If the would clean up their act, as for example, IBM has for the most part the past few years, I would be willing to tone down my criticism of them.

      don't get me wrong, but they haven't committed the great sins we accuse them of.

      What do you think they haven't done? One of the things that irks me most about Microsoft's behaviour is that they seem to think they have to play dirty and nasty all the time, even when they have already essentially won in a market. Other companies play dirty too, on occasion, but nobody is as ruthlessly cutthroat as Microsoft is. Its often like a pro sports team playing a bunch of kids on a sand lot, and thinking they have to cheat because they are afraid they might lose, or even let the kids score once.

      I just wish they would release software that was less buggy and more efficient.

      I am not so concerned about the quality of Microsoft's products. In a competitive market, eventually a company that produces bad products with no redeeming values would get pushed down. Only when monopolistic powers are in play can a company consistantly get away with forcing people to buy shoddy products.

      Otherwise, as soon as a Linux distributor gets some marketing intelligence Apple and Microsoft will be screwed.

      Its not that simple. Once a company has a monopolistic position in a market, they can often crush smaller competitors no matter how much marketing savvy they might have.

      Just save a spot for Be, ok?

      I've got nothing against Be.

    7. Re:Versions for other OSs? by Jason+Earl · · Score: 2

      I can't imagine the BSD folks wanting to put their kernel in /sys/gnu, it would undoubtedly break a heck of a lot of BSD software :).

      In other words, while the BSD folks are willing to include GPLed utilities in their distribution, mainly because they wouldn't even have a compiler without gcc, but I would bet money that they aren't willing to include GPL code in their kernel. IANAL, but the FSF and the Debian Project feel that the KDE project is distributing software illegally simply because they link the QT libs from GPLed software. They say that QT then becomes part of the "derivative work." The monolithic BSD kernels almost certainly would constitute a "derivative work" as is regarded by the GPL and so the entire kernel source would have to fall under the GPL.

      Needless to say, this is very unlikely to happen.

    8. Re:Versions for other OSs? by fsck · · Score: 1

      When they say "buy a new computer" they do mean from a name brand OEM. Computer stores that sell computers whole are forced to bundle windows with them, so basically if you own a licensed copy of windows that came with your computer, you have "paid" for windows, whether its explicitly stated on your receipt or not. Often it is hidden in the cost of the computer (referred to as the Windows Tax), and that the computer should cost less with windows not pre installed or included in any way shape or form.

      --

      Lars - ...I could always phone Linus when I had a problem.
    9. Re:Versions for other OSs? by fsck · · Score: 1
      While a CLI has it's place, the average user enjoys the simplicity of a GUI.

      I'm sorry, but the average user doesn't run a web server, much less know what one is. Since this whole story is on web servers, your post is off topic.
      Average users don't use Linux, they use Windows.
      Average users think that 3 1/2" floppies are "hard disks".
      Average users think the monitor is the computer.
      Windows is made for average users.

      --

      Lars - ...I could always phone Linus when I had a problem.
    10. Re:Versions for other OSs? by SoftwareJanitor · · Score: 2

      That is pure BS. When I purchase new computers, I have never had to pay for Windows at all.

      Are you sure? You think Microsoft is giving it to you for free? It is included in the price of the computer whether you like it or not. Until recently, the only way you could buy an assembled computer at retail without Windows was to buy one from a very small computer store that was small enough to get away with building one without Windows without getting noticed by Microsoft.

      As a matter of fact, I've never seen Maxtor or any other HD manufacturer sell drives with Windows pre-installed. If you are talking about newbies who are buying whole PC's from Dell or Compaq, they know that Windows come with those systems, that why they buy them.

      Oh please, many of those newbies don't really even understand what Windows is, or why they should have a choice as to something else. Microsoft has made it virtually impossible for people to have any choice.

      Think before you post moron.

      I think about my posts and stand behind what I said. As to who is a moron, I will let the court of Slashdot opinion decide.

    11. Re:Versions for other OSs? by borud · · Score: 1

      And there is no GUI available to Linux? I think you need to look again. -Bjørn

    12. Re:Versions for other OSs? by SoftwareJanitor · · Score: 2

      Do you really think that if newbies out there don't even understand what Windows is, that they're gonna want to use something "open" and "free" like Linux?

      I don't think that being "open" will be something those people will understand one way or the other. Free as in "free beer" is something that many of them will understand. Free as in free speech takes a little more explanation.

      I wish some of the posters on Slashdot would get their heads out of their asses long enough to realize that LINUX ISN'T A DESKTOP OS!!

      Linux is a desktop OS. It may not be a desktop OS for everyone yet, but then again, I don't think Windows fits that either. There are some things in Windows that are still much worse than MacOS for the truly computer illiterate. With KDE, I don't really see how Linux is very far beyond the Windows 9x interface. I never get too many details on just what people think is so great about Windows 9x compared to KDE, maybe you can say?

      Another thing is that Linux has emerged as one of the only alternatives to Windows on the x86 architecture because Microsoft's tactics have squashed virtually every other competitor, regardless of technical merits. OS/2 could have been a contender, for example, had Microsoft not stabbed IBM in the back. BeOS could be a contender, but they have an uphill battle trying to build a market against Microsoft.

      Hell, I've been seriously interested in computers for more than 2 years,

      Oh my, two whole years. I've been seriously interested in computers for something like 20 years. Linux is a good desktop for serious users, and is making strides towards being friendly for those not quite at that level yet.

      and I still have fits trying to configure some stupid things in Linux.

      Actually, if you weren't used to Windows, it would probably be easier in some ways to learn Linux. I learned UNIX before I had used MS-DOS much. There was no such thing as Windows back then -- the only widespread GUI was MacOS, and PC users swore up and down that the GUI was a fad, and that the command line was superior to any GUI.

    13. Re:Versions for other OSs? by Metrol · · Score: 1

      Microsoft has never had any real innovations

      Although I rather appreciate your fairly even handed tone to your post, I think this point is getting over blown. It's a point that I feel needs to be addressed with a bit more reality, oddly enough for the sake of Linux and open source in general.

      Microsoft has done one thing that no other computer company or organization has even approached accomplishing. They developed an OS that can support an extremely wide range of hardware, and brought computing to what you would refer to as the average user. Sun, IBM and Apple all rolled together haven't accomplished half of what MS has in this regard. This keeps getting referred to as something trivial, when it's anything but. Linux is still going through the pains of trying to get all these various hardware drivers to play nice together, and to work in OEM support for them. There's obviously still quite a bit of work yet to be done to bring Linux to the desktop as well.

      Point is, MS has a lot of good and bad about them. They're a big company that does a lot of stuff, or course there's going to be a lot of aspects to them. To constantly only focusing in on just the bad limits you to only learning half the lessons that a company like MS can provide.

      Disclaimer:
      This is not meant to be a pro-MS post. There is a bigger picture here than "MS Sucks" and I just find it unfortunate that so many folks around here can't see that. Sorry for picking on you SoftwareJanitor, there are certainly folks far worse than yourself in what I'm talking about here.

      --
      The line must be drawn here. This far. No further.
    14. Re:Versions for other OSs? by Metrol · · Score: 1

      This is one of the reasons I always refer folks to local vendors who actually build PC's from stock parts. Only under threat of mild torture (low pain threshold and all) would I ever recommend a person to go purchase a brand name PC.

      From my personal experience, a user purchasing brand name PC's will eventually regret it. Usually within 6 months to a year. Buying brand name is nothing more than a hardware trap providing for only a very narrow upgrade path, if one exists at all.

      In short, dodge the Windows tax by not buying from those vendors that signed up for MS's restrictive licensing. Recommend to those that trust your opinion to do the same, and you to can "Take a Bite Outta Crime".

      --
      The line must be drawn here. This far. No further.
    15. Re:Versions for other OSs? by earlytime · · Score: 2
      I have to agree with you on this one. But with exceptions. MS didn't "develop an OS that supports a wide range of hardware". What they did is maintain and improve a codebase (MS-DOS) that was the defacto standard for personal computing. This was accomplished with fairly little effort:
      a few file system changes
      a few performance optimizations
      and a few extensions to provide new functionality (networking, CD-ROM's)

      Making NT is Microsoft's single biggest accomplishment. NT is to MS-DOS what today's UNIX is to CPM: Several orders of magnitude more functionality, far better performance under load, a modern feature set, and runs on both destop to server.(Now I know that UNIX is *NOT* a derivative of CPM, and I know somebody would have tried to point that out if I didn't say it).
      So, they get half credit. They rebuilt thier core OS from scratch, yet maintained compatibility (mostly) for old devices/APIs/interfaces. But they haven't eliminated the usability and stability problems that plagued DOS. Maybe when they become a real "OS" comapany (as opposed to a "monopoly maintaining" company) they'll start to fix some of those bugs that cause all those damn blue screens, and refine that interface a bit, and actually add features in a sensible and consistent way. They might even make some products that can compete head to head with UNIX on servers. It could happen... really!! ;-)

      --

    16. Re:Versions for other OSs? by Metrol · · Score: 1

      A couple of corrections I just have to make, even after your disclaimer. Please note, most of what I'm about to get into here was derived from "Triumph of the Nerds". This is a MUST view for folks involved with the PC industry IMHO.

      First off, when IBM needed an OS, not only did MS not have one, they didn't want anything to do with making one. They initially referred IBM to the fella who wrote CPM, whose name escapes me at the moment. This fella refused to sign IBM's NDA, so IBM was back to MS for a solution which they didn't have. Have to keep in mind, MS had a great reputation at the time for development languages, but that was all.

      So MS could sell there development stuff for this new PC coming out they found this fella who worked at a computer store in the area who had written a little app called QD-Dos (Quick & Dirty Dos). This fella had essentially created a knock-off of CPM. It was roughly the equivalent of what XML is to SGML in that it was a subset of simpler commands. MS offered this guy $50,000 for all rights to it, then went about hacking the heck out of it.

      There is certainly a good bit more to the story, and it makes for a fascinating video. I believe the transcripts of this series are still up on PBS's site if you are so inclined.

      For the record, NT's support for the older 16-bit apps isn't too far away from how Wine implements this for Linux. NT pretty much has seperate machine that gets started up for 16-bit apps in order to maintain compatibility. It's not a great solution, as it still leaves a lot of older apps out in the cold, and to the best of my knowledge provides no backwards driver support. It is definitely not part of NT's core system.

      As for all them blue screens, I'd like to know what folks are doing to those boxes to get them to do that. I run NT Workstation as my primary desktop, and I provide support for several other NT Workstations. I've found it to be extremely stable for up to weeks or months at a time. Darn near the only thing that causes me to have to re-boot is an IE lockup or a power out. After running a Linux box side by side with this NT, I've found them both to be quite stable, and I've managed to also lock them both up.

      On the server side, I wouldn't hesitate to implement an NT as a LAN server for file and print sharing again. Here again, I've found it to be quite a nice platform for this. For the web, Unix all the way baby! I don't have a single kind word for IIS, and I've got plenty of reasons to back it up. Stability is but one of them. This rant is running long, so I'll save my IIS bashing for later.

      --
      The line must be drawn here. This far. No further.
    17. Re:Versions for other OSs? by Helge+Hafting · · Score: 1
      Try to buy a computer without Windows. Most places, that just isn't available.

      Trivially easy - almost everywhere. Buy one without a harddisk - and a spare harddisk. Yes, you have to put the disk in yourself.

    18. Re:Versions for other OSs? by SoftwareJanitor · · Score: 2

      You can't go into most retail outlets and buy a computer without a hard drive. Only the smaller stores will sell you one that way. CompUSA, Best Buy and the department stores will not. Things might be different in other parts of the country or world, but around here, it isn't that easy.

    19. Re:Versions for other OSs? by Anonymous+Colin · · Score: 1

      Microsoft has done one thing that no other computer company or organization has even approached accomplishing. They developed an OS that can support an extremely wide range of hardware, and brought computing to what you would refer to as the average user.
      This is a common myth, but there really isn't any truth in it. Before Windows, before DOS even, there were Unix and CP/M, which were both supported on a wide range of hardware. Unix over more architectures, but CPM probably supported more different hardware peripherals and more weird CPU buses. There were also CP/M derivatives such as MP/M and concurrent DOS (and DRI DOS) that ran on all the early IMB and compatible systems.

      So perhaps microsoft brought the GUI to IMB PC land? *Wrong!!* Before Windows there was GEM, which was in most ways superior. There were also many character-mode semi-graphic shells. MS didn't innovate, they copied furiously and still would not have been where they are Today if DRI hadn't fumbled their early dealings with IBM.

      In my view, if Microsoft had not existed, we would be in a pretty similar position now in personal computing but probably wouldn't have a nasty, exploitative monopolist trying to deny users any choice or freedom, or at least not as effective a monopolist. We wouldn't be any further behind and, given the drag that I believe MS is exerting on the whole industry, might well be a lot further ahead.

      To sum

    20. Re:Versions for other OSs? by SoftwareJanitor · · Score: 2

      Although I rather appreciate your fairly even handed tone to your post, I think this point is getting over blown. It's a point that I feel needs to be addressed with a bit more reality, oddly enough for the sake of Linux and open source in general.

      I think the important thing is to think about what we are going to do about the problem more than worrying about the problem itself.

      Microsoft has done one thing that no other computer company or organization has even approached accomplishing. They developed an OS that can support an extremely wide range of hardware, and brought computing to what you would refer to as the average user.

      What is innovative about that? They didn't invent MS-DOS, let alone the fact that MS-DOS was a somewhat cheezy CP/M clone. If anyone deserves the credit for developing an OS that could support an extremely wide range of hardware, it is the late Gary Killdal of Digital Research. As for nuturing a 3rd party hardware market, the IBM PC was nothing new, as it borrowed its slot expandability ideas from S100 machines (originally Altair and MITS) and the Apple II. As for bringing computing to the average user, Microsoft wasn't very innovative there either, what they did was copy Apple's copy of Xerox's work. If anyone deserves credit for bringing the GUI to the computing world, it is Steve Jobs of Apple.

      Sun, IBM and Apple all rolled together haven't accomplished half of what MS has in this regard.

      I'm afraid we'll have to agree to disagree on this one. I think Microsoft likes to take credit for a lot of other people's work.

      This keeps getting referred to as something trivial, when it's anything but.

      Being nontrivial and being innovative are not the same thing.

      Linux is still going through the pains of trying to get all these various hardware drivers to play nice together, and to work in OEM support for them. Things are finally starting to get easier, with more vendors willing to release specs, reference code and sometimes even let their own people work on drivers. Part of the reason vendors are willing to do this is because Linux has not only started to achieve a certain level of stature in the world, but also because vendors are less worried about retaliation from Microsoft because Microsoft is now under scrutiny by both the computing community and the feds.

      Linux has a lot harder work to create device drivers, because most of them are still being written by users. Microsoft has all of the OEMs doing the work for them. It is pretty amazing to me how wide Linux's hardware support is given the obstacles it has faced in getting there, especially with hardware vendors who won't release specs.

      There's obviously still quite a bit of work yet to be done to bring Linux to the desktop as well.

      Depends on what you mean by quite a bit. I personally don't think that KDE is that far off from Windows 9x, and in some ways I think it is better. I keep hearing how far Linux is behind in this area, but I seldom get very many details as to what people think is lacking in KDE, for example or any positive suggestions as to what to do about it.

      Point is, MS has a lot of good and bad about them.

      Hmmm... a little good and a lot bad would be the most I could see. In my opinion the bad painfully outweighs the good.

      They're a big company that does a lot of stuff, or course there's going to be a lot of aspects to them. To constantly only focusing in on just the bad limits you to only learning half the lessons that a company like MS can provide.

      Just because I complain loudly about the bad 90% of Microsoft doesn't mean I haven't paid attention to what they are doing. Its just that of the good 10%, probably 90% is borrowed from someone else, and I'd prefer to look to the original.

      As I've said before, if Microsoft can clean up their act as much as IBM has over the past few years, I will be willing to tone down my criticism of them. I don't hate them for the sake of hating them, I hate what they do.

      Disclaimer:
      This is not meant to be a pro-MS post. There is a bigger picture here than "MS Sucks" and I just find it unfortunate that so many folks around here can't see that.


      While the picture may be bigger than that, it is mostly obscured by that. I think the thing is that you have to be ready to justify conclusions based on concrete criteria rather than just saying "_____ sucks".

      Sorry for picking on you SoftwareJanitor, there are certainly folks far worse than yourself in what I'm talking about here.

      I'm a big boy, I can take criticism. I pretty much completely disagree with you, but you are entitled to your opinion, and entitled to express it.

    21. Re:Versions for other OSs? by SoftwareJanitor · · Score: 2

      I would have to agree with you pretty much. If Microsoft didn't exist, or at least hadn't crushed everyone in their path with their ruthless tactics, the computer industry would be a lot further along than it is now.

    22. Re:Versions for other OSs? by electricmonk · · Score: 1
      I never get too many details on just what people think is so great about Windows 9x compared to KDE, maybe you can say?

      Yes, I can say. There are things that are apallingly simple in Windows that would take a bit of knowledge to use in Linux.

      Example: Installing software. In Windows, you just double-click on the "Setup.exe" icon, and the installer is launched. Just click a few buttons, maybe enter a serial number, and you are ready to go, whereas in Linux, you most likely have to compile a program from source code. All I have to say about that is, it is considerably more difficult than clicking a few buttons.

      There is also a very "beta" feeling to the apps that come with a KDE installation, which I don't like at all. But that is my personal opinion.

      --
      Friends don't let friends use multiple inheritance.
    23. Re:Versions for other OSs? by Spamboi · · Score: 1
      NT is to MS-DOS what today's UNIX is to CPM

      Actually, from what I understand, a better analogy would be that NT is to VMS as MS-DOS is to CP/M. IIRC Microsoft hired one of the chief architects of VMS to design NT, so NT was originally fairly similary to VMS. And many, many people have noted that DOS was kind of a hack that MS whipped up to keep IBM from going with CP/M.

      Well, maybe this isn't the best analogy either. D'Oh. Maybe next time I should try to support my claims with facts ... nah, too much work.

    24. Re:Versions for other OSs? by fsck · · Score: 1

      I am a local vendor who builds custom pc's and services people's pc's. It's nice to hear more people with this sort of train of though, after working on a client's Compaq's for a couple of days, it has never been more apparent. Don't buy name brand PC's. As good a deal as they are, the hardware is cut-rate and shoddy, and in Compaq's case, totally proprietary.

      --

      Lars - ...I could always phone Linus when I had a problem.
  4. Why by mpost4 · · Score: 3

    What is the reason for moving the http server into the kernel, I do not see any benefits to it, could you enlighten me about it.

    1. Re:Why by Russ+Nelson · · Score: 2

      Context switches are expensive.

      --
      Don't piss off The Angry Economist
    2. Re:Why by photon317 · · Score: 2
      Moving web serving into the kernel is very beneficial, but only for static content. If you think through what happens on a typical Linux/Apache server when a static page is requested, there's lots of room for performance improvement. This is basically because both communication paths for the Apache server (the socket communication to the user and the I/O to the disk file) go through the kernel seperately. This means the data is (redundantly) read from disk by the kernel, copied to userspace for Apache to see, just so that Apache can copy it back to kernel space through socket calls to send it out a TCP port basically unaltered. Doing this in the kernel means you can achieve the same result with a single copy from the disk driver to the TCP stack within kernel space.

      Note that I haven't looked at TUX, and what I've said above is a general explanation of the type of concept that TUX is about, therefore I might be missing a few technicalities.

      --
      11*43+456^2
    3. Re:Why by Jason+Earl · · Score: 2

      You might want to re-read the second LinuxToday article before you reply. Here's what Ingo Molnar has to say on the subject:

      TUX is a very different thing, it's a:

      event-based HTTP protocol stack providing encapsulated HTTP services to user-space code

      object cache, where objects can be combined with dynamic content freely. You can witness this in the SPECweb99 submission, the SPECweb99 TUX dynamic module (every vendor has to write a SPECweb99 module to serve dynamic content) 'embedds' TUX objects in dynamic replies. The TUX object cache is not a dumb in-memory HTTP-reply cache, it's a complex object cache providing async disk IO capabilities to user-space as well. User-space application code can request objects from the cache and can use them in dynamic (or static) replies.

      full fledged webserver providing HTTP 1.1 keepalive, CGI, logging, transparent redirection, and many other features. So in our opinion TUX is a new and unique class of webserver, there is no prior art implementing such kind of 'HTTP stack' and 'abstract object cache' approach. It's i believe a completely new approach to webserving.

      As you can see, Ingo Molnar seems to think that TUX is beneficial both for static and dynamic content. If you would have read the articles in question (or if you knew anything about SpecWeb99 which is a test of both static and dynamic content) then you would realize that your statement is completely unfounded.

      There is a kernel-space static content webserver called khttpd, but TUX is something completely other.

      An interesting side note is that TUX would appear to be quite innovative, in many ways it is a whole new concept in web serving. It will be interesting to see commercial vendors chasing the tail-lights of the Free Software world in this particular regard.

    4. Re:Why by photon317 · · Score: 1

      You don't have to be quite so scathing. I think I fully disclaimed my comments appropriately. I know that TUX isn't khttpd. However, you will note that TUX does concede that khttpd was an important learning experience on the way to TUX. The other "dynamic" features are nice, and I'm sure they are great, but I'm betting the primary performance benefit of TUX comes from the same basic concepts as khttpd. I'm not dissing TUX by any means, I think it sounds great.

      --
      11*43+456^2
    5. Re:Why by Jason+Earl · · Score: 2

      Granted, I will tone it down. When I re-read my post I was actually embarrassed. I hope you will accept my apology, there was no reason for me to lash out at you in that manner.

      The ironic part is that you probably know more about the subject than I do. I am no kernel space hacker, by any stretch of the imagination, and I am simply reguritating what I read in the various articles.

    6. Re:Why by Y2K+is+bogus · · Score: 2

      There are many advantages to having the HTTP server execute in the domain of the kernel. First, there is no overhead for multiple process instances; most people will use a statically compiled binary to achieve a slightly higher performance, at the expense of system memory. Also, the HTTP server can use the kernel disk and network buffers as it's own. This means that when you want a file from the server, it can use the buffer cache, which probably already holds the file (if it's recently used) and just send those buffers directly to the network; this is how the sendfile function works. The HTTP server can also take better advantage of scheduling intimacy. If you're in the kernel, you can lock-step the server with the scheduler, so no time is wasted. The latency for connection handling is greatly reduced because there is no need to wakeup a user space program, wait for a scheduling slot, and accept the connection; this can all be done in one fell swoop by the server, because it's inside the kernel. Also, taking advantage of multiple processors is easier to do inside the kernel, where you want a very tight control on what processor does what. The enables certain processes to be tasked with running the webserver, and this helps eliminate cache hits because the thread actually exists as one chunk of code, and doesn't get swapped out. This brings up another issue, anything inside the kernel is non-swapable, so there is no swap overhead, reducing latency and context switches. Most of the benefits of a kernel based server are realized from the tight integration (in an efficient way, not IE type of way) into the 'core' of the operating system. This also makes way for appliance based servers. Something like a proxy cache or appliance web server. Network appliance has an HTTP server protocol available for their filers, but it is far less featurful than what TUX sounds like, plus TUX comes with source code!

    7. Re:Why by / · · Score: 1

      Maybe I'm alone on this, but I didn't read your comment as scathing at all; just frank. But then, people think I'm arrogant, so what do I know?...

      --
      "If one is really a superior person, the fact is likely to leak out without too much assistance" -- John Andrew Holmes
    8. Re:Why by photon317 · · Score: 1

      I'm no ueber-kernel-hacker either. You shouldn't be embarrassed, all is fine.

      --
      11*43+456^2
    9. Re:Why by carlos_benj · · Score: 3
      I hope you will accept my apology, there was no reason for me to lash out at you in that manner.

      Pardon me. I thought I was logged into Slashdot.

      carlos

      --

      --

      As a matter of fact, I am a lawyer. But I play an actor on TV.

    10. Re:Why by coolgeek · · Score: 1

      So you can have URL's that map to video memory.

      --

      cat /dev/null >sig
    11. Re:Why by Coward,+Anonymous · · Score: 2

      This means the data is (redundantly) read from disk by the kernel, copied to userspace for Apache to see, just so that Apache can copy it back to kernel space

      When sending a file to the network, you can use sendfile(2) to avoid this scenario. It doesn't look like apache currently does this, but hopefully future versions will.

  5. TUX as a real web server by Matts · · Score: 4

    Would you ever advocate using TUX as a real life web server?

    Think of a high availability environment, where you are building a highly dynamic application such as an e-commerce system. Would you even think of using TUX in such a situation, or would you go with the far more sensible Apache + mod_backhand + (pick one of mod_perl, php, or servlets)?

    The problem is, its all too easy to generate web server software that can withstand a high "hit" rate. But the pressures on web servers, and particularly web developers, lie in completely different areas: Time to market, ease of development, and configuration capability.

    --

    Matt. Want XML + Apache + Stylesheets? Get AxKit.
    1. Re:TUX as a real web server by alhaz · · Score: 2

      This is a good example of a coherent, interesting /. bost that's also complete bullshit. Moderators seem to like these.

      This isn't a troll. Matts obviously hasn't bothered to read any of articles referenced above. If he had, he would have noticed that TUX is designed *Specifically* to be integrated into Apache.

      --
      This is just like television, only you can see much further.
    2. Re:TUX as a real web server by Matts · · Score: 2

      I've actually spoken to Ingo in depth about TUX already. In fact I know the answer to my own question, but figured others would be interested.

      Note though that once TUX gets integrated into Apache, its stuck with Apache's process model, its API and all the other overhead in there. Needless to say, its going to be a lot slower, and I'd be willing to bet that it wouldn't offer any significant performance improvement over Apache 2.0's MPM.

      Besides, I doubt very much that the ASF will incorporate TUX. Read their list archive some time (new-httpd), and you'll see how strict they are about patches for the sake of performance (e.g. the SGI 10x speedup patches were rejected).

      --

      Matt. Want XML + Apache + Stylesheets? Get AxKit.
    3. Re: TUX as a real web server by orabidoo · · Score: 2

      I wouldn't use TUX for a highly dynamic app or an e-commerce system, unless someone makes a mod_perl (or similar) for it. OTOH, I would very certainly consider TUX as a static webserver, to serve images. real-world servers serve several images per page, and it typically pays to have a separate box, or at least a separate httpd, for these. thttpd has so far been known as a good choice for this; it seems that TUX may be even better.

  6. Testing... by keepper · · Score: 1

    What i would like to see, is some serious testing of all current unix'es, doing real world tasks... Focusing on not only their performance, but their stability, AND load bearing... ( who cares if something is fast, if as soon as a great load comes, it crawls )


    Something like THIS

    FreeBSD... ;)
  7. Server Extensions by BoLean · · Score: 4

    Are there any plans for or existing features in Tux that allow for adding custom modules such as WebDav? How about custom protocols?

  8. Version 1 by Anonymous Coward · · Score: 5

    This is a version 1 of the web server, and it has proven itself to be pretty nifty when it comes to serving both static webpages (through a kernel level httpd) and dynamic webpages. Do you see TuX getting more lean and faster as time wears on, past versions 2, 3, ... or do you see it getting bogged down in mostly unnecessary cruft and bloat?

    Will there be a way to port an existing Apache configuration across to the TuX configuration? How about IIS, Netscape, Zeus, etc? Will TuX have the option of a GUI setup screen for those who don't like the command line? Will TuX have a simple installer?

    1. Re:Version 1 by petchema · · Score: 1
      From one of the given URL, you can read that TUX and Apache could (not yet done, but the API is there ?) be bolted together, so you could switch from standalone Apache to Apache + TUX setup, then slowly transfer some load from Apache to TUX for everything TUX does better...

      BTW, I tried doing something (barely) similar with Apache and thttpd (on different ports). The problem I've found is that it doesn't work well because so many people are now behind firewalls that only allow outgoing HTTP connections to port 80 only (not tried IP aliases yet). "Bolting" looks promising (not to mention TUX seems to be really, really fast...)

  9. BAD LINK IN STORY by Anonymous Coward · · Score: 1

    There's a bad link in the story. "Ingo's informative post" in the initial Slashdot story is linked to slashdot.org.

    1. Re:BAD LINK IN STORY by 11223 · · Score: 3

      I think the link it should be is here, though he answered a bunch of questions in that story. If you browse through his user-info, you'll be able to see all of the informative posts he's made recently...

  10. Hmm by Signal+11 · · Score: 2

    Given that a benchmark as popular as this will tend to have vendors adding, uhh, "features" to make their webservers run faster for the benchmark, how did you manage to beat them anyway? Did you modify the TCP/IP stack? DoS the other servers during the test? Connect a compulsator to a large coil? Slashdot is dying to know.

  11. How portable is this? by 91degrees · · Score: 4

    This is based very much on the Linux kernel, so I presume that it couldn't be ported easily to different kernels. Hwever, are there any major optimisations dependent on the use of a x86 architecture?

  12. What is TUX's goal? by nd · · Score: 5

    What is the target purpose of TUX? From the benchmarks, it appears to be for very high traffic sites. I ask because I'm curious if that is its specific purpose, or does it serve well in other areas as well (i.e, Apache flexibility)?

    This is important because it will also help indicate what Red Hat's stance will likely be in either replacing Apache with TUX or just including it in their Professional distributions.

  13. It works with Apache... by Ex+Machina · · Score: 5

    It works with Apache but is TUX generic enough to be interfaced with another server?

  14. Load balancing by Ex+Machina · · Score: 5

    Does/Will TUX provide any sort of load balancing for a cluster of heterogenous TUX servers?

  15. Question for "timothy" by Anonymous Coward · · Score: 1

    Tim, after Windows/IIS's outstanding performance in the Mindcraft tests, why weren't we given the opportunity to pick the brains of the Microsoft engineers? Come on. They're smart people too.

    1. Re:Question for "timothy" by DanMcS · · Score: 2

      1 They're probably under NDAs of some kind.
      2 Free software thrives on having forceful, interesting personalities leading the projects. Those types of people tend to be more interesting to interview, I'd imagine.
      --

      --
      Communication is only possible between equals
    2. Re:Question for "timothy" by 91degrees · · Score: 1

      I disagree with point 1. They might or might not be. On the other hand the people responsible for Tux might not be bothered to talk about it. The only way to find out is to ask.

  16. Kernel modules decrease portability? by 11223 · · Score: 5

    You mentioned in the second Linux Today article that you intend to integrate TUX with Apache. However, Apache has always been a cross-platform server and is heavily used on *BSD and Solaris. Do you feel that this integration will undermine the portability work of the Apache team, or will it simply provide an incentive for web servers to be running Linux? If you intend to encourage people to move to Linux, can a similar idea as TUX be applied to an SQL server to make up for the speed deficit between Linux SQL servers and Microsoft SQL?

    1. Re:Kernel modules decrease portability? by Shook · · Score: 1

      or will it simply provide an incentive for web servers to be running Linux?
      Since he is a Redhat employee, I would assume at least one of the reasons is to add value to Redhat's lucrative server distibutions.

  17. could you have made it faster by konstant · · Score: 4

    You've said before on slashdot that TUX supports a number of usability features, although not the full complement. Could TUX have been made faster at the job of serving static pages if you had ripped out every single extraneous bit? What if TUX had been small to the point of being basically unusable in the real world, but served pages faster even than it does now?

    The question is, would that have been a fair benchmark?

    If your answer is No, then the followup question is, how is that materially different from what you *did* do?

    -konstant
    Yes! We are all individuals! I'm not!

    --
    -konstant
    Yes! We are all individuals! I'm not!
    1. Re:could you have made it faster by Stephen+Samuel · · Score: 2
      I think that the rule in the commercial world is "all's fare in war and benchmarks. Love is irrelevant".

      That having been said, my guess is that the Open Software community is a little less likely to invest time in unusable 'improvements' that do little more than give better benchmark results.

      --
      Free Software: Like love, it grows best when given away.
    2. Re:could you have made it faster by JordanH · · Score: 3
      • I think that the rule in the commercial world is "all's fare in war and benchmarks. Love is irrelevant".

      You don't have to defend the TUX benchmarks as being exploitive of some weakness with the SpecWeb test. Nobody did anything "unfair" here.

      I'm finding the pro-Microsoft moderation bias around here lately a little hard to stomach. If I had wanted to read FUD surrounding Linux Benchmarks, I'd just tune into ZDnet.

      I guess that moderators think someone is brave for expressing pro-Microsoft opinions that will likely catch derision from all the close-minded Microsoft bashers here. The fact is, if you write anything even vaguely pro-Microsoft here these days, and keep a cool, even tone, you're likely to be moderated way up.

      An MS employee posting pro-MS Comments brave? Hardly... That employee surely have nothing to fear from an eWatch investigation.

      konstant intimates that making design tradeoffs (features for speed) somehow makes a benchmark invalid.

      Those who develop benchmarks are supposed to take into account the "real world". If you feel that the benchmark allows someone to compare impractical, unusable software to more fully featured software, then you should criticize the benchmark and be specific about how the benchmark is not addressing these "real world" concerns so that we can be educated and the benchmark can be improved. Don't ask leading questions that suggest that features were thrown out to the point of making a product that's not usable in the "real world". Perhaps he didn't really suggest that TUX was unusable in the "real world". No, he did something more subtle. He suggested that if features were thrown out to benefit performance, then this test was no different than if features had been thrown out to the point that it was unusable (asking "how is this different...").

      Both Spec and Ingo Molnar have been quite open about the conditions of the test and the capabilities of TUX. As Ingo Molnar says here:

      • "...while it's not as feature-full as Apache, TUX is a 'full fledged' HTTP/1.1 webserver supporting HTTP/1.1 persistent (keepalive) connections, pipelining, CGI execution, logging, virtual hosting, various forms of modules, and many other webserver features."

      The list of capabilities given above for TUX covers what is needed by the overwhelming majority of Web sites. Sure, there may have been some usability tradeoffs, but look at the HUGE performance benefits.

      So, exactly what is konstant suggesting? That it's not a "fair" benchmark because it doesn't support all of the usability features that Apache has? Or is it only a fair benchmark if TUX can do everything that IIS does?


      -Jordan Henderson

  18. Re: Ingo's informative post by Russ+Nelson · · Score: 3
    --
    Don't piss off The Angry Economist
  19. What if the Mindcraft test ran again? by theHippo · · Score: 2

    With the advent of Tux would linux win if the Mindcraft test ran again? Or is the Mindcraft test still slanted towards Microsoft's operating systems?

    1. Re:What if the Mindcraft test ran again? by styopa · · Score: 1

      I hate to be paranoid, but how much do you want to bet that MS is trying to find a configuration right now to show that Win2000 is faster than Linux with TUX?

      When they do, and I'm sure that eventually they will, we will hear about it from Mindcraft.

      --
      Disclamer - Opinion of Person
    2. Re:What if the Mindcraft test ran again? by styopa · · Score: 2

      Oh, in case you are wondering Mindcraft did infact help out with the SPECweb99 tests. The information on how their machine faired in the test it is with the rest of the results.
      Of course it did only have one NIC instead of 4.

      --
      Disclamer - Opinion of Person
    3. Re:What if the Mindcraft test ran again? by theHippo · · Score: 1

      That is a very interesting link. Microsoft/Mindcraft is using a dual processor PIII 800 Mhz system here. Overall hardware wise it has a lower configuration than the Dell/TUX system. But if you look at it another way, it takes 4 of these beasts (8 processors!) to match TUX, and we know that parellisation does not scale linearly so in essence Mindcraft will not be able to use the SPEC benchmark to beat TUX.

      I still wonder though if we will fair much better under Redhat/TUX if the original Mindcraft test and the recent ZDNet test was redone, and I'd really like to know Ingo's opinion. But unfortunately my original post isn't being moderated upwards, so I'll be happy to carry on the discussion here.....

    4. Re:What if the Mindcraft test ran again? by styopa · · Score: 2

      The thing that I find the most disturbing about the SPEC99 results is that Linux/TUX cleaned everyones clock so easily. It wasn't just the other IIS machines but the full blown UNIX boxes. The machine that came the closest was the IBM RS/6000 with 8 processors running Zeus, and it only had a performance score of 3216.

      It is hard to say if RedHat/TUX would best NT in the orginal Mindcraft test. I would tend to believe that it probably would.

      What I would like to see is how a Linux box of the same configuration except without TUX would fair. That might be a better indication of exactly how much faster TUX is. If you noticed the only machines that ran Linux were the Dell machines, and all of them had TUX on them.

      The OS's I would like to see tested are the following:
      NT 4.0 with IIS
      NT 4.0 with Apache
      Win2000 with IIS
      Win2000 with Apache
      Linux 2.2 kernel, Apache w/ TUX
      Linux 2.2 kernel, Apache w/o TUX
      Linux 2.4.pre kernel, Apache w/ & w/o TUX
      Solaris 8 with iPlanet
      Solaris 8 with Apache
      OpenBSD with Apache

      If you read the full report from Mindcraft they also tested Solaris 7 x86 version and FreeBSD. Where NT scored >2000, FreeBSD scored ~1200, and Solaris scored >6000.

      --
      Disclamer - Opinion of Person
  20. patent plans? by chuckfee · · Score: 4

    In the second LW article, ingo writes:

    - So in our opinion TUX is a new and unique class
    - of webserver, there is no prior art implementin
    - such kind of 'HTTP stack' and 'abstract object
    - cache' approach. It's i believe a completely
    - new approach to webserving. Please read this
    - comment too, which (i hope) further explains
    - the in-kernel issue:

    Maybe I'm paranoid, but "new and unqiue"
    and "prior art" in the same sentence mean
    patent filing to me.

    Are there plans to see patent protection for
    TUX? As I recall, the RTLinux folks got a
    patent for RTLInux's prioritization stuff.

    Is a patent in the works?

    Regardless, TUX is an interesting idea and I hope
    to try it out soon.

    --chuck

    1. Re:patent plans? by pjrc · · Score: 1
      I saw those words and had the same thought. Of course, this would be a very important patent (if issued) and depending on redhat's actions, could leverage cross licensing.... the real question in my mind is how redhat would leverage such a patent, balancing their own needs against the needs of the larger linux community.

      I would guess that you can't speak for what redhat's actions would be, should this be patented, by the question nonetheless is how redhat would use such a patent and how it would balance its needs (against its competitors) vs the needs of the entire linux community.

    2. Re:patent plans? by 91degrees · · Score: 1

      That would be interesting. Tux is GPL'ed, and that isn't gonna change. Normally, patent and copyright on software reinforce each other. The person who owns the patent also owns the copyright. In this case, the copyright is owned by a number of people, who have all agreed that anyone may distribute the software. The patent is owned by an individual, and patents were never part of the GPL agreement.

      The situation gets even worse though. SuSE is a German company. In Europe, there are no software patents (in practice there are, but this wouldn't get one because the function isn't new. Just the method)

      This does assume that Redhat would want to do this. Something that I don't think is likely. They must know how much bad press this would create.

    3. Re:patent plans? by ericfitz · · Score: 1

      Hmm. Kernel-mode file service has been around forever, and caching (even of objects of differing types) has been popular as well.

      Even Microsoft's SWC (Scalable Web Cache) uses this technique. I don't see how this is really anything new.

      My question is, would this really be an appropriate service for anything but static pages, considering that an errant CGI script might possibly take down not only the service, but also the server?

      BTW, it's lame to say that there's no difference- if the server does anything except serve static pages, there's a real chance for data loss if the kernel panics in the middle of a write to disk, etc.

  21. Threading and Linux by Chainsaw · · Score: 5
    Unix programmers seems to dislike using threads in their applications. After all, they can just fork(); and run along instead of using the thread functions. But, that's not important right now.

    What is your opinion on the current thread implementation in the Linux kernel compared to systems designed from the ground up to support threads (like BeOS, OS/2 and Windows NT)? In which way could the kernel developers make the threads work better?

    --
    War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
    1. Re:Threading and Linux by logicTrAp · · Score: 2

      (I know this isn't the meat of your comment but...)

      > Unix programmers seems to dislike using threads
      > in their applications. After all, they can just
      > fork(); and run along instead of using the
      > thread functions.

      This is a somewhat naive view of threading on Unix. The biggest factor is probably that many Unix programs don't use threads because they're not portable - only relatively "modern" (as Unix systems go) systems support them. Yes, you can go with userspace threads but then you give up a lot of the advantages of programming with threads, and a userspace threads package needs to be ported to any new platform it runs on, which gets back to the whole portability problem. Remember, a lot of the programs you run on Unix were originally written back in the 80's or even earlier.

      Asides from that, there are some good reasons for not being wedded to the "Everything should thread" model. Foremost, multiple fork()ed processes insulates you quite a bit. If a thread in a process starts overwriting random memory, that affects ALL threads running. A well written server running as multiple processes won't be affected nearly as much by misbehaving siblings. Signal handling and a variety of other things become more complicated as well in a threaded application.

      Of course, threads are really neat anyhow and make a lot of sense for lots of applications (and in fact a large portion of my job involves working with threads). But too often people make the assumption that threads == "cool, fast, well-written code" and fork == "old, crusty code" when both programming models have their place.

    2. Re:Threading and Linux by petchema · · Score: 1
      >I guess most unix programmers have uniprocessor systems and therefore don't get to see the benefits a thoroughly threaded application yields on a multiprocessor machine.
      I had a good laugh at that one. Salesman want you to believe that threads are necessary for multiprocessors. It's fine for them, as long as it sells, but it's not true. I could as well say that most unix boxen usually had many processes, so they didn't feel the need to go for threaded apps, which is a more complex model to master (=> error prone). So you can have your share of laugh too, if you feel like it.

      But that's just different models, with their own advantages.

      >You can really see the difference between a uni- and multiprocessor machine if you're running Windows NT, OS/2 or BeOS. Unlike with Linux, you can really see that you've got another processor running stuff in parallel.
      Again, unix boxen were seldom used for monolithic apps. This is changing, slowly. Also, it's easy to scale when you're very slow on uniprocessor systems :) Just do the math.

      >Sad, but that's what you get when you use an OS that has not been properly designed (unforgivable sin in software engineering!) in the first place and has been coded by a loose bunch of hobbyists.
      A troll if I ever saw one, no need to answer.

    3. Re:Threading and Linux by bowb · · Score: 1
      Asides from that, there are some good reasons for not being wedded to the "Everything should thread" model. Foremost, multiple fork()ed processes insulates you quite a bit. If a thread in a process starts overwriting random memory, that affects ALL threads running. A well written server running as multiple processes won't be affected nearly as much by misbehaving siblings.

      A well written process shouldn't be misbehaving in the first place (because it's well written right?).

      If it is misbehaving, then it's buggy. If it's buggy, I'd prefer that the bugs manifest themselves in an obvious way, rather than not being "affected nearly as much". There's far too much software around that covers up its own bugs, resulting in subtle errors, and difficulty in determining it's working correctly or not.

    4. Re:Threading and Linux by drix · · Score: 2

      Spec'ing software is merely meant to coagulate your thoughts into something codeable. If you are smart enough to write software, let alone an entire operating system, without doing so, then obviously your work will be good enough to make designing it formally a moot point.

      Don't think that just because you learned it in school, it's correct.

      --

      --

      I think there is a world market for maybe five personal web logs.
    5. Re:Threading and Linux by miniver · · Score: 1
      Unix programmers seems to dislike using threads in their applications. After all, they can just fork(); and run along instead of using the thread functions. But, that's not important right now.

      I know why I dislike threads in C/C++ applications, particularly web applications: If one thread breaks, you break the server, whereas with forked processes, if one process dies, the rest of the server keeps running. In addition, not all libraries (in particular database APIs) are threadsafe, which makes writing multi-threaded servers much more error-prone than writing single-threaded servers.

      I know from where I speak: Netscape's Enterprise Server, which is much faster than Apache on equivalent hardware, is much more error-prone, particularly with 3rd-party NSAPI modules, than Apache, and almost all of it directly related to threading issues (the rest is due to it being closed source -- don't get me started on that). Which is why I just proposed Apache on Solaris for a web solution instead of Netscape, I mean iPlanet.


      Are you moderating this down because you disagree with it,
      --
      We call it art because we have names for the things we understand.
    6. Re:Threading and Linux by Panaflex · · Score: 1

      Apache 2.0 is multithreaded.. so pfffth!

      The problem with NSAPI is that finding well written code is impossible. It doesn't have hardly any useful debugging tools. And, yes, whatever handler you write must be thread safe.

      Apache, by contrast, supports decent debugging tools, and has the ability to run forked or threaded, (or even forked and threaded, IIRC).

      See ya!
      Pan

      --
      I said no... but I missed and it came out yes.
    7. Re:Threading and Linux by logicTrAp · · Score: 2

      This is a convenient ivory-tower way of looking at coding, however the fact is that any large complex problem (ie the ones you'd like to use threading or multiple processes for) have bugs. Period. Being able to recover better from bugs is simply a good thing, especially when you're going for reliability (databases, anyone?).

      And asides from that, you don't even know if the bug is yours - For instance, Apache processes die off after handling a certain number of requests to try to limit the effect of memory leaks *in vendor libraries*. It's nice working on (Linux|*BSD) where you can just fix the library in question, but if you have to work on Irix, Siemens Unix or something even more obscure, do you want to be waiting on a vendor to get you a bug fix? And of course the libc on various systems may have even more nefarious bugs than memory leaks...

      In short, in an ideal world, threading is probably almost always the more attractive solution. In the real world, however, compromises sometimes need to be made, and frequently fork() is a good compromise.

    8. Re:Threading and Linux by petchema · · Score: 1
      >So you don't think a large software project (like an operating system) should be designed before the coding phase? You're not in software business, are you.

      If you really think that software should be designed only before coding phase, then I guess you learned software engineering in the '80s or something. Modern courses usually teach "cyclic (re)design" instead.

      Sure, Linux started as a hobby project, but after nearly 10 years, most of today's code is far from its origins. Obviously, you cannot manage millions line projects without good design/coding rules enforcement (ok, some code still sucks, and drivers for example have very heterogenous quality).

      And I think you're trolling, because it's obvious you never had a look at the kernel code, nor seen how kernel hackers work, nor have the slightest idea of who most of those hackers really are; Some are computer students, other work in computer field for years, and the average competence is really high; That's also competence that dictates who manages subsystems code in the kernel. "a loose bunch of hobbyists" is just FUD. (and no, I'm not a kernel hacker).

  22. Primary Market by Mr.+Sketch · · Score: 4

    What do you see is the primary market for TUX? With the ability to handle such high traffic it would be suitable for busy e-commerce sites, but I'm sure there will be more than a few people who are wary about a http server in their kernel. However, the embedded market might see this as a good thing and allow for web-based configuration, monitoring, etc of embedded devices. I would think there would be more people willing to just throw the webserver in kernel to save space if nothing else, but of course this still raises the security/stability concern.

    So the main question is really just where and in what applications do you see TUX in the future?

    1. Re:Primary Market by dingbat_hp · · Score: 1

      With the ability to handle such high traffic it would be suitable for busy e-commerce sites

      eCommerce sites don't grind to a halt because they can't serve enough static pages, but because they can't grind the back-end processing fast enough(whether that be CGI Perl or Servlets).

      OK, so some of them fall over because they've got their heads so far up their open sources that using a non-transactional database has become such a point of religious dogma that they won't go to any more sensible platform...

  23. Performance using dynamic content. by Paladin128 · · Score: 5

    How would TUX perform using CGI/Servlets/PHP/etc. compared to Apache or IIS? The ability to serve static pages fast is not that useful in the real world, as all the sites that get really big hits-per-second are those with dynamic content (Yahoo, Slashdot, Amazon.com, etc.)


    "Evil beware: I'm armed to the teeth and packing a hampster!"

    --
    Lex orandi, lex credendi.
    1. Re:Performance using dynamic content. by blakestah · · Score: 2

      TUX was performing with dynamic content. SpecBENCH is designed
      to mimic a real world situation with mixed static and dynamic content.

      For Ingo:
      Do you foresee this becoming the enterprise platform for web
      serving based on the combination of
      1) threaded TCP/IP stack
      2) httpd modules
      3) TUX ?

      ie: What possibilities exist for further optimizing ? It is really incredible
      how much more optimized TUX + 4 CPUs/NICs is that something like
      an 8 CPU IBM AIX machine, or solaris...

  24. Integration into RedHat? by ErMaC · · Score: 5

    How will the TUX Webserver integrate with RedHat's Linux distributions? Will RedHat create a special distribution with an identical setup to yours? Will RedHat start releasing more specialized distributions, preferably ones more suited to a secure server environment but focused on performance like your setup was?

    As it is RedHat seems too insecure and bloated for a streamlined server environment. Ideal would be installation options where I can say "This server will do these 3 things (i.e. DNS, Mail, HTTP) so make it suited for that and nothing else." This kind of flexibility would be a HUGE boon to the server market, giving customers a high performance machine running TUX + Apache that was secure and did the functions they needed it to.


    Yea that was a long question, you can chop off last paragraph if you like. Hehe, insecure and bloated, can we say WinNT/2K?

    "I want to get more into theory, because everything works in theory." -John Cash

    --
    "I want to get more into theory, because everything works in theory." -John Cash
  25. Caching by JohnZed · · Score: 5

    I have a few questions about TUX's caching system. Before I go any further, I want to say that I'm incredibly impressed by the results. I've been following specWeb99 for a while and have been wondering when someone would manage to build a great dynamic cache like this one. I hope it'll get the wide acceptance it seems to deserve.
    First, it seems that basically the entire test file set was loaded into memory ahead of time for use by TUX. How adaptable is TUX to more dynamic, limited-memory environments in terms of setting cache size limitations, selectivity (e.g. "cache all .GIFs, but not .html files"), and expiration/reloading algorithms?
    Second, can a tux module programmer modify the basic tux commands, or do they always do the same thing? For instance, if I were adapting TUX to work with a web proxy cache, I'd want TUX_ACTION_GET_OBJECT to actually go out over the network and do a GET request if it couldn't find a requested object in the cache. You can imagine lots of other circumstances where this would come up as well.
    Third, is it possible to execute more than one user-space TUX module at one time?
    Fourth, when can we play with the code?
    Thanks a lot!
    --JRZ

    1. Re:Caching by De · · Score: 1

      You can play with the code right now .. its gpled ... look at the linked stories .. one of them has a link to the code.

      Dean

  26. Next time, more accurate benchmarks by dingbat_hp · · Score: 1

    The hardware differences somewhat devalued the original SPECWeb benchmarks.

    If the pointy-haired stupids see this, they just say, "Oh but look, they slugged the results by running Linux on faster kit"

    If the smarter people see it, they'll be kept too busy explain-o-LARTing to the stupids how irrelevant this is to be able to get full use of it in the Great Jihad against Redmond.

    ... anbd if M$oft's PR Weevils see it, they'll probably whine to the DoJ about unfair competition.

  27. How will TUX leverage marketing? by WillAffleck · · Score: 3

    I know it's a sleazy thought, but the reason why Red Hat is the most popular distro has more to do with marketing and deals than the code itself.

    So my question is this - how will TUX market itself and what kind of deals are you looking at making so that it becomes more widely adopted?

    I don't think we need specifics, just some of the general methods you plan to use for marketing and some probable categories of companies you are looking at making deals with.

    [yeah, I know, free bheer - but it's a good question]

    --
    Will in Seattle
    1. Re:How will TUX leverage marketing? by Wee · · Score: 2
      I know it's a sleazy thought, but the reason why Red Hat is the most popular distro has more to do with marketing and deals than the code itself.

      And what exactly is wrong with Red Hat being the "Most Popular Distro"? Is there a popularity prize that a distro can win which makes it somehow better? So Linux isn't Linux if there's some sinister plot? And could you please tell me which bits of code are "inferior"?

      Facts are always better than hyperbole, but often hard to find when faced with an OS bigot. Are you bigoted? If my NT box has an uptime of 187 days and meets my needs for a particular task is that bad? If I use Red Hat Linux instead of SuSE or Slack or Debian is that wrong? You'd begrudge me my Red Hat implementation for what reasons, exactly? Show me the code, pal.

      At the risk of starting a flame war, I just have to say that this sort of sentiment is exactly what is wrong with the Linux "community" right now. We need solidarity. We don't need ill-informed newbies dividing the Linux camp. "My distro is better than yours..." Well nyah nyah nyah. I got the same damn kernel you got. I have a system that does exactly what I want and is highly extensible should future needs arise. But it's based on Red Hat. That's bad?!? What have you been smoking, my friend?

      Drop the 'tude and realize that we're all pals here. At least one Linux distro has to be popular, and if that was Debian, you'd probably come up with unfounded reasons why it's bad. You'd be using Red Hat or Mandrake then, wouldn't you? Just because they were the "alternate Linux". Admit it.

      Maybe Red Hat isn't the cool distro as far as you're concerned, but I have news for you: A choice between your opinion and my needs isn't a choice. I choose what works, regardless of what the cool distro du jour happens to be. Your opinion doesn't help anything.

      Get a clue and stop being such an elitist.

      -B

      --

      Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  28. Is the kernel a security issue ? by dingbat_hp · · Score: 1

    Firstly, I'm no Linux expert or OS expert.

    Is having the web server in the kernel a security hazard ? Does it increase the potential for damage if there is something like a buffer-overflow exploit in there too ? There are good reasons why the muggles and their IP-tomfoolery are normally kept out of the kernel.

    Can you imagine the uproar if M$oft announced a new IIS embedded in kernel32.dll ?

  29. Re:Linux Chix by molog · · Score: 2
    Just in case this is not a troll, which I believe it is, you took that quote out of context. At the time when everyone was giving their source away it was seen as very counter to everything that the programmers at the time believed in. Thus it was stated in the tense of that time period that it was audacious. It is common now and an industry is in place.
    Molog

    So Linus, what are we doing tonight?

    --
    So Linus, what are we going to do tonight?
    The same thing we do every night Tux. Try to take over the world!
  30. Good question! by zorgon · · Score: 3
    I've heard one of the reasons for Windows' historical instability is that user applications are permitted (nay, even encouraged) to corrupt the kernel, whereas in a typical vmunix implementation this is not allowed. I.e. my bad calls to free() result in core dumps not BSoDs... But here is a Linux application program right there with hooks in the kernel, and not only that it is hooked up to the network! Is Ingo a) Godlike or b) Nuts?

    WWJD -- What Would Jimi Do?

    --

    I am quite civilized, and I should be brought a beer immediately. -- Bruce Sterling

  31. Answer from other by styopa · · Score: 1

    Probably because the last thing that we needed was an interview where the questions are coming from a group of really angry, biased, emotional people. The questions that would have made it would probably would not have been constructive.

    I know that I would have fired off a couple of nasty questions, and the moderators are human just like the rest of us.

    That and the fact that I don't think that they would have agreed.

    --
    Disclamer - Opinion of Person
  32. World famous programmer by azuretongue · · Score: 1

    Did you try to become a world famous programmer? Would you be this famous if did not release your code under GPL?

  33. Relative Impact by Caballero · · Score: 5

    TUX includes a variety of kernel and apache changes. Can you give a rough measure of how each of the changes improved the http performance? I'm interested in the amount of improvement as well as why it improved performance. Do those particular changes have negative impact on the performance of other applications?

  34. Hmm. by mindstrm · · Score: 2

    Most powerful = Fastests?

  35. And they say Linux users rant? by gmhowell · · Score: 2

    Sorry, this is off topic (I got to it via an article mentioned in the story), but:

    Windows User Rant (and quote here:)

    "Aahh, see you cannot compare Win2k and Linux because they do not have the same drivers, one OS might perform better on some hardware, and the results would never be consistent. So you linux freaks stop trying to prove linux is better. Even if Windows has license cost its for a reason, its made by a commercial company (oh you've never heard of it? I'm sorry then) and they need to make money to make more software & profit. Besides Windows is done by professional coders, some of Linux is done by hobby-programmers. If you want to argue about the internals of Windows give me a ring at my ICQ # at 31546029. I've had enough of this Linux crap, stupid people trying to force their choices on Windows users."

    This diatribe should show that immaturity is one thing the Linux community definately does NOT have a monopoly on. Why do the press of all sorts mention the rudeness of Linux advocates, yet fail to do the same for Windows advocates? This is hardly unusual. Any discussion on zd-net or elsewhere features similar mindless rants, yet they are ignored.

    Perhaps the next time some 'journalist' mentions how Linux advocates act, they could merely be sent the URL and quote of something like the above to prove that it works both ways. At the same time send some of the essays written by ESR, Linus, Alan Cox, etc, etc, etc, etc, etc to show that there an equally large (if not greater) number of intelligent, rational, well-meaning Linux advocates.

    And if that doesn't work, we could just use this guy's ICQ number, find out what his 'puter's IP is, and crack away>;)

    --
    Jesus was all right but his disciples were thick and ordinary. -John Lennon
    1. Re:And they say Linux users rant? by pjrc · · Score: 1
      Why do the press of all sorts mention the rudeness of Linux advocates, yet fail to do the same for Windows advocates?

      It could have sometime to do with those rude linux rants showing up in the jouurnalist's inbox in vast numbers, all in a short space of time.

  36. Defamation of Character? by / · · Score: 3

    Are you afraid that if a particularly buggy version of TUX slips out the door and trashes people's systems and loses valuable data, that a certain angry penguin will open a whole can of whoopass on you for defamation of character? Are you investing in reserves of herring and icecubes in anticipation of this event? Perhaps an adapted Ursus anti-bear suit?

    --
    "If one is really a superior person, the fact is likely to leak out without too much assistance" -- John Andrew Holmes
  37. TUX performance by mikeraz · · Score: 3

    You deserve a beer. I'll send you some. What kind do you want?

    (Assuming you're not like Raster and would rather have spirits....)

    --

    There's more to it than this.

  38. TUX Architecture by dweezil · · Score: 5

    You appear to have take an "architectural" approach to designing TUX, so I have some architectural questions.

    1. The choice of a kernel space implementation is probably going to be a controversial one. You suggest that HTTP is commonly used enough to go in the kernel just as TCP/IP did years ago. What performance or architectural advantages do you see to moving application protocols into the kernel that cannot be achieved in user space?
    2. What is your approach to concurence? In particular, you refer to "event driven". What do you mean by that and what did you choose as the core to your event engine? Also, how do you handle threading to scale on SMP machines?
    3. Are there any plans to generalize the infrastructure elements of TUX so that other protocol servers can take advantage of the TUX architecture and also go fast as hell?
  39. ingo's informative post by djinn87 · · Score: 1

    This is the correct link to Ingo's informative post.

  40. If so.. by GauteL · · Score: 2

    It could be made so that the patent could
    be used inn all kinds of Open-software,
    but required royalties for closed software.
    Software licensed through any kind of "open source"-approved license would do for me :-)

  41. Apache Modules by lal · · Score: 3

    How will our favorite Apache modules, like mod_perl and php, be helped by TUX? Will my mod_perl code or php code run faster with TUX?

  42. RedHat and Others? by wharfrat · · Score: 1

    I understand that TUX was primarily designed and coded by Red Hat. Did other Distrobutions/Vendors have there hands in parts of this project? Who and what did they contribute?

  43. kernel space vs. clustering and redundancy by captredballs · · Score: 2

    Lots of developers create websites under the assumption that higher performance can be achieved by adding more machines behind a load balancing mechanism. After all, hardware is cheap compared to the cost of creating a website. Under this assumption, the scalability of a webserver does not matter nearly as much. Given this assumption, do you still feel that there are still benefits to having kernel-space http functionaty? Even compared to the risks of extraneous kernel code?

    --

    I suppose I'm not too threatening, presently, but wait till I start Nautilus
    1. Re:kernel space vs. clustering and redundancy by petchema · · Score: 1

      latency ?

  44. Embedded by kawlyn · · Score: 1
    Are there any plans for embedded kernals? Would it even be different? (I don't know that's whay I'm asking)

    It would seem to me this would be a very fast cache/proxy sever. Embed it in hardware and you've a very cool little product.

    --

    When someone yells "Stop" or goes limp, or taps out, the fight is over.
  45. How are benchmarks used? by ChrisDolan · · Score: 5

    Have you tuned TUX for any particular benchmarks, or do you just write it as best you can and throw it in the ring? If it's tuned to some benchmarks, does that hurt its performance on other benchmarks?

    Have any benchmark tests ever been particularly useful for revealing bugs/inefficiencies in your code? That is, are the benchmarks tools to you, or are they just the end product?

  46. Not a question for Ingo... by wowbagger · · Score: 4

    But rather for the /. crew: when would you see deploying TUX as a server for /.?

    This is the real question: when will people for whom serving web pages is their bread and butter adopt this? Apache already has this level of trustworthiness, how long until TUX has it?

    1. Re:Not a question for Ingo... by kawlyn · · Score: 1
      good call. Anyone out there have plans for using this soon? Are there any sites running it now. Could they withstand being /.ed?

      --

      When someone yells "Stop" or goes limp, or taps out, the fight is over.
    2. Re:Not a question for Ingo... by pjrc · · Score: 1

      My website runs through a 128 kpbs frame relay line, so apache's sluggish pre-forking architecture is just fine. Even at full T-1 speed (which really is only about the same as a single-speed CDROM), apache is still plenty fast enough.

  47. what database speed deficit? by jslag · · Score: 1
    If you intend to encourage people to move to Linux, can a similar idea as TUX be applied to an SQL server to make up for the speed deficit between Linux SQL servers and Microsoft SQL?

    OK, the main point of your post - linux kernel modules don't obviously fit with a cross-platform app - is interesting. But where are you coming from with this "SQL servers" question? Assuming that you're talking about databases, you probably should give us some evidence or references. I've been developing database-centric web stuff for a while now, on linux and NT among other platforms, as well as talking to others doing the same, and this is the first I've heard that the microsoft database had any sort of advantage over those availible on linux (other than pretty pictures in the admin interface).

    ----------------

  48. Re:Linux Chix by bowb · · Score: 1
    You are right. I just read the article. It's about open source "fanaticism", written by a Mac guy. It makes some good points.

    The troll (or, if he's not a troll, the guy with severe reading comprehension problems) neglected to preserve the emphasis on the word "sell" in his quote, altering the meaning somewhat.

  49. I'm wondering... by Semuta · · Score: 1

    Do you ever slap yourself on the ass and shout out "YOU CANNOTTA HAVA THE MINGO! BEGONE!"?

    --
    DontBlow.com is an absolute good.
  50. Interesting, but... by jd · · Score: 2
    Benchmarks don't really mean much, unless you're comparing like with like. Which leads me onto my question....:

    Do you think that ultra-high-end web servers, such as TUX, will ever be able to compete with dedicated systems such as Transputer nets, or dedicated WWW OS', such as Exopc + Cheetah?

    (The overhead of a full-scale OS, plus full-feature system library, plus massively-extensible WWW server -must- impose penalties on multi-purpose systems that simply don't exist for the more basic systems. And transputer networking is a LOT less heavy than that SMP quagmire.)

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  51. The death of MultiPurposeEverything? by nadador · · Score: 3

    TUX appears to me to be rather specialized, eg. if you own a web server, eventually you'll use TUX; if you also serve web pages, you probably won't, just because you don't need to.

    Do you see TUX as indicative of a growing realization that general purpose computing might not be perfect for everything? More specifically, do you see it as part of a movement towards more specialize hardware and software? For instance, why should a web server run the same kernel as a workstation, and why should the be built of the same parts?

    --

    Outside of a dog, a book is a man's best friend. Inside a dog, its too dark to read.
  52. Questions for Ingo by fisodd · · Score: 2

    Would you recommend the use of loadable kernel
    modules as a mechanism for developing/improving
    other services?

    Beyond the use of TUX, what other features/fixes/
    tunes may be necessary to move Linux into more of
    the enterprise class of servers?

    How long did it take to develop TUX? What about
    Linux helped/hindered this development?

    Is SPECweb a good benchmark for TUX? What would
    you like to see in a better web benchmark?

    --
    F is an odd number...
  53. Hmmm by Siqnal+11 · · Score: 1

    Given that a benchmark as popular as this will tend to have vendors adding, uh, "features" to make their webservers run faster for the benchmark, how did you manage to beat them anyway? Did you modify the TCP/IP stack? DoS the other servers during the test? Connect a compulsator to a large coil? Slashdot is dying to know.

    --

    --
    You are a fucking moron.
  54. Ingo... by citizen_bongo · · Score: 1

    How do you feel that your name slant rhymes with mine, as I am named Bongo?

    And, as a necessity to satisfy the urge inside of me, DID THE DINGO EAT YOUR BABY?

  55. because by ArchieBunker · · Score: 1

    To generate high spec numbers such as this, you blast MS for running the GUI in kernel space and heres linux serving http from the kernel.

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
    1. Re:because by Helge+Hafting · · Score: 1
      To generate high spec numbers such as this, you blast MS for running the GUI in kernel space and heres linux serving http from the kernel.

      Interesting point, please note that a GUI is a lot more complex than this webserver functionality. Also, the webserver get a significant performance boost from this, whereas the GUI doesn't.

      MS GUI may beat X in some cases, this however isn't due to X running in user space. It is more about X running via TCP/IP, and design differences.

      Finally, if you don't want a kernel webserver, use apache or several others. You have the choice. Can you use windows with a non-kernel GUI?

    2. Re:because by CyberELF · · Score: 1
      MS GUI may beat X in some cases, this however isn't due to X running in user space. It is more about X running via TCP/IP, and design differences.

      • X only uses TCP/IP if the server and the client are not located on the same machine. If they are, X uses UNIX domain sockets (same as named pipes under NT). And using the shared memory extension, you can even work directly (GTK+ and QT use it AFAIK).
      • In NT 3.51, the GUI was located in user space and the was system dog-slow. In NT 4, they moved the GUI in kernel space for speed gains; at the expense of stability.
  56. Configuration? by zaphod.nu · · Score: 2

    How does TUX handle the configuration of the server? Since it seems to be pretty much kernel level code, does it need a reboot for new configs? Or is it just read into memory using user space code?

    Can TUX handle apache modules as of now?

    Is this technology possible to implement on FTP, SQL, SMTP etc. servers?

    uhmm... the patent question was taken, so was the threading and the portability... hmm... I guess I have no further questions, your honor.

    .sig

    1. Re:Configuration? by Siqnal+11 · · Score: 1

      We already have standards. You can get the latest version by typing "vi /usr/doc/HOWTO/Hardware-HOWTO". This isn't a joke, I'm dead serious. The linux standard is the kernel, so the sooner we convince manufacturers to provide modules for the KERNEL for their devices, the better we'll be. It could be worse.. they could be creating must-run-as-root daemons with closed-source APIs. I say we formalize an existing standard.. afterall, it's worked quite well so far.

      --

      --
      You are a fucking moron.
  57. Wrong by Craig+Davison · · Score: 1

    Tux uses features of the Linux kernel. IE uses features of the Windows shell and COM framework (both of which are portable, though not easily).

    1. Re:Wrong by um...+Lucas · · Score: 1

      IE exists for Windows 3.1 Windows 98, Windows NT (x86, Alpha, presumably MIPS and PowerPC as well), Windows 2000, Mac OS, Solaris , HP UX...

      Without being a programmewas said at the trial., I'd say likelebhood is that IE relies on no features of Win32, but insteadell makes extnsive use of the features added by IE.

      Why, specificeally won't TUX ever be able to run under FreeBSD, OpenBSD, or even Darwin/OS-X? The source is all available for those... Thouse of the GPL they'll never be able to SHIP with the module installed, developers could make patches for those OSes, could they not?

    2. Re:Wrong by Craig+Davison · · Score: 1
      Something like Tux could certainly run on the BSDs. Tux itself exists partially as a kernel module, which would have to be rewritten from scratch for each BSD- the end product would not be Tux.

      As for IE, Microsoft had to port a lot of COM and the Shell API to Unix (see this article). AFAIK, IE for Mac was mostly a rewrite. I don't know the status of IE for Win16.

  58. User Space TUX? by spRed · · Score: 1

    TUX is a combination of kernel-space HTTP and kernel-space caching. Would it be possible to have a user-space version of TUX that uses shared memory instead of kernel memory? The first mumblings I've heard are stability and security worries of having a kernel-space implementation. The user-space version would always be slower than the kernel space version (at least one extra memory-to-memory copy), but would the object caching by itself provide a speedup?

    And out of curiosity, how generic is the TUX caching mechanism (is it more like a namespace for kernel-space shared memory)?

    -spRed

    --
    .sig Karma out the wazoo, better to spend points elsewhere if this is above 2 or below 0
  59. other tasks subsumed by kernel? by mihalis · · Score: 1

    Other than webserving via TUX or khttpd or what-have-you, what other functions that traditionally run in user-mode do you think might be usefully moved (optionally, of course) into the kernel. One that comes to mind is Quake Arena servers (I could be way off base though!), and perhaps other services where latency is critical (is NFS in the kernel yet? I forget).

  60. Comment on the SPEC Web Results. by Pinball+Wizard · · Score: 3
    Since your goal is to incorporate HTTP into the Linux kernel, I'll assume you are intimately familiar with how the OS deals with things like caching, memory, etc.

    First of all, great job. For those of us whom speed is a primary concern, integrating HTTP into the kernel is a godsend. Obviously this will be a great improvement.

    That said, don't you think the hardware differences in this last test are big enough to discredit the results? The W2K machine had an Ultra2 SCSI channel, 80MB per second data transfer vs. an Ultra 160, 160 MB per second data transfer rate of the Linux machine. The test operator claimed that since the machines more memory than the total size of the files they were serving that the SCSI bus speed did not matter. Is this true? Secondly, the Linux box had a dedicated 1000MB/s ethernet adapter while the W2K machine was using a 10/100/1000 NIC. The tester claimed that since they were plugged into the same network, that the NIC's were functionally equal.

    In your opinion, do the hardware differences mean anything? I'm asking because if this were the other way around(and the Windows machine won) I think the Linux community would have been up in arms about it.

    --

    No, Thursday's out. How about never - is never good for you?

  61. Because UNIX sucks at I/O, that's why. by jcr · · Score: 1

    The advantage of putting TUX in kernal space is that it saves a step in UNIX's typical copy, copy, copy, copy behaviour.

    UNIX wastes a lot of time copying data multiple times before it ever gets to a userland process, and it takes the same hit to get it into kernal space where the network stack can get at it.

    See EROS (www.eros-os.org) and the I/O Lite project (I think I/O Lite was done at Rice university, but I'm not sure.)

    I/O lite was a completely copy-free I/O system for OSF-1, and EROS is a research project that demonstrates (among other things) how to do I/O correctly.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  62. Re:You're not a troll! by heywood_jablowme · · Score: 1

    response to B:
    You're missing my point. Your .sig is invalid, because you're NOT A TROLL!

    But, we'll forget I said that, since you seem to have a sense of humor, and I just happened to read one of your more inane messages. So, um, yeah, you are a troll (occasionally).


    nevermind.
    _________________________

    --
    _________________________
    heLlo... myy naame issh Linush Thoralvades, and I pronounsch (hic) it, "vodka"!
  63. Future of Tux: Load balancing? by thule · · Score: 1

    Since the kernel will have a full HTTP stack in it could/will this functionality be extended to do things like load balancing HTTP requests? Since the kernel will have a full HTTP stack it could, in theory, do high performance cookie based stickyness... just like the big guys (F5, Arrowpoint). This would be a wonderful supplement to the Linux-VS project (TCP vs. HTTP balancing). Even nicer would be SSL session based stickyness (am I asking too much?).

    I realize this could significantly bloat the size of the kernel module, but it would be a small sacrifice for saving between $50,000 - $70,000.

    1. Re:Future of Tux: Load balancing? by thule · · Score: 1

      What about other protocols? A kernel level FTP could be useful for certain applications.

  64. How does this break my existing stuff? by pyrotic · · Score: 1

    Last time I used an object cache with Apache was Squid. Setup wasn't too bad, you bind Squid to port 80 and it passes any requests for dynamic pages to Apache. Is tux going to follow the same kind of setup? Tux looks nice, but there aren't many people who can live without mod_php/mod_perl or mod_ssl. How is this going to work with Apache now, and in the future?

  65. Who needs this much throughput? by GGardner · · Score: 1
    I'm not trying to be a troll, but if I read the SPEC page correctly, the results indicate that TUX can keep > 4000 connections streaming at 400kbits per second, or 1.6 Gigabits/second. How many "e-commerce" sites even have this kind of bandwith to the internet?

    Are these results even relevant outside of benchmarks?

    1. Re:Who needs this much throughput? by Rhys+Dyfrgi · · Score: 1

      As I've been finding increasingly true with computers lately, eventually it reaches a stage where it is "good enough" for that tech. For instance, my K6-III/400 is good enough for almost everything I want to do. Sure, I can't run OpenGL screenhacks as my background, but it's fast enough for just about everything I want to do. Too bad laptop manufacturers don't seem to realize that..

      But that's besides the point. The point is that this is so fast that the limits of it are unlikely to be reached any time soon. Most things that would need more than that kind of bandwidth are video, and that's usually streamed using a specialized protocol (and usually proprietary, too.. maybe even always), thus bypassing the HTTP server.
      ---

      --
      END OF LINE
    2. Re:Who needs this much throughput? by swb · · Score: 1

      Right on. I'm sure that some major sites that keep multiple OC-3s to all the major backbones have this kind of aggregate bandwidth, but for a lot of them its considered simpler and more reliable to mirror content to multiple datacenters in multiple locations, rendering a 1.6Gbps single server moot.

      Part of what I wonder is if the need for such throughput exists then the need for redundancy and reliability is even more paramount, and multi-site mirroring, clustering, load balancing-type techniques can also achieve this kind of throughput.

      There's also the question of providing content for that much throughput even if it is necessary. A site with a need for 1.6Gbps of throughput is also likely to be largely database driven -- to what extent is that performance going to be hampered by the interaction with back-end databases?

      I'm also wondering if this isn't an attempt to solve the benchmarking engineering problem vs. solving the web server performance engineering problem. The closest analogy in my mind are 3D video card drivers. To win that numbers game many vendors optimize their drivers to deliver the best timedemo numbers in whatver the game du jour is; the next game engine that rolls along can crush today's performance king simply because the drivers weren't really designed for overall throughput but almost purpose-built to satisfy a particular benchmark.

      I wonder if more research/brainpower shouldn't be applied to providing a better system for web clustering which solves both the reliability problem and the performance problem.

    3. Re:Who needs this much throughput? by Helge+Hafting · · Score: 1
      How many "e-commerce" sites even have this kind of bandwith to the internet?

      There are always someone. Now they can use a single machine instead of a server farm if they want to.

      Then there's machines used for several simultaneous tasks. The higly efficient TUX server may not be used to its full capacity, but being efficient it leaves more time free to the other tasks the machine handles. That's always a good thing.

    4. Re:Who needs this much throughput? by Mr.+Sketch · · Score: 1

      Perhaps right now there aren't too many that have this much bandwidth but in the not so distant future it's certainly possible that there could be a 10GB standard instead of a 10MB standard. Right now TUX is ahead of the game, but when higher bandwidth becomes commonplace (Internet2?), TUX will be here to suit their needs.

  66. Color me stupid if need be; Just what is this? by Christopher+B.+Brown · · Score: 3
    I've downloaded the code and browsed it; I'm not entirely certain precisely what Tux is.

    Is it:

    • A "hack" designed to make IIS look as stupidly slow on carefully "hacked-at" benchmarks as the IIS benchmarks make Apache look?

      No particular flaming intended here; in either direction, this represents "benchmarketing" as opposed to anything realistic.

      It may be as unrealistic to "real world" situations to use a highly tuned combo of TUX and Apache and make IIS "look sick" as it was for Mindcraft to use a heavily tuned IIS to make a poorly-tuned Apache look bad.

    • Something that would be embedded into a sophisticated web application framework to make certain cases of page accesses run ravingly fast ?

      In which case someone building the next Slashdot might care, as they need to write finely-tuned code, whereas I, when running a lightly loaded web server at home, will have a hard time detecting differences between Roxen, Apache, Boa, and WN.

    • Something that I could run in lieu of Boa as a tiny, fast web server?

    This isn't quite a flame; it truly is important for a piece of software that you want people to use to be described in an economical manner that makes it easy for people to determine its relevance.

    --
    If you're not part of the solution, you're part of the precipitate.
  67. Re:Reboot for new configs? hardly by zaphod.nu · · Score: 1

    I'm aware of that, that's one of the reasons I use Linux for...

    It was more meant to soften the question and not give that "I know this better than you" look to the question...

    .sig

  68. Forking ignorance by A+nonymous+Coward · · Score: 2

    Say, didja ever think that maybe forks also take advantage of multiple processors?

    And didja ever think that user threads, where the kernel knows nothing of the threads, can't take advantage of multiple processors?

    --

  69. What about linux's user space? by toppk · · Score: 1

    What does this mean for linux userspace? it cannot cut it? Okay, let's say user space could produce a more functional web server, it would run how fast? 50% of tux? 60% of tux? That's unfortunate. Can we get some help bring the raw power of the kernel to user-space? Is glibc gonna do it? While I have your attention (two little questions): 1) how does this affect performance of the rest of the machine (ie: does TUX have low nice value? open to DoS?) 2) mod_perl ;) Thanks Ingo, for great kernel work..

  70. A Favorite Quote by Metrol · · Score: 1

    I doubt that this was an original, but it was one that a friend of mine likes to use.

    "However right or wrong a zealot might be, the fact is that this person is still a zealot."

    --
    The line must be drawn here. This far. No further.
  71. SSL Performance by Metrol · · Score: 1

    For an ecommerce site, speed of page handling and cgi calls is important, but so is getting that customer through the checkout aisle. What kinds of performance gains might be seen when comparing https pages between Apache and Apache+Tux?

    --
    The line must be drawn here. This far. No further.
  72. Re:Linux has threads - in fact threads only by Oestergaard · · Score: 2

    The Linux kernel has had threads for a very long time now. In fact, it has no other concept available to user-space for an executable task.

    Threads are either alone in the VM, in which case we call the whole thing a ``process'', or there can be more threads of execution in one VM area (a so-called multithreaded process or whatever). The difference is _only_ whether there's one or more threads in that VM area.

    The difference between Linux and NT is, to the programmer, that on Linux you usually use the pthreads library to create a thread (the library will call clone() which tells the kernel to create a new thread), whereas on NT you use the Win32 library call CreateThread() to tell the NT kernel to create a thread.

    pthreads is fairly inefficient, which is why some people believe that threads aren't native to Linux. That is, using pthreads compared to a fork() isn't a lot faster usually, whereas on NT CreateThread() is a lot faster than CreateProcess(). What people tend to forget is, that creating a full-blown process using fork() on Linux, is still a lot faster than creating just a single thread using CreateThread() on NT, on identical hardware (measured in clock-cycles from start of call till first line in new process/thread is reached - source is article LJ some time ago).

    Threads can't work much better in the Linux kernel. The pthreads _library_ could probably be improved to make thread creation faster, or you could just call clone() yourself. But this is not a kernel issue.

  73. Dedicated Application Appliances by kevin805 · · Score: 2

    I think as soon as someone does something like this, it naturally comes to mind, "hmm, why do I have all that other crap on my {web, sql, ftp, email} server anyway?"

    Considering that the trend of the 90s was to centralize services so that each server performed only a single function (the webserver, the fileserver, the pdc, the mailserver...), do you think that people trying to minimize maintanence will be moving toward "appliance" computers, with only a single server app and a stripped down operating system?

    We've seen it before -- routers used to be real computers. Now -- when's the last time you heard of a router crashing?

    Do you see server rooms in five years looking like a component stereo system?

  74. Interesting moderation by FascDot+Killed+My+Pr · · Score: 1

    Moderation Totals:Flamebait=1, Redundant=1, Insightful=2, Interesting=5, Overrated=2, Total=11.

    Since this is comment #4 and 1-3 are all "first posts", this can't be redundant. That's one moderator on crack.

    Then we have 1 other who isn't able to read, and 2 who either feel threatened by questions about Linux security or stability OR are moderating based on username.

    Dimwits.
    --

    --
    Linux MAPI Server!
    http://www.openone.com/software/MailOne/
    (Exchange Migration HOWTO coming soon)