hard disk handling

Discussion about development of draughts in the time of computer and Internet.
Post Reply
TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

hard disk handling

Post by TAILLE »

Hi,

I am not an expert in handling hard disk and I have a (simple?) question:
In order to use the egdb with the best performances is it preferable to use a raid0 configuration or do you prefer a raid1 configuration.

My feeling is that the striping approach of the raid0 configuration is inefficient because we always read a very small block on the disk and never a big file (excepting the initialize phase before a game).
As a consequence I believe that the raid1 approach may be better, allowing to read different blocks in parallel on several disk.
Is it a good understanding or am I wrong?
Gérard
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: hard disk handling

Post by MichelG »

I wouldn't bother with raid at all if you want to have the best possible performance on a spinning disk drive; raid 0 may be faster when you read large files, but it comes at a cost of reliability. (If one drives failes, you lose all your data)

I think raid 0 can possibly be faster on small files as well, but if the data-read frequeltly crosses the stripe-boundaries it will be a lot slower, because you have to wait for both disks to deliver the data. Only testing with your application can tell.

Instead, maybe you can put half of the databases on one disk, and the other half on another disk.

Because the program is multithreaded, you can read 2 databases simultaneously from the 2 drives, where both threads have optimal throughput (big files) and optimal latency time for small files.

Better yet, use a SSD drive.

Raid 1 is intended to increase drive reliability for servers. It generally comes with a large performance loss.

Michel
TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Re: hard disk handling

Post by TAILLE »

Hi Michel,
MichelG wrote:I wouldn't bother with raid at all if you want to have the best possible performance on a spinning disk drive; raid 0 may be faster when you read large files, but it comes at a cost of reliability. (If one drives failes, you lose all your data)

I think raid 0 can possibly be faster on small files as well, but if the data-read frequeltly crosses the stripe-boundaries it will be a lot slower, because you have to wait for both disks to deliver the data. Only testing with your application can tell.

Instead, maybe you can put half of the databases on one disk, and the other half on another disk.

Because the program is multithreaded, you can read 2 databases simultaneously from the 2 drives, where both threads have optimal throughput (big files) and optimal latency time for small files.

Better yet, use a SSD drive.

Raid 1 is intended to increase drive reliability for servers. It generally comes with a large performance loss.

Michel

Thank you Michel. Due to the existence of the miroring I imagined a controller in RAID1 could handled simultaneously two different accesses but I understand it is not the case. It's a pity isn'it?

You are right SSD is today the best solution. In only 256Gb (or even 128Gb) the most useful part of the 8 pieces egdb may be accessed rather quickly for a real gain in performance.
Gérard
ildjarn
Posts: 1537
Joined: Tue Aug 22, 2006 15:38
Real name: Joost de Heer

Re: hard disk handling

Post by ildjarn »

A good hardware RAID controller can divide read actions over the different disks for RAID1, as far as I know.

The performance loss is only for write actions (data has to be written twice).
Lasst die Maschinen verhungern, Ihr Narren...
Lasst sie verrecken!
Schlagt sie tot -- die Maschinen!
TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Re: hard disk handling

Post by TAILLE »

Hi Idjarn,
ildjarn wrote:A good hardware RAID controller can divide read actions over the different disks for RAID1, as far as I know.

The performance loss is only for write actions (data has to be written twice).
Due to the mirroring, my understanding is that a good controller in RAID1 can also (like in RAI0) use several disks in parallel in order to read a (big) file. Unfortunatly this parallel read cannot be used for accessing our egdb because we read only very small blocks. Ideally we need a controller able to take several access requests in parallel but this is another subject isn'it?

For the time being I use a RAID 0 configuration.
Gérard
BertTuyt
Posts: 1608
Joined: Wed Sep 01, 2004 19:42

Re: hard disk handling

Post by BertTuyt »

Gerard, i agree with Michel why not use a SSD (256 GByte will do i guess for a 8p DB).
At least these sizes are now affordable.
I also use nowadays a SSD for my 7p DB.

Bert
Post Reply