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

About TODO Blog RSS Old blog Projects Gallery Notes

Fri, 20 Jul 2007

Distributed storage. Linear algorithm considered stable.

Preliminary tests I started yesterday does found a huge number of bugs, so I started to clean things up and ended with good structure which describes the whole state machine. It is complex, damn complex, but that is a price for not having any allocations in fast path. Such mental exercises, like fixing bugs in that monster, require to turn head brain on instead of usual spinal cord upto headache and force my eyes to jump out of eye-socket.
But now all they are fixed - testing completed more than a hundred runs with readings, writings, mounting, unmounting, syncs and filesystem creations. It is quite slow because of huge amount of debug prints all over the code, but it continuously runs and I plan to leave it for testing for the whole night.
As previously - if there will not be any bugs, I will move forward and commit current stage as stable.

Next step is local and local export node testing. Then performance testing. Then new redundancy algorithm.

What I really like in this system is that how simple is to configure the whole storage array:

./dst -n $ST -A $ALG -f /dev/dst -a kano -p 1025
./dst -n $ST -A $ALG -f /dev/dst -a 192.168.4.78 -p 1025
./dst -n $ST -A $ALG -f /dev/dst -a via -p 1025 -R
Algorithm automatically requests remote configurations and manages node's info to form an array. No need for any table, to put size informations and preserve the sizes and offsets. In dst configuration order is significant though, it is also possible to setup system without autoconfiguration by providing sizes and offsets via command line. I will put into TODO list a feature which would allow to store node's information in the attached data itself, which would not then require to save an order, but not now.

Getting into account how fast it was to reproduce previous bugs and how long it works already I can confirm, that initial support for linear algorithm with remote targets without additional redundancy and failover as ready.
But let's wait for for tomorrow (about thousand or two of testing cycles with different operation modes) until testing is completed.

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