You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by burtonator <bu...@relativity.yi.org> on 2000/07/05 19:54:16 UTC

TUX 1.0/Linux beats Windows????

hmmm.. has anyone seen this?

http://linuxtoday.com/news_story.php3?ltsn=2000-07-05-001-04-OP

Also.  They mention TUX being integrated into Apache 2.0?  Has this been
discussed via private e-mail?  Of course if this were to happen the
license would need to change :)

Kevin

-----------------
more info about TUX 1.0 (Score:1)
by Ingo Molnar (mingo at redhat.com) on Tuesday July 04, @11:45PM PST
(#218)
(User Info) http://www.redhat.com/~mingo
i'm the one who designed/wrote most of TUX, and here are some facts
about it. 

'TUX' comes from 'Threaded linUX webserver', and is a kernel-space
HTTP subsystem. TUX was written by Red
Hat and is based on the 2.4 kernel series. TUX is under the GPL and
will be released in a couple of weeks. TUX's
main goal is to enable high-performance webserving on Linux, and 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. TUX modules
can be user-space or kernel-space. 

The SPECweb99 test was done with a user-space module, the source code
can be found 
here. We expect TUX to be integrated into Apache 2.0 or 3.0, as TUX's
user-space kernel-space API is capable
of supporting a mixed Apache/TUX webspace.

TUX uses a 'object cache' which is much more than a simple 'static
cache'. TUX objects can be freely embedded
in other web replies, and can be used by modules, including CGIs. You
can 'mix' dynamically generated and static
content freely.

While written by Red Hat, TUX relies on many scalability advances in
the 2.4 kernel done also by kernel hackers
from SuSE, Mandrake and the Linux Community as a whole. TUX is not one
single piece of technology, rather a
final product that 'connects the dots' and proves the scalability of
Linux's high end features. I'd especially like to
highlight the role of extreme TCP/IP networking scalability in 2.4,
which was a many months effort lead by David
Miller and Alexey Kuznetsov. We'd also like to acknowledge the
pioneering role of khttpd - while TUX is
independent of khttpd, it was an important experiment we learned alot
from.

Other 2.4 kernel advances TUX uses are: async networking and disk IO,
wake-one scheduling, interrupt binding,
process affinity (not yet merged patch), per-CPU allocation pools (not
yet merged patch), big file support (the
TUX logfile can get bigger than 5GB during SPECweb99 runs), highmem
support, various VFS enhancements
(thanks Al Viro), the new IO-scheduler done by SuSE folks,
buffer/pagecache scalability and many many other
Linux features.
-- 
Kevin A Burton (e-mail: burton@apache.org, UIN: 73488596, ZKey:
burtonator)
http://relativity.yi.org
Message to SUN:  "Please Open Source Java!"
To fight and conquer in all your battles is not supreme excellence;
supreme 
excellence consists in breaking the enemy's resistance without fighting.
    - Sun Tzu, 300 B.C.

Re: TUX 1.0/Linux beats Windows????

Posted by burtonator <bu...@relativity.yi.org>.
Sam Talebbeik wrote:
> 
> Bill, you make valid points about pushing more and more
> functionality into the kernel. However if you have a
> "dedicated" web server machine, putting more functionality
> into the web server could make sense. 
<snip>

Arguably (let's not get into a flame war/thread about this) IIS has been
able to beat Apache on some benchmarks in the past by cheating...
putting a lot of stuff in the Kernel and not worrying about stablity. 
If you webserver crashes all the time (like IIS) you can just get 3-4 of
them and put them behind a <INSERT YOUR FAVORITE LOAD BALANCER HERE>. 
At this point who cares if it crashes all the time... you get good
performance and for the most part your customers don't know.

If this happens to TUX, but it is twice as fast, this would be a Good
Thing.  Just another issue you need to think about when you deploy.

Kevin

-- 
Kevin A Burton (e-mail: burton@apache.org, UIN: 73488596, ZKey:
burtonator)
http://relativity.yi.org
Message to SUN:  "Please Open Source Java!"
To fight and conquer in all your battles is not supreme excellence;
supreme 
excellence consists in breaking the enemy's resistance without fighting.
    - Sun Tzu, 300 B.C.

Re: TUX 1.0/Linux beats Windows????

Posted by Sam Talebbeik <sa...@ix.netcom.com>.
Bill, you make valid points about pushing more and more
functionality into the kernel. However if you have a 
"dedicated" web server machine, putting more functionality
into the web server could make sense. Also if "speed" is a
primary concern, and in the case of benchmarks it is, then it
again makes sense to push some of the functionality into the
kernel. Here is a link to another in kernel http server called
khttpd. They also show impressive benchmark numbers for serving
static pages. http://www.fenrus.demon.nl/index.html

Sam Talebbeik (saeedt@ix.netcom.com)
http://www.setjump.net
Open Source Server is "The Force of the Internet"

Bill Stoddard wrote:
> 
> > > > Also.  They mention TUX being integrated into Apache 2.0?  Has this been
> > > > discussed via private e-mail?  Of course if this were to happen the
> > > > license would need to change :)
> > > >
> > > > Kevin
> > > >
> > > I obviously haven't looked at TUX, but having worked on similar technology I'll
> venture an
> > > educated guess here...
> > >
> > > Apache would not integrate TUX. TUX is part of Linux and implements its own set of
> APIs to
> > > control it. Apache would ship a module (or have hooks in the code) to interface with
> TUX
> > > to do things like start/stop it, load the cache either via config directives or
> > > dynamically, etc. I can easily imagine putting code into Apache enabling the use of
> TUX or
> > > other kernel resident HTTP engines.
> >
> > I don't know if it is worth it.  I mean if you are doing static content
> > a kernel HTTP server will easily beat Apache.  If you are doing dynaic
> > content like Servlet/etc pushing this down into the kernel would
> > probably be slower than just having Apache push it out by itself.  If
> > you have Apache push it into the Kernel you get a context-switch and
> > this will hurt performance.  In this situation you really don't have a
> > reason to serve content in this manner.
> >
> 
> The idea is to do the static content in the kernel and the dynamic content in user space.
> If the kernel cache doesn't get a hit, it punts the HTTP request up to Apache, probably
> via the normal socket API. Apache probably doesn't even need to be aware there is
> something under the covers sniffing and serving static requests. The problem with a hybrid
> approach (kernel cache serving static pages and a user space server handling everything
> else) is that you end up shoving more and more function into the kernel resident piece to
> handle mapping the content namespace, access control and authentication, etc. At what
> point should you just move all of Apache into the kernel?
> 
> Handling pipelined requests gets a bit messier though (as discussed last week on this
> list). I am curious how TUX handles keeping responses to pipelined requests in order.
> 
> Bill

--

Re: TUX 1.0/Linux beats Windows????

Posted by Bill Stoddard <st...@raleigh.ibm.com>.
> > > Also.  They mention TUX being integrated into Apache 2.0?  Has this been
> > > discussed via private e-mail?  Of course if this were to happen the
> > > license would need to change :)
> > >
> > > Kevin
> > >
> > I obviously haven't looked at TUX, but having worked on similar technology I'll
venture an
> > educated guess here...
> >
> > Apache would not integrate TUX. TUX is part of Linux and implements its own set of
APIs to
> > control it. Apache would ship a module (or have hooks in the code) to interface with
TUX
> > to do things like start/stop it, load the cache either via config directives or
> > dynamically, etc. I can easily imagine putting code into Apache enabling the use of
TUX or
> > other kernel resident HTTP engines.
>
> I don't know if it is worth it.  I mean if you are doing static content
> a kernel HTTP server will easily beat Apache.  If you are doing dynaic
> content like Servlet/etc pushing this down into the kernel would
> probably be slower than just having Apache push it out by itself.  If
> you have Apache push it into the Kernel you get a context-switch and
> this will hurt performance.  In this situation you really don't have a
> reason to serve content in this manner.
>

The idea is to do the static content in the kernel and the dynamic content in user space.
If the kernel cache doesn't get a hit, it punts the HTTP request up to Apache, probably
via the normal socket API. Apache probably doesn't even need to be aware there is
something under the covers sniffing and serving static requests. The problem with a hybrid
approach (kernel cache serving static pages and a user space server handling everything
else) is that you end up shoving more and more function into the kernel resident piece to
handle mapping the content namespace, access control and authentication, etc. At what
point should you just move all of Apache into the kernel?

Handling pipelined requests gets a bit messier though (as discussed last week on this
list). I am curious how TUX handles keeping responses to pipelined requests in order.

Bill


Re: TUX 1.0/Linux beats Windows????

Posted by burtonator <bu...@relativity.yi.org>.
Bill Stoddard wrote:
> 
> >
> > Also.  They mention TUX being integrated into Apache 2.0?  Has this been
> > discussed via private e-mail?  Of course if this were to happen the
> > license would need to change :)
> >
> > Kevin
> >
> I obviously haven't looked at TUX, but having worked on similar technology I'll venture an
> educated guess here...
> 
> Apache would not integrate TUX. TUX is part of Linux and implements its own set of APIs to
> control it. Apache would ship a module (or have hooks in the code) to interface with TUX
> to do things like start/stop it, load the cache either via config directives or
> dynamically, etc. I can easily imagine putting code into Apache enabling the use of TUX or
> other kernel resident HTTP engines.

I don't know if it is worth it.  I mean if you are doing static content
a kernel HTTP server will easily beat Apache.  If you are doing dynaic
content like Servlet/etc pushing this down into the kernel would
probably be slower than just having Apache push it out by itself.  If
you have Apache push it into the Kernel you get a context-switch and
this will hurt performance.  In this situation you really don't have a
reason to serve content in this manner.

Kevin

-- 
Kevin A Burton (e-mail: burton@apache.org, UIN: 73488596, ZKey:
burtonator)
http://relativity.yi.org
Message to SUN:  "Please Open Source Java!"
To fight and conquer in all your battles is not supreme excellence;
supreme 
excellence consists in breaking the enemy's resistance without fighting.
    - Sun Tzu, 300 B.C.

Re: TUX 1.0/Linux beats Windows????

Posted by Bill Stoddard <st...@raleigh.ibm.com>.
>
> Also.  They mention TUX being integrated into Apache 2.0?  Has this been
> discussed via private e-mail?  Of course if this were to happen the
> license would need to change :)
>
> Kevin
>
I obviously haven't looked at TUX, but having worked on similar technology I'll venture an
educated guess here...

Apache would not integrate TUX. TUX is part of Linux and implements its own set of APIs to
control it. Apache would ship a module (or have hooks in the code) to interface with TUX
to do things like start/stop it, load the cache either via config directives or
dynamically, etc. I can easily imagine putting code into Apache enabling the use of TUX or
other kernel resident HTTP engines.

Bill


Re: TUX 1.0/Linux beats Windows????

Posted by Bill Stoddard <st...@raleigh.ibm.com>.
Okay, it was a silly question, really. Been spending too much time in Windows land
lately...

Bill

> I searched around for a while last week looking for a description of TUX? Is it open
> sourced? If so, where can I find the code?
>
> Bill
> ----- Original Message -----
> From: burtonator <bu...@relativity.yi.org>
> To: <ne...@apache.org>
> Sent: Wednesday, July 05, 2000 1:54 PM
> Subject: TUX 1.0/Linux beats Windows????
>
>
> > hmmm.. has anyone seen this?
> >
> > http://linuxtoday.com/news_story.php3?ltsn=2000-07-05-001-04-OP
> >
> > Also.  They mention TUX being integrated into Apache 2.0?  Has this been
> > discussed via private e-mail?  Of course if this were to happen the
> > license would need to change :)
> >
> > Kevin
> >
> > -----------------
> > more info about TUX 1.0 (Score:1)
> > by Ingo Molnar (mingo at redhat.com) on Tuesday July 04, @11:45PM PST
> > (#218)
> > (User Info) http://www.redhat.com/~mingo
> > i'm the one who designed/wrote most of TUX, and here are some facts
> > about it.
> >
> > 'TUX' comes from 'Threaded linUX webserver', and is a kernel-space
> > HTTP subsystem. TUX was written by Red
> > Hat and is based on the 2.4 kernel series. TUX is under the GPL and
> > will be released in a couple of weeks. TUX's
> > main goal is to enable high-performance webserving on Linux, and 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. TUX modules
> > can be user-space or kernel-space.
> >
> > The SPECweb99 test was done with a user-space module, the source code
> > can be found
> > here. We expect TUX to be integrated into Apache 2.0 or 3.0, as TUX's
> > user-space kernel-space API is capable
> > of supporting a mixed Apache/TUX webspace.
> >
> > TUX uses a 'object cache' which is much more than a simple 'static
> > cache'. TUX objects can be freely embedded
> > in other web replies, and can be used by modules, including CGIs. You
> > can 'mix' dynamically generated and static
> > content freely.
> >
> > While written by Red Hat, TUX relies on many scalability advances in
> > the 2.4 kernel done also by kernel hackers
> > from SuSE, Mandrake and the Linux Community as a whole. TUX is not one
> > single piece of technology, rather a
> > final product that 'connects the dots' and proves the scalability of
> > Linux's high end features. I'd especially like to
> > highlight the role of extreme TCP/IP networking scalability in 2.4,
> > which was a many months effort lead by David
> > Miller and Alexey Kuznetsov. We'd also like to acknowledge the
> > pioneering role of khttpd - while TUX is
> > independent of khttpd, it was an important experiment we learned alot
> > from.
> >
> > Other 2.4 kernel advances TUX uses are: async networking and disk IO,
> > wake-one scheduling, interrupt binding,
> > process affinity (not yet merged patch), per-CPU allocation pools (not
> > yet merged patch), big file support (the
> > TUX logfile can get bigger than 5GB during SPECweb99 runs), highmem
> > support, various VFS enhancements
> > (thanks Al Viro), the new IO-scheduler done by SuSE folks,
> > buffer/pagecache scalability and many many other
> > Linux features.
> > --
> > Kevin A Burton (e-mail: burton@apache.org, UIN: 73488596, ZKey:
> > burtonator)
> > http://relativity.yi.org
> > Message to SUN:  "Please Open Source Java!"
> > To fight and conquer in all your battles is not supreme excellence;
> > supreme
> > excellence consists in breaking the enemy's resistance without fighting.
> >     - Sun Tzu, 300 B.C.
>


Re: TUX 1.0/Linux beats Windows????

Posted by Bill Stoddard <st...@raleigh.ibm.com>.
I searched around for a while last week looking for a description of TUX? Is it open
sourced? If so, where can I find the code?

Bill
----- Original Message -----
From: burtonator <bu...@relativity.yi.org>
To: <ne...@apache.org>
Sent: Wednesday, July 05, 2000 1:54 PM
Subject: TUX 1.0/Linux beats Windows????


> hmmm.. has anyone seen this?
>
> http://linuxtoday.com/news_story.php3?ltsn=2000-07-05-001-04-OP
>
> Also.  They mention TUX being integrated into Apache 2.0?  Has this been
> discussed via private e-mail?  Of course if this were to happen the
> license would need to change :)
>
> Kevin
>
> -----------------
> more info about TUX 1.0 (Score:1)
> by Ingo Molnar (mingo at redhat.com) on Tuesday July 04, @11:45PM PST
> (#218)
> (User Info) http://www.redhat.com/~mingo
> i'm the one who designed/wrote most of TUX, and here are some facts
> about it.
>
> 'TUX' comes from 'Threaded linUX webserver', and is a kernel-space
> HTTP subsystem. TUX was written by Red
> Hat and is based on the 2.4 kernel series. TUX is under the GPL and
> will be released in a couple of weeks. TUX's
> main goal is to enable high-performance webserving on Linux, and 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. TUX modules
> can be user-space or kernel-space.
>
> The SPECweb99 test was done with a user-space module, the source code
> can be found
> here. We expect TUX to be integrated into Apache 2.0 or 3.0, as TUX's
> user-space kernel-space API is capable
> of supporting a mixed Apache/TUX webspace.
>
> TUX uses a 'object cache' which is much more than a simple 'static
> cache'. TUX objects can be freely embedded
> in other web replies, and can be used by modules, including CGIs. You
> can 'mix' dynamically generated and static
> content freely.
>
> While written by Red Hat, TUX relies on many scalability advances in
> the 2.4 kernel done also by kernel hackers
> from SuSE, Mandrake and the Linux Community as a whole. TUX is not one
> single piece of technology, rather a
> final product that 'connects the dots' and proves the scalability of
> Linux's high end features. I'd especially like to
> highlight the role of extreme TCP/IP networking scalability in 2.4,
> which was a many months effort lead by David
> Miller and Alexey Kuznetsov. We'd also like to acknowledge the
> pioneering role of khttpd - while TUX is
> independent of khttpd, it was an important experiment we learned alot
> from.
>
> Other 2.4 kernel advances TUX uses are: async networking and disk IO,
> wake-one scheduling, interrupt binding,
> process affinity (not yet merged patch), per-CPU allocation pools (not
> yet merged patch), big file support (the
> TUX logfile can get bigger than 5GB during SPECweb99 runs), highmem
> support, various VFS enhancements
> (thanks Al Viro), the new IO-scheduler done by SuSE folks,
> buffer/pagecache scalability and many many other
> Linux features.
> --
> Kevin A Burton (e-mail: burton@apache.org, UIN: 73488596, ZKey:
> burtonator)
> http://relativity.yi.org
> Message to SUN:  "Please Open Source Java!"
> To fight and conquer in all your battles is not supreme excellence;
> supreme
> excellence consists in breaking the enemy's resistance without fighting.
>     - Sun Tzu, 300 B.C.


Re: TUX 1.0/Linux beats Windows????

Posted by Rasmus Lerdorf <ra...@apache.org>.
> hmmm.. has anyone seen this?
> 
> http://linuxtoday.com/news_story.php3?ltsn=2000-07-05-001-04-OP
> 
> Also.  They mention TUX being integrated into Apache 2.0?  Has this been
> discussed via private e-mail?  Of course if this were to happen the
> license would need to change :)

This has not been discussed anywhere I have seen, and I think I am all the
Apache lists.

-Rasmus