Re: [sqlite] light weight write barriers

From: Vladislav Bolkhovitin
Date: Fri Oct 26 2012 - 21:55:09 EST



Theodore Ts'o, on 10/25/2012 01:14 AM wrote:
On Tue, Oct 23, 2012 at 03:53:11PM -0400, Vladislav Bolkhovitin wrote:
Yes, SCSI has full support for ordered/simple commands designed
exactly for that task: to have steady flow of commands even in case
when some of them are ordered.....

SCSI does, yes --- *if* the device actually implements Tagged Command
Queuing (TCQ). Not all devices do.

More importantly, SATA drives do *not* have this capability, and when
you compare the price of SATA drives to uber-expensive "enterprise
drives", it's not surprising that most people don't actually use
SCSI/SAS drives that have implemented TCQ.

What different in our positions is that you are considering storage as something you can connect to your desktop, while in my view storage is something, which stores data and serves them the best possible way with the best performance.

Hence, for you the least common denominator of all storage features is the most important, while for me to get the best of what possible from storage is the most important.

In my view storage should offload from the host system as much as possible: data movements, ordered operations requirements, atomic operations, deduplication, snapshots, reliability measures (eg RAIDs), load balancing, etc.

It's the same as with 2D/3D video acceleration hardware. If you want the best performance from your system, you should offload from it as much as possible. In case of video - to the video hardware, in case of storage - to the storage. The same as with video, for storage better offload - better performance. On hundreds of thousands IOPS it's clearly visible.

Price doesn't matter here, because it's completely different topic.

SATA's Native Command
Queuing (NCQ) is not equivalent; this allows the drive to reorder
requests (in particular read requests) so they can be serviced more
efficiently, but it does *not* allow the OS to specify a partial,
relative ordering of requests.

And so? If SATA can't do it, does it mean that nobody else can't do it too? I know a plenty of non-SATA devices, which can do the ordering requirements you need.

Vlad
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/