或曰

火曜日, 8月 05, 2008

Larrabee: a many-core x86 architecture for visual computing

Intel の many core CPU である Larrabee に関する paper。まだ abstract だけ。
  • 個々のプロセッサ構成要素
    • In-order x86 CPU コア
    • 強化されたベクトル演算ユニット
    • 固定論理処理ブロック
  • コヒーレントなオンダイ 2nd キャッシュ
    • 効率的なプロセッサ間通信
    • CPU からアクセス可能な広帯域ローカルデータ
  • ソフトウェアによるタスクスケジューリング
  • binningを用いたカスタム可能なソフトウェアグラフィックレンダリングパイプライン
    • 必要なメモリ帯域の縮小
    • ロック競合の最小化
    • 並列化の機会向上
  • 不規則なデータ構造を用いる、種々の高並列化アプリケーションをサポートするプログラミングモデル
比較対象として、既存の Out-of-order・対称型マルチコアプロセッサ、GPGPU、Cell のようなヘテロジニアスマルチコアプロセッサ、あとは PC クラスタを想定して読むのが良いかな。

ラベル:

お仕事

今週から class change だけど、しばらくは catch up が必要。ま、ぼちぼちやってこう。

毎日 8 時間近く寝るようにしているけど、それでも昼間眠くなる。まぁ、環境が変わって慣れてないから疲れるんだろうね。眠いときに無理にがんばってもロクなことないので、そういうときは 15分ぐらい熟睡。

あと面接の時に「blog 読んでるよ」と言われたけど、同じオフィスに、もう一人読んでいる人がいた。世界狭すぎる。

月曜日, 8月 04, 2008

抜糸

7/30 に通院して抜糸。これで治療完了。写真は抜糸 2 日後のもの。もう傷跡は塞がってますね。

というわけで 1/5 に受傷した左鎖骨遠位骨折は、約7ヶ月を経て、通院 14 回、入院 2 回、支払総額 282,890円 (健康保険適用・本人負担3割) で治療完了となりました。

左肩を動かすと、ちょっと皮膚が突っ張るような違和感があるけど、運動域には支障なし。違和感も時間とともに薄らいでいるので、そのうち気にならなくなりそうです。
Posted by Picasa

ラベル:

水曜日, 7月 30, 2008

Dual-stack lite broadband deployments post IPv4 exhaustion

そろそろ秒読みに入ってきた IPv4 アドレス枯渇への対応策として、新たに提案されている手法。キャリアグレード NAT の一つ。

概要
  1. ISP からは IPv6 アドレスのみを割り当てる。
  2. Home router は IPv4/IPv6 dual stack。
  3. ISP edge router と Home router の間で IPv4-IPv4 tunnel over IPv6 を張る。
  4. これにより、現在は Home router で行っているアドレス変換処理を ISP 側に持っていく。
    ISP edge router では Home router の IPv6 アドレス、Home network 上のデバイスの内部 IPv4 アドレスを用いて NAT 対応表を作成。
特徴
  • Home network は従来どおり IPv4 プライベートアドレスの使用可能で、同一キャリア内での IPv4 プライベートアドレス割り当て調整なども不要。
  • IPv4 only のレガシーデバイスがあっても Home router さえアップグレードすれば OK。
  • IPv6 と共存可能、その際 IPv6 は NAT せずに直接接続となる。
読んでいる途中で full-cone NAT with hair-pinning という単語が出てきて何かと思ったけど、NAT の分類なんですね。

full-cone NAT は「NAT 下の同一 IP アドレス/ポート番号が、通信相手のIPアドレス/ポート番号によらず同じ外部IPアドレス/ポート番号に割り当てられる」NAT、hair-pinning は「同一 NAT 下のデバイスが外側 IP アドレスで通信できる」こと。詳細は RFC3489 section 5 参照。

ところで symmetric NAT (NAT 下の同一 IP アドレス/ポート番号が、通信相手のIPアドレス/ポート番号によって異なる外部IPアドレス/ポート番号に割り当てられる)だと、複数同時接続を使うアプリケーションが動かなくなる可能性がある そうだけど、具体的にどういうケースを想定しているんだろう? 外側 IP アドレスが異なると、サーバからは異なるホストから複数接続が来ているように見えるので、アプリケーション設計によっては対応できないってことかな。

ラベル:

luabind

組込用途のスクリプト言語 Lua と C++ の間で、関数相互呼び出しを実現するためのライブラリ。

ドキュメントから抜粋。

class testclass
{
public:
testclass(const std::string& s): m_string(s) {}
void print_string() { std::cout << m_string << "\n"; }

private:
std::string m_string;
};



上記の C++ クラスを Lua から呼び出すため lua_State* L に登録するコード。

using namespace luabind;
module(L)
[
class_<testclass>("testclass")
.def(constructor<const std::string&>())
.def("print_string", &testclass::print_string)
];


ソース眺めてみたら Boost MPL を使って、バリバリのテンプレートメタプログラミングになってる。やるなぁ。ちょっとまじめに読んでみるか。

ラベル: