3

I have a thread pool writing data to an SSD disk. (windows XP, c#) I would like to choose a pool size to optimize performance. Theoretically, should performance improve with more threads? How do SSDs handle concurrent writes? And also concurrent reads, for that matter?

Thanks!

Jacko
  • 12,665
  • 18
  • 75
  • 126
  • I will upvote answers containing test results beyond what's already posted below. –  Mar 30 '11 at 16:07

2 Answers2

1

If you need to perform random io operations, you might want to ensure you're drive is running in AHCI, as random performance with high concurrency is usually faster with AHCI than IDE (see http://benchmarkreviews.com/index.php?option=com_content&task=view&id=505&Itemid=38&limit=1&limitstart=3).

This review also shows that concurrent random reads and writes (4K-64Trd Results) are faster than when using only a single thread (4K results).

BatteryBackupUnit
  • 12,934
  • 1
  • 42
  • 68
0

The best way to go about solving this problem is by actually profiling different pool sizes. The actualy settings you choose will depend on the nature of I/Os you are performing and of course the concurrency of said I/Os.

Theoretically, should performance improve with more threads?

SSDs unlike conventional spindle based drives have great random read/write performance and therefore will benefit (greatly) from having multiple concurrent threads perform I/O on them.

How do SSDs handle concurrent writes? And also concurrent reads, for that matter?

Since there are no moving parts, just data access to various (memory) locations, there is very little queing of random reads/writes that is needed, unless the drive's IOs/s for reads/writes is exceeded.

Michael Goldshteyn
  • 71,784
  • 24
  • 131
  • 181
  • 1
    To be more exact: There are no concurrent writes or reads - SATA is serial, one by one. BUT: a disc gets slower with random access patterns (moving the head), SSD will keep responding. There are SSD with 39000 (!) IOPS capability. A fast disc reaches 450 IOPS or so. – TomTom Mar 30 '11 at 16:47