|
|
About
TODO
Blog
RSS
Old blog
Projects
Gallery
Notes
Sun, 30 Mar 2008
To SSD or not to SSD.
Couple of days ago I talked with person, who ordered 4 high-end 128G SSD disks
to create RAID for testing purposes, seek time for that devises is 0.1ms.
Each one costs about $4k. His main workload is databases, i.e. random reads and writes,
so we calculated that theoretically it has to be about 14 times faster than
high-end scsi disks with 3.5 ms seek latency and about 100Mb/ssequential access speed
in given
workload for processing random data at 8-16kb chunks (usual 'page' in sql servers).
Besides the fact, that putting 14 disks into mirror will
be as fast as single ssd disk (theoretically), it will be 14 times more reliable
and likely have smaller price,
main workload is to replace RAM with SSD, not disks with SSD.
My prognosis is that SSD will be at most 2-3 times faster (if will be fater
at all, since its theoretical performance advantages can be killed by FS)
than SCSI disk for
given workload, and as is, it is not a breakthrough technology.
If I'm wrong (it will be tested likely next week with
sysbench read-write benchmark),
I will buy a good bottle of whiskey for us, otherwise...
/devel/fs :: Link / Comments (5)
Continue DST roadmap.
So, I have to admit that I rethought my
opinion
about mirroring/redundancy at filesystem layer - it is useful for lots of cases,
and modulo bugs in
DST
mirroring (mostly a leak, which I can not find in my lab,
and network/block layer race,
which exists in sendfile() for years and just strikes DST a lot,
which has a workaround though) I decided to rewrite mirroring algorithm in a way
it could be used in other projects.
There is also an idea of how to fix abovementioned network/block layer race in a
very non-disturbing manner, which was privately called soft
DST barriers.
Idea is to replace skb destructor with private one, which will commit that
pages are no longer used (for example call bio_endio() or
release splice buffer), this callback will be installed only for special sockets,
which provide it (like DST, sendfile() or any other
->sendpage() users like samba). Idea was
not killed on its roots,
which is a good start sign.
/devel/dst :: Link / Comments (8)
|