[so] [Lab 11] Nelamurire io_submit blocant

George-Cristian Muraru murarugeorgec at gmail.com
Mon May 16 03:21:54 EEST 2016


Salut, Calin.

Din ce am citit pe net se pare ca AIO-ul e limitat de filesystem [0], iar
partea de O_DIRECT
si aliniere am mai gasit-o explicata de un tip pe stackoverflow [1]
(trebuie sa testez si eu)

Ma voi mai uita maine (azi) sa vad daca mai gasesc informatii interesante
pe net, iar in continuare
voi specifica de ce cred ca se poate intampla asta.

O prima idee, ar fi faptul ca la multe operatii AIO s-ar putea umple coada
de scriere pe
disc (daca ne referim strict la scriere), iar operatiile in plus sa fie
trecute de IO scheduler in
coada abia dupa terminarea unui numar specific de operatii deja existente
in coada.

De asemenea, problema poate tine si de modul in care se plimba acul pe
disc, incercand
sa serveasca cat mai mult cereri existente in coada; sau de dimensiunea
sectorului (se poate
sa vina de aici necesitatea unei alinieri?)

That's just my 2 cents; astept si o parere mai avizata :)


[0]
http://blog.libtorrent.org/2012/10/asynchronous-disk-io/#poorqualityofimplementations
(partea de Poor quality of implementation)
[1]
http://stackoverflow.com/questions/34572559/asynchronous-io-io-submit-latency-in-ubuntu-linux

Mersi fain,
George

2016-05-15 22:55 GMT+03:00 Călin Cruceru <so at cursuri.cs.pub.ro>:

> Bună Laura,
>
> 2016-05-15 22:36 GMT+03:00 Laura Vasilescu <laura.vasilescu at cs.pub.ro>:
> > Bună Călin,
> >
> > Nu știu cum e exact implementat AIO-ul în kernel (I'll have a look
> > tomorrow morning), dar e posibil ca operațiile să ți se termine pentru
> > că ai deja fișierele în RAM. Flag-ul O_DIRECT dat la open obligă
> > citirile și scrierile să se facă direct din device și să facă bypass
> > la partea de caching a datelor.
> >
> > Încearcă să rulezi următoarea comandă înainte de a rula experimentul:
> > echo 3 > /proc/sys/vm/drop_caches
> > (comanda îți golește cache-ul curent; din păcate nu se poate dezactiva
> > operația de caching, este un lucru pe care îl face sistemul de operare
> > no matter what)
> >
> > Ideea e că sistemul de operare îți bufferează fișierele în RAM (poți
> > să rulezi comanda free și o să vezi ce porțiune din RAM-ul tău este
> > ocupată cu astfel de fișiere; field-ul 'cached').
> >
>
> Mă îndoiesc că poate fi cache-uit având în vedere că e vorba de
> scrieri, iar la fiecare rulare conținutul bufferului este generator
> random.
>
> Călin
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20160516/cd90ab01/attachment.html>


More information about the so mailing list