|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Wed, 10 Jan 2007
Climbing evening. First one this year.
After Week of continuous drinking, lazy-boom-slacking
and other non-sport stuff, I eventually started training.
And miracle has happend - Grange took his fifth point
to the climbing zone too. So I started to climb
on the walls, but not usual boulderings and traverses -
although not a lot of traces were completed (and only one of
them was new, which I miserably failed on-sight,
but not because it was complex, but only due to the fact,
that it was the last trace after 3 hours of climbing, and
I tried it on-sight), eventually I completed it.
And now (I write it in the middle of the Jan 11,
when I eventually bring myself to the office) I feel that
every piece of my body is in pain. It is extremely
pleasant masochistic feeling - I like it.
I think if you have awakened and nothing aches, then
you are likely dead.
Excellent time.
/life :: Link / Comments (0)
Further development. Ideas. Plans. Agenda.
It looks like
kevent
is going to be frozen (see looksthis
thread in linux-kernel@ about too fast rate of new code creation).
Netchannels
are also implemented.
So I have split my TODO list
into TODO and DONE parts. Currently it has following items in TODO section:
- Integration of kevents into mainline
- Some thoughts about FS (especially about journalling and WAFL approach (I think log-structured
fs is really progressive idea)), so it could be used with receiving zero-copy,
or even be a network filesystem with distributed capabilities.
Also need to consider filesystem stress testing and emulation tool.
- Some thoughts about different threading models. Especially after this
analysis.
Things which originally appeared in TODO, but was implemented and essentially completed.
- Network tree allocator,
full sending and receiving zero-copy networking
- Complete userspace network stack
(which actually requires just to sync with TCP stack used in netchannels)
and move netchannels into userspace (with help of full zero-copy support and userspace stack)
- Fast NAT, which will not use Linux connection tracking system (which is extremely slow)
- True asynchronous IO. My thoughts are described here
and here.
Actually kevent integration could be put into DONE section too, since
it does not require too much of efforts to maintain it in the separate tree
with regular sync with mainline - no one requests more, so it will silently
live and work in the own repository.
Although netchannels do not work with my
network tree allocator,
I will not for a while work with this project due to
absence of real need for zero-copy.
Next item in TODO list is filesystem and related development - it is indeed very interesting
task, and my next killer project will definitely new filesystem, which, as a minimum must,
will behave faster than speed of light and will scale more than universe.
But it is very complex task and I want to have some time something
different than kernel, but not less interesting.
So I select new threading model implementation - essentially it will be so called N:M threading model,
implemented on top of POSIX interface - I want to create a library, which
would be placed just instead of glibc libpthread with
at least main functionality.
Or maybe just get a vacation and move to the edge of the Earth.
Stop, since Earth is roughly a sphere, I already on the edge. Crap.
Hmm, or maybe drop my current work and organize something own - the more I
do own project, the more I like the idea, but not right now.
Will go hacking.
/devel :: Link / Comments (0)
New kevent 'take32' release.
This early morning hack (I hope no one at work reads what I'm doing) contains following major changes:
- Added
aio_sendfile_path() - this syscall allows to asynchronosly transfer
file specified by provided pathname to destination socket.
Opened file descriptor is returned.
- Added trivial scheduler which selects execution thread. It allows
to specify given thread 'by-hands', but since kaio provides '-1' it uses
round-robin to get processing thread. In theory it can be bound to
scheduler statistics or gamma-ray receiver data.
- Number of bug fixes in kevent based AIO
mpage_readpages().
Benchmark of the 100 1MB files transfer (files are in VFS already) using
sync sendfile() against aio_sendfile_path()
shows about 10MB/sec performance win (78 MB/s vs 66-72 MB/s over 1 Gb network,
sendfile sending server is one-way AMD Athlong 64 3500+)
for aio_sendfile_path().
Well, call me a looser, but I started 3 days resending timeout.
I know it is annoying and disturbing, and
I really doubt it is a good way to tell the world about my work, and I bet you
all tired from those pathos words, but I really would like to get some feedback,
since I want to start to work on network AIO, but sending mails into
unfeedbackable (I used word 'destination' for hackers and maillists,
but you actually know what I mean) really does not motivate me for that.
/devel/kevent :: Link / Comments (0)
|