NAKAMURA Minoru の日記 (2013年12月)

先月の日記(2013年11月) 今月の日記(2013年12月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | Google+
slideshare | github | Qiita



12/30 (月)

帰省

新幹線で山口に帰省する。


富士山を臨む

SANYOのソーラーアークは今はPanasonic

12/29 (日)

[Moive] ハンガー・ゲーム2

なんだかんだ言ってハンガー・ゲーム2(原題: The Hunger Games: Catching Fire)を観に行った。 期待してなかったが、しょんぼりな作品だった。 前作も観ているけど、カットニスが反乱の象徴だと言われてもどうにも説得力を感じない。 前作なのか今作なのか原作からカットしたシーンがあって影響しているのかしらん。

気になるのは、歴代勝者を集めるといいながら、12地区から男女一人づつ選出可能なのはなぜだろう? 毎年一人勝利者がいるが、前作では地区によって勝率に偏りがあると話していた。 しかも複数回勝利したものもいる。 なのに第四地区の老女をのぞくと、残りはそんなに年を食ってない人ばかりだ。 均等に散らばり過ぎやしてないかい?


12/28 (土)

Pseudo InfiniBand HCA driver(pib) の Subnet Manager 対応

pib を Subnet Manager (OpenSM) に対応させた。

これまで強制的に LID を割り振っていたが今回のバージョン(0.1.0)からモジュールロード時は LID が 0 になり、SM から LID を割り振ってもらうことになる。 内部的には疑似スイッチを作って、外側に見える HCA のポートを全て結線している。

スイッチの統計情報の取得などにはまだ対応していないので、これからボチボチ作成する。

OpenSM の挙動の追跡

/etc/rdma/opensm.conf にある log_flags を変更すると OpenSM はログ出力を増やすので、解析がし易くなる。 ログは /var/log/opensm.log に出力される。

# The log flags used
# log_flags 0x03
log_flags 0x0F

OpenSM 対応をしているうちに分かった実機 InfiniBand スイッチの仕様違反疑惑

InfiniBand は HCA とスイッチをただ結線しただけでは通信はできなくて、Software-Defined Network のようにネットワークの構成情報を流す必要がある。 これが Subnet Manager(SM) で通常 IB ネットワークのどこか一端から開始して、ネットワークトポロジーの解析、LID の割り振り、フォワーディング情報の設定を実施する。

このために IB は通常の通信のために使うパケットとは別に Management Datagram(MAD) というパケット形式を持っている。 これは QP0 か QP からのみ送受信される。 MAD にはメソッドが定義されており Get(データ取得要求パケット)、Set(データ設定要求パケット)、GetResp(GetとSetの応答パケット)など区別される。

ところで Set パケットに対する応答は GetResp パケットで行うが、このパケットの中身は Set パケットの中身を引き写す仕様になっている。 InfiniBand Architecture Specification Volume 1 Release 1.2.1 から引用する。

C13-12.1.1: The attribute contained in a GetResp() response to a Set() shall be the same as that maintained by the responder when the GetResp() is returned, except as specified in C13-43: on page 761 or where otherwise required by the class. Any externally visible effects that result from the Set(), such as attribute component values, shall have been made externally visible prior to returning the GetResp() except where otherwise required by the class.

C13-43 は Subnet Manager とは関係なく、14.3.3 SUBNGETRESP() には Subnet Manager が使う MAD に関する例外が記述されているが今回の件とは関係ない。

次にポートの論理ステートは物理的な結線が接続されていると自動的に Link Initialize の格上げされる。 その後は SM の Set() パケットによって論理ステートを変更することによって Link Initialize → Link Activate と遷移させることができる。

一方、SM がポートに対して LID を割り当てる場合、ポートの論理ステート(PortInfo:PortState) を Link Down に落とす必要がある。 そういう仕様になっている。 だから SM は論理ステートを down に設定し、新規の LID を割り振るような Set() パケットを送信する。 14.4.5 PORT STATE TRANSITIONS には以下のようにある。

The SM may reset port related state by:
1) setting the PortInfo:LinkDownDefaultState to polling state
2) setting the PortInfo:Portstate to the down state.
The PortInfo:Portstate should return to the initialize state after clearing its state as described by the link state machine in Figure 50 Link State Machine on page 172
(下線は nminoru)

さて仕様をそのままに理解するなら以下のような結論が導き出せると思う。

  • 論理ステートは down させてもただちに initialize 状態に戻る。
  • Set() に対する応答の GetResp() に含まれる論理ステートは、Set() のものをコピーしているはず。

しかし OpenSM の実装を見ていると、論理ステートを down させる Set() パケットに対する GetResp() パケットは論理ステートが initialize に設定されていることを期待している。 もし down のままなら OpenSM のログにはエラーが表示されるはずだが実機のログでていない。 ということは実機のスイッチが仕様違反の挙動をしているということか?

追記:2014年1月10日

落ち着いて考えると、Set() の応答の GetResp() は、Set() による内部データの更新後に Get() が呼ばれたとして、その応答の GetResp() と一緒になるといっているだけのように読めてきた。 だとすれば現在の実装は仕様通りだ。


12/22 (日)

[Moive] ゼロ・グラビィティ

予告編を見たときはサンドラ・ブロックが演じる宇宙飛行士が船外に放り出されて、ただただ宇宙を漂う間の話をずっとやると思った。 それで好評を博することができるとはいったい全体どんな凄い脚本なんだろう?と興味を持って観に来たら、サンドラ・ブロックの役はジョージ・クルーニーの演じる宇宙飛行士に早々に助けられてしまったよ。


12/18 (水)

VMware vSphere Hypervisor 5.5 (ESXi 5.5)への移行

ESXi 5.5 が動作したので Windows7 上の VMware Player 上で動作していた旧サーバの VM イメージを移行する。 移行には VMware vCenter Converter Standalone を用いる。

この時、ESXi 5.5 上での VM イメージのバージョンを尋ねられるがバージョン 9 と 10 を選択すると VMware vSphere Client を使ったの仮想マシン設定の編集ができなくなる。 バージョン 8 で留める。

バージョン 9 以降を使う場合は、vSphere Client ではなく vSphere Web Client を使うが、これは有償の VMware vCenter にしか含まれない。

後は「構成」のタブから以下の設定を変更しておく。

  1. 「ライセンス機能」を選択して、ダウンロード時にもらえる vSphere Hypervisor 5.5 の無償評価版のライセンスキーを入力する。
  2. 「仮想マシン起動/シャットダウン」のプロパティを設定して、ESXi 5.5 が再起動時に仮想マシンも自動的に起動するようにする。
  3. 「セキュリティプロファイル」から SSH を起動して、ESXi 5.5 にログインできるようにする。

12/9 (月)

[MyPC] 自宅サーバ稼動開始と思ったのものの動かず

ショップブランド PC 3号機VMware vSphere Hypervisor 5.5 (ESXi 5.5) をダウンロードしてインストールを試してみたが、マザーボードに載っている Realtek の NIC カードが認識されない。

ESXi 5.5 は Intel や Broadcom などサーバ系で使われているベンダーしかサポートしていないようだ。

追記:12/14

Intel 製 NIC カードを求めて川崎に行ったもののヨドバシカメラには玄人志向や Planex しかなく、ビックカメラは NIC カードそのものがない。

諦めず秋葉原へ移動し、ドスパラで Intel 製の Gigabit CT Desktop Adapter(EXPI9301CT)を購入。

追記:12/17

Intel NIC を装着すると ESXi 5.5 がネットワークカードとして認識してインストールは先に進む。 ただしインストール完了後に ESXi 5.5 がブートしない。 ブート画面には以下のようなメッセージが表示される。

The system found unauthorized changes on the firmware, operating system or UFEI drivers.

Press [N] to run the next boot device, or ether directly to BIOS Setup If there are no other boot device installed.

Go to BIOS Setup > Advanced > Boot and change the current boot device into other secured boot devices.

UEFI Secure Boot が原因だった。 マザーボードの Secure Boot 設定をオフにすると起動するようになった。


12/8 (日)

第九回 カーネル/VM探検隊@神保町 IIJ

第九回 カーネル/VM探検隊に参加。


12/6 (金)

[MyWeb] Pseudo InfiniBand HCA driver(pib) のページを作成

10月7日の日記などをまとめて pib のページを公開する。

pib の開発状況は単ノードでの UD 通信が可能になっている。 RC 通信は RDMA READ を除いて実装したが、現在デバッグ中でテストが通るまでに至っていない。


12/3 (火)

[MyPC] 新しい PC が到着

先月の30日に購入した PC が届いた。 ただ忙しいので、ちょっとお預け。


先月の日記(2013年11月) 今月の日記(2013年12月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | Google+
slideshare | github | Qiita


Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp