Firebox WSC 2020 From USENIX FAST 2014
Firebox WSC 2020のUSENIX FAST 2014の講演
FireBox: A Hardware Building Block for 2020 Warehouse-Scale Computers | USENIX
コンピュータアーキテクチャの研究って、局所的に研究するのかと思っていたらここまで幅広く研究するのかと感心したのでメモ。
大まかに言って、以下の7つがポイントかな
- プログラムの生産性 (=>サービス指向アーキテクチャへ)
- 最遅延応答 (=>耐障害性の概念の変化、とはいえレイテンシには課題あり)
- メモリ階層 (=>フラッシュメモリが入る)
- セキュリティ (=>データの暗号化、どこで暗号化するか)
- スケールする技術の革新 (=>メッセージキューイングへ)
- オープンソースハードウェア (=>ハードウェア設計言語の革新)
- WSCの3世代
- 話の概要
- 本屋(BookStore)をSiloで構成した場合と、SOAで構成した場合(7ページと8ページ)
- サービス指向アーキテクチャ(SOA)
- ソフトウェアは、すべてサービス指向で作られるべきである。
- データは、抽象化されるべきである。(メソッドでのみアクセス)
- ネットワークでのみ通信する。
- アプリケーションは、相互操作可能であるべきである。
- 内部APIを使わない。
- ソフトウェア開発プロジェクトの大小と開発方法
- 大規模プロジェクトになると失敗する確率が上がる。
- 大規模プロジェクトは、サービス指向アーキテクチャおよび多数の小さいサービスにより構成すべきである。
- CEO:Amazon shall use SOA!(2002)
- 耐障害性の考え方の変遷
- かつては、耐障害性を、コモでティで実現することが重要であった。
- 近年は、応答遅延も障害に含まれるようになった。このため、応答時間も制御できる必要がある。
- WSCの価格性能比目標
- 従来は、性能と平均消費電力において高い価格性能比を実現すること。
- 新しくは、上記の制限に加えて、Tail Toleranceを考慮して、価格性能比を実現すること
- Tail Toleranceを実現する技術
- ソフトウェア技術
- コンポーネント種類の削減
- さまざまな処理への対応
- ハードウェア技術
- 早いパケット処理技術
- パケット処理技術のオーバヘッド削減
- 各資源が分割可能(BW, cores, caches, memories)
- https://www.usenix.org/sites/default/files/conference/protected-files/fast14_asanovic.pdf#page=13
- ソフトウェア技術
- メモリ階層
- 従来は、メモリ、HDD、テープだった。
- 現在は、メモリ、フラッシュ、HDDとなり、テープは無くなった。
- 不揮発メモリ(NVM)
- 新しいメモリの行方(16ページから19ページ)
- セキュリティ
- 従来は、WSC内での暗号化は不要であった。
- 現在は、WSC内での脅威対策で暗号化は不可欠となりつつある。
- ムーアの法則
- WSCのハードウェア設計
- かつては、安い商用チップでくみ上げる。
- これからは、SOAや応答性能を考慮に入れたカスタムシステムをくみ上げる。
- 2020年に、カスタムチップは何故必要なのか
- トランジスタの革新は無くなり、その上の改善による革新しかない。
- 100億円で、WSCをくみ上げる必要がある。
- 良いニュース:CAD技術の革新が遅くなり回収期間が長くなる。そして、ツールが安価になる。
- 新しいハードウェア設計言語が始まっている。これにより、設計の低価格化が促進されている
- ARMとx86?
- 実際的な違いは、実装品質とチップ設計の自由度の違いの2点である。
- 単に、Intelの競合として祭り上げているだけなのかもしれない。
- 命令セット(ISA)とは?
- Berkeley RISC-V ISA
- 完全に新しく作った命令セット
- 基本命令セットは、40の整数演算しかないが、ソフトウェアツールはそろっている。
- 拡張命令セットでは、浮動小数点演算等もそろっている。
- 8つの実装がすでにある。(64bit)
- オープンソースとWSC
- Fireboxの概要
- Fireboxの特徴
- 光スイッチ
- ソケット間通信
- [古い常識]共有メモリは、大規模サーバでのプログラミングを簡単化した。
- [新しい常識]メッセージパッシングは、大規模サーバでのプログラミングを簡単化する。
- メッセージパッシングは、この議論での勝者である。(MPI, RPC, RDMA, TCP/IP)
- Fireboxの10の問いかけ
- Testbed(DIABLO1)のスケール(39ページと40ページ)
- SIGCOMMでの平均規模よりサーバ数で2桁、スイッチ数で一桁上の規模
- DIABLOでの(memcachedを用いた)レイテンシー(41ページから43ページ)
- Fireboxの結論
- Fireboxは、2020のWSCサーバである。
- 学術研究では、Fireboxはかなり野心的である。共同研究機関を募集中