Source string Read only

(itstool) path: sect1/para
504/5040
Context English State
Starting with FreeBSD 5, <filename>vinum</filename> has been rewritten in order to fit into the <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/geom.html">GEOM architecture</link>, while retaining the original ideas, terminology, and on-disk metadata. This rewrite is called <emphasis>gvinum</emphasis> (for <emphasis> GEOM vinum</emphasis>). While this chapter uses the term <filename>vinum</filename>, any command invocations should be performed with <command>gvinum</command>. The name of the kernel module has changed from the original <filename>vinum.ko</filename> to <filename>geom_vinum.ko</filename>, and all device nodes reside under <filename class="directory">/dev/gvinum</filename> instead of <filename class="directory">/dev/vinum</filename>. As of FreeBSD 6, the original <filename>vinum</filename> implementation is no longer available in the code base.
Access Bottlenecks
Modern systems frequently need to access data in a highly concurrent manner. For example, large FTP or HTTP servers can maintain thousands of concurrent sessions and have multiple 100 Mbit/s connections to the outside world, well beyond the sustained transfer rate of most disks.
Current disk drives can transfer data sequentially at up to 70 MB/s, but this value is of little importance in an environment where many independent processes access a drive, and where they may achieve only a fraction of these values. In such cases, it is more interesting to view the problem from the viewpoint of the disk subsystem. The important parameter is the load that a transfer places on the subsystem, or the time for which a transfer occupies the drives involved in the transfer.
In any disk transfer, the drive must first position the heads, wait for the first sector to pass under the read head, and then perform the transfer. These actions can be considered to be atomic as it does not make any sense to interrupt them.
<anchor xml:id="vinum-latency"/> Consider a typical transfer of about 10 kB: the current generation of high-performance disks can position the heads in an average of 3.5 ms. The fastest drives spin at 15,000 rpm, so the average rotational latency (half a revolution) is 2 ms. At 70 MB/s, the transfer itself takes about 150 μs, almost nothing compared to the positioning time. In such a case, the effective transfer rate drops to a little over 1 MB/s and is clearly highly dependent on the transfer size.
The traditional and obvious solution to this bottleneck is <quote>more spindles</quote>: rather than using one large disk, use several smaller disks with the same aggregate storage space. Each disk is capable of positioning and transferring independently, so the effective throughput increases by a factor close to the number of disks used.
The actual throughput improvement is smaller than the number of disks involved. Although each drive is capable of transferring in parallel, there is no way to ensure that the requests are evenly distributed across the drives. Inevitably the load on one drive will be higher than on another.
<primary>disk concatenation</primary>
<primary>Vinum</primary> <secondary>concatenation</secondary>
The evenness of the load on the disks is strongly dependent on the way the data is shared across the drives. In the following discussion, it is convenient to think of the disk storage as a large number of data sectors which are addressable by number, rather like the pages in a book. The most obvious method is to divide the virtual disk into groups of consecutive sectors the size of the individual physical disks and store them in this manner, rather like taking a large book and tearing it into smaller sections. This method is called <emphasis>concatenation</emphasis> and has the advantage that the disks are not required to have any specific size relationships. It works well when the access to the virtual disk is spread evenly about its address space. When access is concentrated on a smaller area, the improvement is less marked. <xref linkend="vinum-concat"/> illustrates the sequence in which storage units are allocated in a concatenated organization.

Loading…

None

New source string

FreeBSD Doc / articles_vinumEnglish

New source string 3 months ago
Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect1/para
Labels
No labels currently set.
Flags
read-only
Source string location
article.translate.xml:100
Source string age
3 months ago
Translation file
, string 13