Zbr's days.
July
Sun Mon Tue Wed Thu Fri Sat
8
       
2007
Months
Jul

About TODO Blog RSS Old blog Projects Gallery Notes

Sun, 08 Jul 2007

High-performance in-kernel 'echo' server.

Also known as distributed storage network state machine is ready after several hours this night with bottle of Martini and today's time.
It was not integrated into storage module yet and exists by its own, but that was specially crafted to allow easier testing. This standalone module allows to create listening socket, bind it to specified (hardcoded though, since that data is provided by userspace control in distributed storage module) address, listen for connections, accept new clients and read data from them (I did not test writing, since it is exactly the same).
All operations are non-blocking and are handled via special worker thread(s), which also dispatch events via ->poll() callbacks and form simple state machine.

So, essentially network backend for distributed storage is ready.
Next task is to integrade this state machine into distributed storage module.
I have about an hour right now, so I will add support for local node in the storage.
Then trivial distribution algorithm should be created (actually it already exists, but it only sends data to single node), which will send/receive data to several nodes in round-robin or mirror format.
That will be a first release milestone. First release will allow to form simple distributed storage without tricky algorithms being used. Its main goal is testing and searching for potential narrow places in the design and implementation, which will be handled further.
Stay tuned.

/devel/dst :: Link / Comments (0)