Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

お化け

1,471 views

Published on

A changed something by unknown things, ghosts are invisible.

Published in: Engineering
  • Be the first to comment

お化け

  1. 1. 1 お化け kernelVM名古屋 2015/AUG/15 たけおか@AXE/たけおかラボ(株) take@takelab.com @takeoka
  2. 2. たけおか 1970年代から、並列計算&記号処理に興味あり。1977年,電卓500ステップで「#○×」を打つプログラムを書く 1980年代、UNIXの仮名漢字変換システムWnnや Temporal Prolog(時相論理Prolog)を作ったり。国産X Window端末などの設計開発に携わる。 1990年ごろ、豊橋技科大 湯淺研にて、1024PE規模の超並列計算機“SM-1”のLSIハードウェア、基本ソフト ウェアの設計開発に携わる。 1992年~ AXE; OSとコンパイラとか。 大きなものから小さなものまで… 最近は AI もやってます 実時間Linux極小Lisp ザウルスのOS デジカメのOS 湯淺研 SM-1:1024PE超並列計算機 スパコン研究の低レイヤ お化けと戯れる、最下層Lisper。自称 プロ AIプログラマ ピュアなデータフローマシンが好き ロボット用 ミドルウェア
  3. 3. お化け 1 • ARM CPU (SoC)で Linuxを動かす • メモリ・テストも通って、ハードウェアは完璧だ • と、ハードウェア担当は言う • でも、たまに… • とんでも無い場所が書き換わる • ページ属性 無視 • kernelが壊れたり • Read Onlyなページに書き込みが発生したり • Linux移植が下手なんじゃ、ゴラァ by ハードウェア担当 • ちなみに、AXEは Linux移植 担当ではない
  4. 4. お化け 1 正体  原因:  TLBミスが発生した時のメモリ・アクセスがおかしい  TLBは、アドレス変換用のキャッシュ  ARMのPage Table walkは、hardware walk – ソフトウェアが介在しない – 通常とは全く異なるのメモリ・アクセス・パターン – 高速なメモリ・アクセスが発生 • そして、読み込んだTLBが化けていた – ページ属性、実アドレスがぼろぼろ » 当然、どこでも壊れる orz 合掌 – よくある話。基板づくりに慣れたと思っていたら、ハマる  X86, ARM以外のメジャーCPUは、ほとんどがsoftware walk – 普通のCPUは、TLBミス・ルーチンで、ほのぼのソフトウェア処理
  5. 5. お化け 1 正体  CPUの(狭義の)コアからの論理アドレスは、TLBで変換  TLBは、アドレス変換用のキャッシュ  TLB内に、変換対象の論理アドレスが無い → TLBミス  TLBミスで、激しくページ・テーブルをアクセス  ARMは、ページ・テーブルが2段階構成 CPU コア (狭義のコア) 論理 アドレス 論理 アドレス 実アドレス 属性 TLB 物理 アドレス メインメモリ ページ テーブル MMU ハードウェア (マイクロ・コード) TLBミス ソフトウェア介在無しで 激しいメモリ・アクセス 広義のCPUコア
  6. 6. お化け 2  パリティ、ECC  ソフト・エラー対策  宇宙線とか、パッケージから出るα線で、電子が飛ばされる  DRAMは、電荷=電子を、コンデンサに溜めて記憶  今のDRAMなんか化けないよ、と思ってると…  あたしは、1983年ごろ、16k bit DRAM(今より、はるかに、記憶に使用 する電荷が多い) で、2MBytes ぐらいメモリを実装した機械 パリティ付 きで、 パリティ・エラーに何度か会ったよ  そして、システムは停止し、編集中のバッファはセーブできず… 合掌  パリティ・エラーを検出しても、回復できないから…  ECCは欲しい  でも、2bit化けは、直せない  Ethernet は、CRCチェックをしているが…  CRCチェックを通るが、TCP/IPでチェックサム・エラーなパケットもある
  7. 7. お化け 2 ECCは欲しい でも、メモリに付けてるだけじゃ、ダメなんだ  CPU中のレジスタ/ラッチにもECCがあっても… データパス、加算回路にも、パリティ・チェックぐらい付けないと… 演算回路の中で、データが化ける  ソフト・エラーは、ハードウェアの異常では無いので、再現されない  ソフト・エラーが検出できないと… 計算結果が、まったく信用できない ビル、橋、ハイエンドCPU設計など、すごくお金の掛かるものの設計に、そ んなもの使えない
  8. 8. お化け 3 某ハイエンド・サーバ、某メジャーRISCを採用 最新のハイエンド・サーバなのに、妙に性能が出ない  某ワークステーション、同じCPU採用  起動後、すぐにシステムがおかしくなって使えない…
  9. 9. お化け 3 正体        お化けの正体が見えないのは、妖怪のせいだよ (時流に乗ってみました…)
  10. 10. お化け 3 結果 自粛 (一応、時効と思われるのですが…)
  11. 11. オチ無し アルバイト募集中(全国的に) 名古屋,京都にて正社員も、若干名、募集中 AI (ルールに基づくやつ)づくり,機械学習つかい OS,Hypervisor,コンパイラづくり CPUシミュレータづくり

×