Re: regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd

2007-02-04 Thread Christopher Smith

Davide Libenzi wrote:
Yes, that is some very interesting data IMO. I did not bench the GUASI 
(userspace async thread library) against AIO, but those numbers show that a 
*userspace* async syscall wrapper interface performs in the ballpark of AIO.
This leads to some hope about the ability to effectively deploy the kernel 
generic async AIO (being it fibril or kthreads based) as low-impact async 
provider for basically anything.
  


SGI's kaio patch to linux kind of went that route (using kthreads) for 
non-SCSI async IO. It wasn't a bad way to go, but at least for 
disk-based access they achieved much better results when they could go 
right to the hardware.


--Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd

2007-02-04 Thread Davide Libenzi
On Sun, 4 Feb 2007, bert hubert wrote:

> >From two comments posted to my "blog"
> http://blog.netherlabs.nl/articles/2007/02/04/a-synchronous-programming
> 
> Excerpted from the diary of Dragonfly BSD,
> http://www.dragonflybsd.org/status/diary.shtml 
> 
>  Remove the asynchronous syscall interface. It was an idea before its time.
>  However, keep the formalization of the syscall arguments structures.
> 
> The original async syscall interface was committed in
> http://leaf.dragonflybsd.org/mailarchive/commits/2004-08/msg00067.html
> 
> Comment by Jan Kneschke, lighttpd developer, noting the lack of and need for
> aio_stat():
> 
>  Reading this article feels like reading the code I wrote in the last days
>  for lighttpd. Even if the network-io was async since the start
>  (non-blocking), the file-io wasn't. Worst of all was the stat() syscall
>  which doesn't have a async interface even in POSIX AIO. So it had to be
>  implemented with threads on our own. At http://www.lighttpd.net/benchmark/
>  you can see the impact of async vs. blocking syscalls.
> 
> Perhaps relevant.

Yes, that is some very interesting data IMO. I did not bench the GUASI 
(userspace async thread library) against AIO, but those numbers show that a 
*userspace* async syscall wrapper interface performs in the ballpark of AIO.
This leads to some hope about the ability to effectively deploy the kernel 
generic async AIO (being it fibril or kthreads based) as low-impact async 
provider for basically anything.



- Davide


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd

2007-02-04 Thread bert hubert
>From two comments posted to my "blog"
http://blog.netherlabs.nl/articles/2007/02/04/a-synchronous-programming

Excerpted from the diary of Dragonfly BSD,
http://www.dragonflybsd.org/status/diary.shtml 

 Remove the asynchronous syscall interface. It was an idea before its time.
 However, keep the formalization of the syscall arguments structures.

The original async syscall interface was committed in
http://leaf.dragonflybsd.org/mailarchive/commits/2004-08/msg00067.html

Comment by Jan Kneschke, lighttpd developer, noting the lack of and need for
aio_stat():

 Reading this article feels like reading the code I wrote in the last days
 for lighttpd. Even if the network-io was async since the start
 (non-blocking), the file-io wasn't. Worst of all was the stat() syscall
 which doesn't have a async interface even in POSIX AIO. So it had to be
 implemented with threads on our own. At http://www.lighttpd.net/benchmark/
 you can see the impact of async vs. blocking syscalls.

Perhaps relevant.

-- 
http://www.PowerDNS.com  Open source, database driven DNS Software 
http://netherlabs.nl  Open and Closed source services
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd

2007-02-04 Thread bert hubert
From two comments posted to my blog
http://blog.netherlabs.nl/articles/2007/02/04/a-synchronous-programming

Excerpted from the diary of Dragonfly BSD,
http://www.dragonflybsd.org/status/diary.shtml 

 Remove the asynchronous syscall interface. It was an idea before its time.
 However, keep the formalization of the syscall arguments structures.

The original async syscall interface was committed in
http://leaf.dragonflybsd.org/mailarchive/commits/2004-08/msg00067.html

Comment by Jan Kneschke, lighttpd developer, noting the lack of and need for
aio_stat():

 Reading this article feels like reading the code I wrote in the last days
 for lighttpd. Even if the network-io was async since the start
 (non-blocking), the file-io wasn't. Worst of all was the stat() syscall
 which doesn't have a async interface even in POSIX AIO. So it had to be
 implemented with threads on our own. At http://www.lighttpd.net/benchmark/
 you can see the impact of async vs. blocking syscalls.

Perhaps relevant.

-- 
http://www.PowerDNS.com  Open source, database driven DNS Software 
http://netherlabs.nl  Open and Closed source services
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd

2007-02-04 Thread Davide Libenzi
On Sun, 4 Feb 2007, bert hubert wrote:

 From two comments posted to my blog
 http://blog.netherlabs.nl/articles/2007/02/04/a-synchronous-programming
 
 Excerpted from the diary of Dragonfly BSD,
 http://www.dragonflybsd.org/status/diary.shtml 
 
  Remove the asynchronous syscall interface. It was an idea before its time.
  However, keep the formalization of the syscall arguments structures.
 
 The original async syscall interface was committed in
 http://leaf.dragonflybsd.org/mailarchive/commits/2004-08/msg00067.html
 
 Comment by Jan Kneschke, lighttpd developer, noting the lack of and need for
 aio_stat():
 
  Reading this article feels like reading the code I wrote in the last days
  for lighttpd. Even if the network-io was async since the start
  (non-blocking), the file-io wasn't. Worst of all was the stat() syscall
  which doesn't have a async interface even in POSIX AIO. So it had to be
  implemented with threads on our own. At http://www.lighttpd.net/benchmark/
  you can see the impact of async vs. blocking syscalls.
 
 Perhaps relevant.

Yes, that is some very interesting data IMO. I did not bench the GUASI 
(userspace async thread library) against AIO, but those numbers show that a 
*userspace* async syscall wrapper interface performs in the ballpark of AIO.
This leads to some hope about the ability to effectively deploy the kernel 
generic async AIO (being it fibril or kthreads based) as low-impact async 
provider for basically anything.



- Davide


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: regarding generic AIO, async syscalls precedent + some benchmarks by lighttpd

2007-02-04 Thread Christopher Smith

Davide Libenzi wrote:
Yes, that is some very interesting data IMO. I did not bench the GUASI 
(userspace async thread library) against AIO, but those numbers show that a 
*userspace* async syscall wrapper interface performs in the ballpark of AIO.
This leads to some hope about the ability to effectively deploy the kernel 
generic async AIO (being it fibril or kthreads based) as low-impact async 
provider for basically anything.
  


SGI's kaio patch to linux kind of went that route (using kthreads) for 
non-SCSI async IO. It wasn't a bad way to go, but at least for 
disk-based access they achieved much better results when they could go 
right to the hardware.


--Chris
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/