Soumettre la recherche
Mettre en ligne
Aio
•
Télécharger en tant que PPT, PDF
•
4 j'aime
•
4,678 vues
Masaaki HIROSE
Suivre
Technologie
Formation
Signaler
Partager
Signaler
Partager
1 sur 37
Télécharger maintenant
Recommandé
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
CppCon2016 report and Boost.SML
CppCon2016 report and Boost.SML
Takatoshi Kondo
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Polyphony の行く末(2018/3/3)
Polyphony の行く末(2018/3/3)
ryos36
std::pin の勘所
std::pin の勘所
Hiroaki Goto
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
marsee101
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
Recommandé
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
CppCon2016 report and Boost.SML
CppCon2016 report and Boost.SML
Takatoshi Kondo
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Polyphony の行く末(2018/3/3)
Polyphony の行く末(2018/3/3)
ryos36
std::pin の勘所
std::pin の勘所
Hiroaki Goto
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
marsee101
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
ELFの動的リンク
ELFの動的リンク
7shi
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
Makoto SAKAI
Linuxのsemaphoreとmutexを見る
Linuxのsemaphoreとmutexを見る
wata2ki
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
whywaita
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
lestrrat
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
こわくない Git
こわくない Git
Kota Saito
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
Ryosuke839
Gitのよく使うコマンド
Gitのよく使うコマンド
YUKI Kaoru
Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)
Yoshiaki Shibutani
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
InfiniBand on Debian
InfiniBand on Debian
Taisuke Yamada
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
Contenu connexe
Tendances
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
ELFの動的リンク
ELFの動的リンク
7shi
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
Makoto SAKAI
Linuxのsemaphoreとmutexを見る
Linuxのsemaphoreとmutexを見る
wata2ki
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
whywaita
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
lestrrat
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
こわくない Git
こわくない Git
Kota Saito
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
Ryosuke839
Gitのよく使うコマンド
Gitのよく使うコマンド
YUKI Kaoru
Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)
Yoshiaki Shibutani
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
Tendances
(20)
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
ELFの動的リンク
ELFの動的リンク
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
Linuxのsemaphoreとmutexを見る
Linuxのsemaphoreとmutexを見る
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
こわくない Git
こわくない Git
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
Gitのよく使うコマンド
Gitのよく使うコマンド
Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
入門 シェル実装
入門 シェル実装
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Similaire à Aio
InfiniBand on Debian
InfiniBand on Debian
Taisuke Yamada
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
Masataka Kondo
Elastic stack 世界にさらしたサーバを可視化してみた
Elastic stack 世界にさらしたサーバを可視化してみた
Masamitsu Maehara
Ansible quickstart
Ansible quickstart
Hideki Saito
Osoljp studygroup201303
Osoljp studygroup201303
Noriyasu Sakaue
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
ksk sue
dofilewrite and vn_write
dofilewrite and vn_write
kusabanachi
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
Taisuke Yamada
Programming camp Codereading
Programming camp Codereading
Hiro Yoshioka
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
irix_jp
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介
OSSラボ株式会社
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
Yuma Ohgami
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
Naoki Matsumoto
【続編】その ionice、ほんとに効いてますか?
【続編】その ionice、ほんとに効いてますか?
Narimichi Takamura
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
dcubeio
Ansible2.0と実用例
Ansible2.0と実用例
OSSラボ株式会社
Oracle solaris 10 u9 iSCSI Boot
Oracle solaris 10 u9 iSCSI Boot
Kazuyuki Sato
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
VIRLとPyATSで実現するネットワークCI
VIRLとPyATSで実現するネットワークCI
tetsusat
Similaire à Aio
(20)
InfiniBand on Debian
InfiniBand on Debian
スタート低レイヤー #0
スタート低レイヤー #0
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
Elastic stack 世界にさらしたサーバを可視化してみた
Elastic stack 世界にさらしたサーバを可視化してみた
Ansible quickstart
Ansible quickstart
Osoljp studygroup201303
Osoljp studygroup201303
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
dofilewrite and vn_write
dofilewrite and vn_write
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
Programming camp Codereading
Programming camp Codereading
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
【続編】その ionice、ほんとに効いてますか?
【続編】その ionice、ほんとに効いてますか?
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
Ansible2.0と実用例
Ansible2.0と実用例
Oracle solaris 10 u9 iSCSI Boot
Oracle solaris 10 u9 iSCSI Boot
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
VIRLとPyATSで実現するネットワークCI
VIRLとPyATSで実現するネットワークCI
Plus de Masaaki HIROSE
JVM! JVM! JVM!
JVM! JVM! JVM!
Masaaki HIROSE
Redunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPC
Masaaki HIROSE
How to inspect a RUNNING perl process
How to inspect a RUNNING perl process
Masaaki HIROSE
Introduction of aws-cli
Introduction of aws-cli
Masaaki HIROSE
『Ficia』インフラとPerlにまつわるエトセトラ
『Ficia』インフラとPerlにまつわるエトセトラ
Masaaki HIROSE
Shibuya.pm #9 My First XS
Shibuya.pm #9 My First XS
Masaaki HIROSE
Plus de Masaaki HIROSE
(6)
JVM! JVM! JVM!
JVM! JVM! JVM!
Redunduncy of NAT instance on AWS/VPC
Redunduncy of NAT instance on AWS/VPC
How to inspect a RUNNING perl process
How to inspect a RUNNING perl process
Introduction of aws-cli
Introduction of aws-cli
『Ficia』インフラとPerlにまつわるエトセトラ
『Ficia』インフラとPerlにまつわるエトセトラ
Shibuya.pm #9 My First XS
Shibuya.pm #9 My First XS
Dernier
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Dernier
(7)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Aio
1.
非同期 I/O
概説 Introduction to Asynchronous I/O AIO, I/O Multiplexing…
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
I/O モデルの整理 Synchronous
Asynchronous Blocking Non-blocking read/write read/write (O_NONBLOCK) I/O multiplexing I/O 多重化 (select, poll) AIO 非同期 I/O (POSIX AIO, libaio) ~ Boost application performance using asynchronous I/O http://www-128.ibm.com/developerworks/linux/library/l-async/
12.
13.
14.
15.
16.
17.
18.
19.
20.
POSIX AIO –
スレッド通知 iocb->aio_fildes = … iocb->aio_buf = … iocb->aio_nbytes = … iocb->aio_offset = … iocb->aio_sigevent.sigev_notify = SIGEV_THREAD ; iocb->aio_sigevent.sigev_notify_function = rd_done ; iocb->aio_sigevent.sigev_value.sival_ptr = iocb ; aio_read (iocb); /* void rd_done (sigval_t sigval) */ iocb = (struct aiocb *)sigval.sival_ptr; while ((rc = aio_error (iocb)) == EINPROGRESS); rc = aio_return (iocb); char *buf = (void *)iocb->aio_buf; struct aiocb の初期化 aiocb を取り出す データが詰まってる buf 返り値を得る エラー状態を確認 スレッドを起床して通知 コールバック関数 自分自身を格納 非同期処理をリクエスト
21.
22.
POSIX AIO –
シグナル通知 iocb->aio_fildes = … iocb->aio_buf = … iocb->aio_nbytes = … iocb->aio_offset = … iocb->aio_sigevent.sigev_notify = SIGEV_SIGNAL ; iocb->aio_sigevent.sigev_signo = SIGIO_READ ; iocb->aio_sigevent.sigev_value.sival_ptr = iocb ; aio_read (iocb); /* void rd_done (int signo, siginfo_t *info, void *context) */ iocb = (struct aiocb *)info->si_value.sival_ptr; while ((rc = aio_error (iocb)) == EINPROGRESS); rc = aio_return (iocb); char *buf = (void *)iocb->aio_buf; struct aiocb の初期化 aiocb を取り出す ☚ データが詰まってる buf 返り値を得る エラー状態を確認 シグナルで通知 ☚ 発生シグナルを指定 ☚ 自分自身を格納 非同期処理をリクエスト sigemptyset(&sigact_r.sa_mask); sigact_r.sa_flags = SA_SIGINFO; sigact_r.sa_sigaction = rd_done ; sigaction( SIGIO_READ , &sigact_r, NULL); シグナルハンドラ
23.
24.
libaio io_queue_init (AIO_MAXIO,
&myctx); struct iocb *ioq[n]; for (i=0; i<=n; i++) { io_prep_pread (iocb, srcfd, iosize, offset); io_set_callback (iocb, rd_done); ioq[i] = iocb; } io_submit (myctx, n, ioq); io_queue_run (myctx); io_queue_wait(myctx, NULL); /* void rd_done(io_context_t ctx, struct iocb *iocb , long res,…) */ int iosize = iocb->u.c.nbytes; char *buf = iocb->u.c.buf; off_t offset = iocb->u.c.offset; 非同期イベント処理-> CB データが詰まってる buf コンテキストの初期化 iocb のセットアップ (read) コールバック関数のセット 非同期処理をリクエスト 非同期処理の完了を待つ
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
おしまい
Télécharger maintenant