?? Podpora raw devices

Alexandr Malusek malusek na hroch.ujf.cas.cz
Pátek Březen 13 13:13:11 CET 1998


peak na kerberos.troja.mff.cuni.cz (Pavel Kankovsky) writes:

> On Thu, 12 Mar 1998, Michal Vanka wrote:
> 
> > trochu sleduji adabasovou konferenci a nedavno
> > tam jeden clovek napsal:
> > > Procital jsem si archivy comp.databases.adabas
> > > a zda se, ze Linux nepodporuje raw devices.
> > nacez mu nekdo jiny odpovedel:
> > > IMHO ano (bohuzel)

Predpokladam, ze mel na mysli diskove raw devices. (Napr. /dev/cua0 je
raw device). Duvod, proc nejsou v Linuxu implementovany, neznam.

> Tzv. "raw device" by je zarizeni, ktere narozdil od obycejnych
> zarizeni neni v jadre kesovano, protoze se cteni a zapis provadi primo
> do / z pametoveho prostoru procesu. Hodi se to pro velke databazove
> stroje, protoze ty vedi lip nez jadro, jake kesovaci strategie zvolit a
> navic se usetri nekolikere kopirovani dat.

To je pravda. Pro ilustraci obvykle uvadim priklad s dd (Ultra 1, Solaris
2.5.1).

Prvni radek je pro raw device:
# dd if=/dev/rdsk/c0t0d0s2 of=/dev/null bs=327680
druhy pro block device:
# dd if=/dev/dsk/c0t0d0s2 of=/dev/null bs=327680

                                 extended disk statistics          cpu
disk      r/s  w/s   Kr/s   Kw/s wait actv  svc_t  %w  %b  us sy wt id
sd0      63.0  0.0 6720.2    0.0  0.0  1.0   15.6   0  98   0  1 99  0
sd0      53.5  0.0 6848.1    0.0  0.0  1.9   35.4   0 100   0 13  0 87

 procs     memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr f0 s0 s3 --   in   sy   cs us sy id
 0 1 0 211160 17768   0   0  0  0  0  0  0  0 63  0  0  337  109  156  0  2 98
 0 0 0 211256 17520   0   0 6784 0 0  0  0  0 53  0  0  302  112  143  0 12 88

Ackoliv se dela totez (z disku se kopiruje do /dev/null), v pripade
blokoveho zarizeni to vede k vyssimu zatizeni CPU (13% & 1% viz cpu
sy), pricemz se data kesuji (viz page pi). Jinak rychlost prenosu je
priblizne stejna (asi 6.8 MB/s viz Kr/s) (pro blokovy prenos je
nepatrne vyssi, ale na druhou stranu je zase vyssi tzv. service time
(svc_t) - doba (ms) po kterou ceka pozadavek na zapis ve fronte.

--
A. Malusek  (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux