計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf ·...

20
Ichiro Satoh 計算モデル特論 2016年度 国立情報学研究所 所長補佐/教授 佐藤一郎 E-mail: [email protected] Ichiro Satoh 自己紹介:佐藤一郎 国立情報学研究所 所長補佐/アーキテクチャ科学研究系教授 国立大学法人総合研究大学院大学・複合科学研究科・情報学専攻・教授 政府IT総合戦略本部「パーソナルデータに関する検討会」委員/ 同検討会・技術検討ワーキング主査 専門: OSやミドルウェアなどのシステムソフトウェア 国立科学博物館(上野) NHK週間ニュース深読み ニュースゼロ(日テレ) やじうまテレビ (テレ朝)

Upload: others

Post on 01-Sep-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

1

Ichiro Satoh

計算モデル特論 2016年度

国立情報学研究所 所長補佐/教授

佐藤一郎 E-mail: [email protected]

Ichiro Satoh

自己紹介:佐藤一郎 n  国立情報学研究所 所長補佐/アーキテクチャ科学研究系教授 n  国立大学法人総合研究大学院大学・複合科学研究科・情報学専攻・教授 n  政府IT総合戦略本部「パーソナルデータに関する検討会」委員/ 同検討会・技術検討ワーキング主査 n  専門: OSやミドルウェアなどのシステムソフトウェア

国立科学博物館(上野)

NHK週間ニュース深読み

ニュースゼロ(日テレ)

やじうまテレビ (テレ朝)

Page 2: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

2

Ichiro Satoh

自己紹介 n  本来は個人情報保護法よりも、クラウドコンピューティングやIoTなどのシス

テムソフトウェアの方が近い

3

Ichiro Satoh

宣伝

国立情報学研究所/国立大学法人 総合研究大学院大学 複合科学研究科 情報学専攻 学生募集

5年一貫制博士課程

大学の学部卒業と同等以上の学力を有する者を対象とし、標準5年間で博士の学位を取得

博士後期課程

大学院修士課程修了と同等以上の学力のある者を対象とし、標準3年間で博士の学位を取得

国立情報学研究所(NII)

国立情報学研究所

Page 3: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

3

Ichiro Satoh

講義の目標

n  計算モデルを通じて計算について理解すること

n  計算に関する数学的な取り扱いに慣れること

n  計算モデルを通じて(計算)システムを捉えること

n  複雑システム(並列・分散システム、相互作用)をモデル化

n  例:クラウドコンピューティングは非同期計算モデルがベース

n  例:Google MapReduceは関数型計算モデルがベース

n  評価: レポート(数回) (たぶん一回)

Ichiro Satoh

授業資料のダウンロード

http://ichiro-satoh.jp/lectures/model/2016/

Page 4: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

4

Ichiro Satoh

計算モデル

n  計算モデルの必要性 n  世の中の情報システム(コンピュータや生物)は非常に複雑

n  例:PCの構成・仕組みは複雑

n  この情報システムがどのような原理に基づくかを知るには 数学的基盤を持つ抽象的な枠組みを導入する必要がある

情報システムの抽象的な枠組み=計算モデル

n  計算モデルを通じて「計算」及び「情報システム」という概念を明確化

Ichiro Satoh

講義内容(今年)

n  計算モデルとは

n  並列分散計算のモデル n  CCS (Calculus for Communicating Systems) n  操作意味論 n  プロセス等価性 n  π計算 n  時相論理 n  Petri-net

n  非計算システムの計算モデル

Page 5: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

5

Ichiro Satoh

講義内容(昔)

n  講義内容(予定) n  計算モデル

n  抽象機械モデル、関数型モデル、プロセス代数(プロセスカルキュラス)

n  プログラミング言語意味論 n  操作意味論、表示意味論、公理意味論

n  型理論 n  型付きラムダ計算、多相型、オブジェクト指向型

Ichiro Satoh

代表的な計算モデル

n  (逐次)計算モデル: n  抽象機械計算モデル n  関数型計算モデル n  論理型計算モデル n  項書き換え型計算モデル

n  (並列分散)計算モデル n  抽象機械計算モデル n  プロセス代数(プロセスカルキュラス) n  イベント機械モデル(ペトリネット)

Page 6: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

6

Ichiro Satoh

なぜ、並列分散計算モデルなのか

n  ここ数年は並列分散計算モデルに特化しています。 n  並列分散計算モデルとは

n  複数同時に実行されるシステム n  システム間通信

n  理由: n  Webをはじめ通信する計算システムばかり n  クラウドコンピューティングなど複数サーバによるシステム構成 n  PCやスマートフォンではマルチコアがあたりまえ n  実世界は複数の実体が同時並列に動いている

Ichiro Satoh

メニーコアプロセッサ

n  マルチコアプロセッサはあたりまえ n  CPU+GPUアーキテクチャ

n  汎用コアとGPUをリングバス結合 n  CPU+FPGA

n  汎用コアと再構成論理回路 n  ヘテロコア

Page 7: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

7

Ichiro Satoh

メニーコアプロセッサ

n  マルチコアプロセッサはあたりまえ n  Xeon Processor

E5-2600 v4(Broadwell) では22コア (2016年発表)

回路上、24コアがあるが・・

Ichiro Satoh

スケールアップよりスケールアウト

n  スケールアップ n  少数の高性能コンピュータ

n  スケールアウト

n  多数の低性能コンピュータ

n  経験則:

n  1万台サーバのデータセンタは、1千台のデータセンタより、 規模当たりのコストは5〜7倍安い

Page 8: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

8

Ichiro Satoh

計算システムの変遷

n  逐次型計算システム(1950年) n  マルチタスク計算システム(1970年) n  クライアントサーバ計算システム(1990年) n  Webベース計算システム(2000年) n  クラウドコンピューティング(2008年) n  Rack Scale Architecture (2015年)

インターネット

膨大なサーバ群

クラウドコンピューティング

ここ数年で計算システムは大きく変わっている (いまはポストクラウドを考えるべきフェーズ)

Ichiro Satoh

Googleのデータセンター

Page 9: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

9

Ichiro Satoh

大規模計算センター

n  データセンターは「規模の経済」 (2010年ぐらいの推定値)

中規模(1000台クラス) 大規模(5万台クラス) 倍率

通信コスト(1Mbpsの通信回線あたり)

月額95ドル 月額13ドル 7.1倍

ストレージコスト(1GBの容量あたり)

月額2.2ドル 月額0.40ドル 5.7倍

管理コスト(一管理者による管理台数)

140台 1000台以上 7.1倍

10万台から100万台のサーバ

n 多数のサーバ n 従量制(Pay-per-use) n 事実上、無限大の計算リソース n バックアップや運用はインフラ任せ

Ichiro Satoh

減価償却期間とクラウドコンピューティング n  クラウドコンピューティング向けのデータセンターの設備更新期間

n  3年間  (海外大手クラウド事業者 n  5年間  (国内クラウド事業者)

n  設備更新期間が短いことの影響 n  先端技術の導入速度が早まる n  減価償却期間を短くするために高収益化

n  収益が低いクラウド事業者は設備更新が遅れるために、更新期間が早い事業者に性能的にも収益的にも勝てない

n  最新システムの方が計算性能が高く&消費電力が低いことが前提

Page 10: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

10

Ichiro Satoh

大規模データセンターと計算モデル

n  大規模データセンタでは何らかの抽象化や計算モデルが必要 n  サーバ数が多くて、詳細に把握できなくなる n  計算モデルを通じて、分散システムの複雑性を抽象化・隠蔽

n  例: n  MapReduce (by Google)

n  Web検索用収集データのインデクシング処理 n  関数型計算モデルを利用した分散処理

n  可換(Commutative)処理による並列処理 n  複数データセンター間のデータ一貫性コストを削減 n  計算モデル(λ計算など)の合流可能性を導入

Ichiro Satoh

MapReduceとは

n  関数型計算モデルに基づく、分散データ処理手法 n  Map: 対象データを処理用Key-Value形式に変換 n  Reduce: 処理結果を集約 n  Shuffle: Map処理が出力した中間ファイルをReducer処理の

構造に変換

User Program

Worker

Worker

Master

Worker

Worker

Worker

fork fork fork

assign map assign

reduce

read local write

remote read, sort

Output File 0

Output File 1

write

Split 0 Split 1 Split 2

Input Data

Page 11: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

11

Ichiro Satoh

MapReduce (Hadoop)の処理

JobTracker

TaskTracker

Mapper program

TaskTracker

Mapper program

TaskTracker

Mapper program

Mapper program

Local storage

Distributed File System (HDFS)

Local storage

Local storage

JobTracker

TaskTracker

Reducer program

TaskTracker

Reducer program

TaskTracker

Reducer program

Reducer program

Local storage

Distributed File System (HDFS)

Local storage

Local storage

データの分割・配置に応じて、 プログラムを配置・実行 Step 1.

Mapperフェーズ

Step 2. Reducerフェーズ

Ichiro Satoh

Map in Lisp (Scheme)

n  (map f list [list2 list3 …])

n  (map square ‘(1 2 3 4)) n  (1 4 9 16)

n  (reduce + ‘(1 4 9 16)) n  (+ 16 (+ 9 (+ 4 1) ) ) n  30

n  (reduce + (map square (map – l1 l2))))

Unary operator

Binary operator

Page 12: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

12

Ichiro Satoh

いまどきの計算

n  超大規模な分散コンピューティングシステムがあたりまえ n  多数のコンピュータで分散処理 n  計算よりも問題分割が重要

n  プロセッサはマルチコア以上があたりまえ n  並列計算機の方が普通 n  力業的な計算でもなんとかなる

n  高速処理が必要かつ専用処理ではFPGA n  一部処理をソフトウェアではなく、FPGAで処理して高速化

n  ネットワーク接続はあたりまえ n  計算よりも通信

n  低消費電力 n  消費電力当たりの性能

n  授業では分散システムのための計算モデルを中心にして扱う

Ichiro Satoh

並列・分散データ処理

n  構成

M

P

S

Interconnection

M

P

S

M

P

S

M

P

S

Interconnection

M

P

S

M

P

S

P

S

Interconnection

M

P P

S

Shared nothing (MapReduce/Hadoop)

Shared storage (e.g., Oracle Exadata)

Shared memory (e.g., Multi-core PC)

M P S Processor Memory Storage

Page 13: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

13

Ichiro Satoh

ムーアの法則の限界

n  ムーアの法則:18ヶ月(24ヶ月)で半導体の集積度は2倍に上がる n  最近、Intelは36ヶ月と正式表明(2016年3月)

n  14nm未満の半導体プロセスでは経済的な限界を迎える n  14nm対応の半導体工場の建設費は? n  設備償却に必要な月産枚数は? n  国内メーカで、ヒットしたスマフォの生産量は?

n  20nm以下ではプロセスを微細化しても消費電力は下がらない n  計算量当たりの消費電力は下がらない

Ichiro Satoh

ムーアの法則が限界を迎えると

n  「いまは遅くても、将来はコンピュータの性能があがるから、大丈夫」 というエクスキューズは通用しない

n  遅いソフトウェアは遅いまま n  ソフトウェア側で工夫して、性能をあげないといけない時代

n  企業の情報システム更新、個人のPC買換の動機は、新しいコンピュータは現用システムやPCよりも性能がよいということが前提

n  既存システムを少しでも長く使うことに注力することとなる n  PCメーカやSI事業者のビジネスはどうなるのか?

Page 14: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

14

Ichiro Satoh

計算モデルの必要性

n  計算機のハードウェア n  複雑すぎて扱えない

n  CやPascalなどで書かれたプログラム n  数学的な厳密さを持つとは限らない

n  プログラムを入力から出力を得るものとする n  例:数学的な関数 n  ただし、実際に入力を与えても、その答え(出力)が導けるとは限

らない

Ichiro Satoh

講義の目標

n  各種の計算モデルについて学ぶこと n  計算の数学的な取り扱いに慣れること n  計算モデルを通じて計算という概念を理解すること n  ものの原理を見抜くセンスを養うこと

Page 15: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

15

Ichiro Satoh

履修者への質問

n  講義内容とレベルは履修者の背景知識と関心により決める

n  履修者の背景知識に関する質問 n  集合または代数論の講義の履修(有/無) n  オートマトンの講義の履修(有/無) n  一階述語論理の講義の履修(有/無) n  計算モデルに関する講義の履修(有/無)

Ichiro Satoh

計算モデルとは

国立情報学研究所

佐藤一郎 E-mail: [email protected]

Page 16: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

16

Ichiro Satoh

計算モデル

n  計算モデルの必要性 n  世の中の情報処理システムは非常に複雑 n  この情報処理システムがどのような原理に基づくかを知るには数学

的基盤を持つ抽象的な枠組みを導入する必要がある。

n  情報処理システムの抽象的な枠組み=計算モデル

n  計算モデルを通じて「計算」という概念を明確化する

Ichiro Satoh

「計算」とは

n  「計算」とは、 n ある「アルゴリズム」に基づいて、ある基本的な手順を実行し目的とする結果を得る作業

n  しかし、実際の情報処理システムは複雑であり、本来の基本原理である「計算」が不明確

n  数学的な裏付けをもつ抽象的な枠組み(=計算モデル)を導入し、 n  記号の書き換えとして計算を再現する

Page 17: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

17

Ichiro Satoh

アルゴリズムとは

n  「アルゴリズム」とは n  計算手順のこと。基本的な実行単位をどのような順序で実行す

るかを示したもの。 n  客観的で、実行可能な方法。 n  アルゴリズムを特定の計算機で実行できるように表現したもの=

「プログラム」

Ichiro Satoh

計算の量

n  どうやって計算の量を測るのか? n  ある人に計算させてその時間を測る(方法1) n  特定の作業、手順に着目してその実行回数を数える(方法2)

n  計算量 n  時間計算量(time complexity)

n  特定の作業の実行回数を数えたもの。

n  領域計算量(space complexity) n  記憶領域の消費量の目安。単位としてビット、ワード、バイト、

レジスタなどをきめて、その消費量を示す。 n  先の例では、変数の数など。

Page 18: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

18

Ichiro Satoh

計算モデルの必要性

n  計算機のハードウェア n  複雑すぎて扱えない

n  CやPascalなどで書かれたプログラム n  数学的な厳密さを持つとは限らない

n  プログラムを入力から出力を得るものとする n  例:数学的な関数 n  ただし、実際に入力を与えても、その答え(出力)が導けるとは限らない

Ichiro Satoh

代表的な計算モデル

n  (逐次)計算モデル: n  抽象機械計算モデル n  関数型計算モデル n  論理型計算モデル n  項書き換え型計算モデル

n  (並列分散)計算モデル n  抽象機械計算モデル n  プロセス代数(プロセスカルキュラス) n  イベント機械モデル(ペトリネット)

Page 19: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

19

Ichiro Satoh

自然現象と計算

n  自然現象を計算として捉える n  既存手法ではえられない知見をえることがある

n  自然現象を計算機として捉える n  一般のコンピュータよりも高性能なこともある。

n  例:DNAコンピューティング

n  自然現象が計算システムのヒントになることがある 宇宙はコンピューターだ──と言われてもピンとこないかもしれません。でも本当なんですよ。プログラムは「物理法則」。計算しているのは「自らの構造」。かの天才・ホーキングが自説を修正したように,何でも吸い込むブラックホールでさえ,ちゃんと計算結果を出力しているのです

Ichiro Satoh

例:DNA計算(DNA computing)

n  ���Leonard Adleman (1994) n  分子生物学的な実験手法による有向ハミルトン経路問題の解法を発

表 n  経路問題をDNAの塩基配列として表現 n  分子化学的操作のみによって変化(計算), n  大量の分子が並列的に化学反応をおきる →超並列性

Page 20: 計算モデル特論 - ichiro-satoh.jpichiro-satoh.jp/lectures/model/2016/introduction.pdf · 複雑システム(並列・分散システム、相互作用)をモデル化 例:クラウドコンピューティングは非同期計算モデルがベース

20

Ichiro Satoh

例:Ambient Calculus

n  細胞(膜)の変異を表す計算モデル

n  構文

n  公理

n  推論