タグ

aioとlibaioに関するclavierのブックマーク (2)

  • Linuxでaio - (ひ)メモ

    実装が2つある。以下、あくまで今の時点でのLinuxの場合の状況/実装のおはなし。 POSIX aio aio_read(3) とか aio_write(3), aio_error(3), aio_return(3) とか。 インターフェースはPOSIXで定義されているのと同じ。 システムコールじゃなくてライブラリ関数(librt) 裏でpthreadつくってがんばってるげ。 libaio http://lse.sourceforge.net/io/aio.html http://ftp.jaist.ac.jp/pub/Linux/Fedora/development/source/SRPMS/libaio-0.3.106-3.2.src.rpm とか io_prep_pread(2), io_prep_pwrite(2), io_submit(2), io_queue_init(2),

    Linuxでaio - (ひ)メモ
  • Linuxの非同期IO(libaio)を使う上での注意点 | Everyday Deadlock

    Linuxで非同期IOを実行する方法としては POSIX AIO (glibcによる実装) libaio (Linuxカーネル内の実装) の2つがあります。POSIX AIOを使った非同期IOは、実態としては裏でスレッドを生成してpread(2)/pwrite(2)を使ってIOを発行しているだけなので、性能があまりよろしくありません。そのため、ポータビリティが必要でない場合には、Linuxネイティブのlibaioを使うことが妥当です。 しかしながら、2011年現在このlibaioに関してはドキュメントが充分に整備されておらず、manpageも誤った記述が多々見受けられるという残念な状況にあります。私も実際にlibaioを使おうとして、よくわからないエラーに延々苦しめられました。このエントリでは、libaioの基的な使い方から、libaioを使う上ではまりがちなバッドノウハウなどをまとめて

  • 1