タグ

IOとnetworkに関するclavierのブックマーク (4)

  • PumaのコードからみるソケットへのノンブロッキングI/O - Qiita

    これは何? ソケットにおけるノンブロッキングI/OについてPumaのコードを絡めて調べてみたまとめです。 PumaRubyで書かれたOSSのWebサーバーです。 ソケットに限らずノンブロッキングI/Oという言葉をよく聞きます。ですがイマイチなにを意味しているのかわからなかったので調べてみました。 ブロッキングI/Oとは ユーザーモードからシステムコールをカーネルに発行し、結果が帰ってくるまでに待ちが発生するI/O処理のことです。ファイル全般に言えることであり、ソケットもファイルなので当然ブロッキング発生します。 ソケットにおけるブロッキングI/Oは以下のようなものがあります。 accept(2)でlistenキューからソケットを取り出すときに接続が確立されていない場合(TCPハンドシェイク中など)は確立されるまでブロックされる。 ソケットに対してread(2)やwrite(2)を実行する

    PumaのコードからみるソケットへのノンブロッキングI/O - Qiita
  • チャットで学ぶ Go ネットワークプログラミング : DSAS開発者の部屋

    簡単なチャットプログラムは、ネットワークプログラミング用のフレームワークでは定番のサンプルプログラムです。 echo サーバーが Hello World とするなら、チャットは FizzBuzz といったところでしょう。 とりあえず動くだけのチャットならだれでもすぐに作れるようになりますが、まじめにチャットを作ることで、 ネットワークプログラミングで考えないといけない点やエラー処理の重要な基礎を学ぶことができます。 ということで、 Go でシンプルなチャットを実装してみました。 (ソースコード) 以降、何を考えてどういう設計を採用したのかを解説していきます。 考慮すべきポイント 特定のクライアントへの送信に長時間待たされた場合に、他のクライアントへの送信が遅れないようにする。 クライアントを切断するのは、 (1)ルーム側から kick する場合, (2)受信エラー, (3)送信エラー の3

    チャットで学ぶ Go ネットワークプログラミング : DSAS開発者の部屋
  • 20140419【qpstudy】OSとNW設計の勘所

    14. ネットワークのレイヤ感 レイヤ 問題になりそうなところ OSIレイヤ アプリ コネクション管理、タイマ 5∼7 NWスタック パケット分割・送信処理 4∼2 NICドライバ カーネル/NICとの相性 1∼2 NIC リンク方式、ファーム 1∼2 ケーブル等 物理的破損 0 スイッチ リンク速度、MAC重複 1∼2 ルータ ルーティング 3 FW アクセス制御 3∼4 WAN 網障害 0∼4 その先 それ俺ですか 10 16. ディスクアクセスのレイヤ感 レイヤ 問題になりそうなところ アプリ アプリ実装(CPU使用率のusrが高い) ファイルシステム FSの特性(RW速度はext4<<xfs) キャッシュ OSキャッシュの乗り方 IOスケジューラ カーネルスケジューラの特性 ドライバ バグ、相性 CNA/NIC/HBA ファームバグ/リンク速度 通信経路 物理破損、スイッチなど コ

    20140419【qpstudy】OSとNW設計の勘所
  • I/O仮想化最前線〜ネットワークI/Oを中心に〜

    This document discusses different methods for virtualizing I/O in virtual machines. It covers virtual I/O approaches like virtio, PCI passthrough, and SR-IOV. It also explains the role of the VMM/hypervisor in managing I/O between VMs and physical devices using techniques like VT-d, Open vSwitch, and single root I/O virtualization. Finally, it discusses emerging standards for virtual switching lik

    I/O仮想化最前線〜ネットワークI/Oを中心に〜
  • 1