半導体のパフォーマンスとエッジコンピューティング(イベントレポート)
2020/01/23 @ AWS ML LoftにキャディのCTO小橋(通称アキ)が登壇したのでレポートを書きました!!
私はキャディでエンジニア採用を担当してる柿澤と申します。非エンジニアですがその視点でテック系の記事を書いていこうと思っています。
気になるお題と目次は、、、
駆け出しエンジニアの筆者はここで昇天済み
自己紹介
皆様、小橋(あき)をご存知でしょうか?
キャディは「やめマッキンゼー」の加藤が作った会社みたいになってます(事実)が、リンゴの会社にいた小橋が作った会社でもあるんです。
なので、「やめApple」の小橋が作ったと覚えてくれるとうれしいです。
アメリカ育ち
軍事企業で衛星データ解析して
りんごの会社で有名なもの色々作って、、、、
要するに敵は遙か化け物!
半導体の進化
2010年あたりからトランジスタの増加によってもパフォーマンスが上がらない、ムーアの法則の話からスタート。この辺はいける!!と思ったらこの後ほぼわからなかった、、、
詰まるところ、半導体のパフォーマンスは熱と電力の問題。 如何にこれらを抑えるかです。
節電テクニック
●Power gating
部分的に電力をオフにすることで電力消費と蓄熱を止める。
例えば、スマホのカメラとかはそういう仕組みになっているそうです。カメラは電池をやたら食うので常にオンになっているとかなり熱くなると。
これについては、Fedスイッチで制御するのがよくありますね。はい。(汗
ただし、スリープから立ち上がるまでに時間とエネルギーかかる
そのため、マイコンもなるべくまとめて処理して定電力モードになるようになっている、便利!
これはモバイル系でもよく使われるテクニックです。覚えておきましょう!
●Duty Cycling
これは、照明の明るさ調整がよい例です。
明るさ調整は実は細かくオンオフしまくっているって知ってましたか?
カメラ越しに見るとやたらにチカチカするのは Duty Cyclingなので、
それをみたら「これ Duty Cyclingで節電して半導体のパフォーマンスあげてるんやで(ドヤ」って言ってください。
●Clock Gating
クロック・ゲーティングは、データの変化がないレジスタのクロックを止めて、クロックネットワークの消費電力とそれに繋がったレジスタとゲートの消費電力を削減する手法です。
データ変化ない時はクロック止めます。
クロックって何だと思いますよね?私も思い、調べましたが、、、
https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF
次に行きましょう。
●Frequency scaling
周波数スケーリングは、プロセッサを含むシステムのパフォーマンスを向上させるために、プロセッサの周波数を上げる技術です。
この表からわかるようにパフォーマンスは25MHzよりも8MHzのほうが高いこともあります。
計算してみると以下の通り。
25MHz / 7.2mA = 3.47MHz/mA
8MHz / 2mA = 4MHz/mA
単純にHz高ければよいわけではないよ、ということのみ理解しました!
Edge computing
エッジコンピューティングは、コンピューティングとデータストレージを必要な場所に近づけて、レスポンスタイムを改善し、帯域幅を節約する分散コンピューティングの一種で、IoTとかでは必須な仕組みですね。
OverClockすると、指数関数的に電気食ってしまいます!
つまり、放熱しまくるので窒素とか冷却がとにかく必要になります。
なので、Edgeでは平均と目の前のバランスが必要!
・処理が終わったらなるべく低電力モードに切り替える
・プロセッサーの周波数は電力パフォーマンスに寄せる
・I/O block中はなるべく低電力モードに(CPU周波数上げる意味が無い)
・wake up costが許容できるくらい低ければ、duty cycleする
・可能な限りhardware offload (例: AES-NI)
機械学習専用半導体
GPUでも出来ますが、専用半導体・FPGAの方が大体電力の効率は良い
半導体が最近はやりですね。(流行ってたのか、)
GoogleはTPU (tensor processing unit)
AWSさんはInferentiaをローンチ
AppleはApple Neural Engine (Bionic A12X)
その他色々出てきています!
まとめ
At the edge, hardware is king
というわけで低レイヤーというか半導体レイヤーに関する弊社CTO小橋の解説でした!!
今後もこのようなマニアックなレイヤーの解説をしていきますのでお楽しみに!
※ちなみにですが、当該ナレッジは弊社CTOの個人的な見識であり、キャディではIoT関係の事業をやっているわけではありません。
キャディではエンジニア積極採用中!
●キャディの様子こんな金属加工品作ってます!
エンジニアの様子:毎日楽しく波動拳してます。草
●少しでも興味ある方はぜひ2月7日のキャディバーというミートアップへお越しください!
https://caddi.connpass.com/event/165113/
●キャディのテックスタック
事業特性上、要件が複雑なので、堅牢なシステムにするために、Rust、C++17、Kubernetesなどを採用しています。
結果として、かなり攻めたモダンなテクノロジーを採用しているし、テクノロジーにも常に先行投資していきたいと思っています。
●キャディのビジネスとテックで何を解決しているかの説明資料はこちら!
https://speakerdeck.com/caddi_eng/kiyadeifalseshi-ye-wozhi-ru
https://speakerdeck.com/caddi_eng/kiyadeifalseji-shu-wozhi-ru-a7dcbfdf-e640-43f8-9749-e2e9ab5d0b5b
この記事が気に入ったらサポートをしてみませんか?