Concurrency of I/O Requests【每日一译】--2013-1-18

来源:互联网 发布:js事件委托方法 编辑:程序博客网 时间:2024/04/30 01:13
Coarse grain striping allows a disk in the array to service several I/O requests. In this
way, a large number of concurrent I/O requests can be serviced by a set of striped
disks with minimal I/O setup costs. Coarse grain striping strives to maximize overall
I/O throughput. multiblock reads, as in full table scans, will benefit when stripe
depths are large and can be serviced from one drive. Parallel query in a DSS
environment is also a candidate for coarse grain striping. This is because there are
many individual processes, each issuing separate I/Os. If coarse grain striping is used
in systems that do not have high concurrent requests, then hot spots could result.
In a system with a few large I/O requests, such as in a traditional DSS environment or
a low-concurrency OLTP system, then it is beneficial to keep the stripe depth small.
This is called fine grain striping. In such systems, the stripe depth is
n * DB_BLOCK_SIZE
where n is smaller than the multiblock read parameters, such as DB_FILE_
MULTIBLOCK_READ_COUNT.
Fine grain striping allows a single I/O request to be serviced by multiple disks. Fine
grain striping strives to maximize performance for individual I/O requests or

response time

粗粒度条带允许一个磁盘在阵列中服务几个IO的要求。通过这种方法,大量的并发IO要求

可以通过一组条带化磁盘提供服务使用最小化的IO消耗成本。粗粒度条带使用得可以最大化

整个IO的吞吐量。多块读取,比如全表扫描,适合当条带化的深度足够大并且可以通过一个

驱动器提供服务。并发查询对于一个DSS环境也是一个可选方案对于粗粒度条带。这是因为存在

非常多的独立进程,每个发出独立的IO。如果粗粒度条带用在没有要求高并发的系统,那么

会产生热点结果。对于部份有大量IO需求的系统,比如在一个传统的DSS环境或者一个低并发的

OLTP系统,那么它适宜保持小的条带化深度。这个叫作细粒度条带。在这种情况下,条带深度是

N*DB_BLOCK_SIZE

N是一个小于多块读取的参数,比如DB_FILE_MULTIBLOCK_READ_COUNT.

细粒度条带允许一个单独IO要求通过多个磁盘提供服务。细粒度条带使得最大化性能对于独立的IO

要求或者反应时间。