Hi!<div><br></div><div>That use case is not specific to databases only. Nginx users choose GPFS over Lustre just because GPFS does not have this trouble.</div><div><br></div><div>With best regards,</div><div><br></div><div>Vitaly<br><br>On Friday, May 13, 2016, Dilger, Andreas <<a href="mailto:andreas.dilger@intel.com">andreas.dilger@intel.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2016/05/12, 09:11, "Sebastian Rettenberger" <<a href="javascript:;" onclick="_e(event, 'cvml', 'rettenbs@in.tum.de')">rettenbs@in.tum.de</a>> wrote:<br>
<br>
>Hi,<br>
><br>
>thanks for the feedback.<br>
><br>
>I found out a few things (especially for Linux) that might be interesting:<br>
><br>
>- glibc implements aio_read/aio_write in user-space using threads. Thus,<br>
>they are always asynchronous but come with an overhead.<br>
><br>
>- The Linux kernel provides non-portable native asynchronous I/O through<br>
>libaio (io_submit).<br>
><br>
>I tested native AIO function of Linux on Ext4, NFS, Lustre and GPFS.<br>
>Only NFS performed the operation asynchronously and only with O_DIRECT.<br>
>On all other file systems, the operation was turned in a synchronous<br>
>operation.<br>
<br>
Could you please file a ticket in Jira and share what test tool you are<br>
using to check the aio functionality?  That would at least allow someone<br>
to investigate ow this is implemented and where it is getting blocked.<br>
I can't promise someone will work on it any time soon, but at least we<br>
would have somewhere to start, since I don't think this is a common IO<br>
interface except with database workloads.<br>
<br>
Cheers, Andreas<br>
<br>
<br>
>On 05/12/2016 12:23 AM, Dilger, Andreas wrote:<br>
>> On 2016/05/10, 04:30, "Sebastian Rettenberger" <<a href="javascript:;" onclick="_e(event, 'cvml', 'rettenbs@in.tum.de')">rettenbs@in.tum.de</a>><br>
>>wrote:<br>
>><br>
>>> Hi,<br>
>>><br>
>>> I am currently investigating in asynchronous I/O capability of<br>
>>>different<br>
>>> file systems. I wounder whether Lustre supports aio_write and aio_read<br>
>>>from the POSIX standard.<br>
>>><br>
>>> I found this bug report:<br>
>>> <a href="https://bugzilla.lustre.org/show_bug.cgi?id=11719" target="_blank">https://bugzilla.lustre.org/show_bug.cgi?id=11719</a><br>
>>> and this archived mail:<br>
>>><br>
>>><a href="http://lists.lustre.org/htdig.cgi/lustre-discuss-lustre.org/2012-May/011" target="_blank">http://lists.lustre.org/htdig.cgi/lustre-discuss-lustre.org/2012-May/011</a><br>
>>>08<br>
>>> 7.html<br>
>>><br>
>>> Does anybody has any resent information on this? Is this docuemented in<br>
>>> the Lustre manual?<br>
>><br>
>> The Lustre client does use the kernel ->aio_read() and ->aio_write()<br>
>> operations, but I don't know whether anyone has actually tested whether<br>
>>the<br>
>> IO operations will commit asynchronously or not.  If you have a test<br>
>>tool<br>
>> do verify this, it would definitely be interesting to know the results.<br>
>><br>
>> Cheers, Andreas<br>
>><br>
><br>
>--<br>
>Sebastian Rettenberger, M.Sc.<br>
>Technische Universität München<br>
>Department of Informatics<br>
>Chair of Scientific Computing<br>
>Boltzmannstrasse 3, 85748 Garching, Germany<br>
><a href="http://www5.in.tum.de/" target="_blank">http://www5.in.tum.de/</a><br>
><br>
><br>
<br>
<br>
Cheers, Andreas<br>
--<br>
Andreas Dilger<br>
<br>
Lustre Principal Architect<br>
Intel High Performance Data Division<br>
<br>
<br>
_______________________________________________<br>
lustre-discuss mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'lustre-discuss@lists.lustre.org')">lustre-discuss@lists.lustre.org</a><br>
<a href="http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org" target="_blank">http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org</a><br>
</blockquote></div><br><br>-- <br>\\wbr Vitaly<br>