タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

aioに関するodawaraのブックマーク (6)

  • @IT:全貌を現したLinuxカーネル2.6[第1章](3/3) - AIO

    ファイルI/Oの効率化 ■Multi page block I/O カーネル2.4は、ページキャッシュ層からブロックI/O層へリクエストを渡す際、複数ページから成るバッファをそのまま渡すことができず、いったんブロックサイズに分割したバッファをブロックI/O層で再びつなぎ合わせるという無駄な処理を行っていた。 カーネル2.6では、複数ページから成るバッファに対するI/Oを効率的に行うため、bioと呼ばれる構造体が新設された。これは従来のBuffer headに相当するものだが、ページの配列を持つようになっており、複数のページをまとめてブロックI/O層へ渡すことができる。また、これに合わせた各デバイスドライバの修正も行われた。これに伴い、Direct I/Oのコードもbioを使用するように大幅に書き直された。 カーネル2.6にも従来のBuffer headは残されているが、その処理はbioを使

    @IT:全貌を現したLinuxカーネル2.6[第1章](3/3) - AIO
    odawara
    odawara 2009/07/25
  • 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 - (ひ)メモ
    odawara
    odawara 2009/07/25
  • Kernel Asynchronous I/O (AIO) Support for Linux

    Overview AIO enables even a single application thread to overlap I/O operations with other processing, by providing an interface for submitting one or more I/O requests in one system call (io_submit()) without waiting for completion, and a separate interface (io_getevents()) to reap completed I/O operations associated with a given completion group. Support for kernel AIO has been included in the 2

    odawara
    odawara 2009/07/25
  • システムコールによる非同期I/O API - takkan_mのNo planな日常

    このAPIは、カーネル2.6以降にカーネルに追加された機能をつかうためのシステムコールになります。 カーネルは、非同期I/Oをサポートするために、VFS層のファイルオブジェクト(簡単に説明すると、実際のファイルシステムがファイルに対する操作を保持するオブジェクトだと思います。この中に、f_opというファイル操作のための関数テーブルをもっています。オブジェクト指向におけるスーパークラスのようなものです。)のf_opに、ファイル操作のaio_read()とaio_write()というエントリポイントがもうけられるようになりました。(個人的に、POSIXのAPIと名前がかぶるので、ここで一度混乱しました。Linuxのカーネル周りは、日語に直しているせいかもしれませんが、同じ名前で呼べるけど実は別物というものがいくつかあります。まぁ、でもそれはおいおい) このAPIをもちいると、I/O処理をカー

    システムコールによる非同期I/O API - takkan_mのNo planな日常
    odawara
    odawara 2009/07/25
    [非同期I/O]
  • libaio(Linuxの非同期I/Oライブラリ)の使い方 - moratorium

    libaio(Linuxの非同期I/Oライブラリ)の使い方 2007-06-05 (Tue) 4:53 Unix Linuxで非同期I/Oを行うためのライブラリ「libaio」の使い方を書いてみる事にする。少し昔の話になるが、lighttpdが使用し、スループットを80%も上げたらしい。 TOEFLに向けて転置ファイルについての論文(Inverted files for text search engine [moffat 06])でReading対策をしていたところ、意外とスニペット(検索にヒットした箇所の前後の文章)を作るところが時間がかかるという事を教えてもらったので、適当にそれを例題にしてみる。具体的には以下のようなコードを非同期I/Oを使用して速くなるかどうか見てみる。 for (unsigned int i = 0; i < files.size(); i++) { FILE*

  • aio linux - Google 検索

    2020/12/07 · Posix AIOとは違い、(Linux独自の)システムコールを利用してkernel空間で非同期IOを行う仕組みがLinux AIOです。kernel空間で処理を行うことにより性能が ...

  • 1