SlideShare a Scribd company logo
1 of 23
Cache-Aware Splitkernel
キャッシュを考慮したスプリットカーネル
情報科学科4年 加藤研究室 05-171018 高橋 昂良
背景
従来のデータセンタの問題
アプリケーションに適した形でのハードウェアの構成が困難
一度ハードウェアを構成すると変更が困難
既存のシステムによる新規に導入するハードウェアの性能制限
Facebook. Wedge 100: More open and versa- tile than ever. https://code.fb.com/networking-traffic/ wedge-100-more-open-and-versatile-than-ever/
ハードウェアの相性の問題など
ハードウェア資源をコンポーネント化した分散OS(スプリットカーネル)
コンポーネント
• pComponent (プロセッサ)
• mComponent (メインメモリ)
• sComponent (ストレージ)
利点
• ハードウェアの構成の柔軟性
• 故障部位のアイソレーション
• ハードウェアの新規導入が容易
LegoOS
Yizhou et al. , “LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation”, OSDI, 2018.
ノード
(計算機)
OS
ノード
(計算機)
OS
ノード
(計算機)
OS
OS
従来の分散OS LegoOS
sComponent
pComponent
mComponent
ネットワークスイッチ
メモリ用
コンポーネント
(計算機)
ストレージ用
コンポーネント
(計算機)
プロセッサ用
コンポーネント
(計算機)
ネットワークスイッチ
スプリットカーネルの問題点
ハードウェアの分散化による性能劣化
sComponent
pComponent
mComponent
メモリ用
コンポーネント
(計算機)
ストレージ用
コンポーネント
(計算機)
プロセッサ用
コンポーネント
(計算機)
ネットワークスイッチ
データを要求
従来のOS LegoOS
同一計算機内で
高速な通信
スプリットカーネルの問題点
ハードウェアの分散化による性能劣化
sComponent
pComponent
mComponent
メモリ用
コンポーネント
(計算機)
ストレージ用
コンポーネント
(計算機)
プロセッサ用
コンポーネント
(計算機)
ネットワークスイッチ
データを要求
データをストレージに要求
従来のOS LegoOS
同一計算機内で
高速な通信
スプリットカーネルの問題点
ハードウェアの分散化による性能劣化
sComponent
pComponent
mComponent
メモリ用
コンポーネント
(計算機)
ストレージ用
コンポーネント
(計算機)
プロセッサ用
コンポーネント
(計算機)
ネットワークスイッチ
ストレージからメモリへデータを転送
データを要求
データをストレージに要求
従来のOS LegoOS
同一計算機内で
高速な通信
スプリットカーネルの問題点
ハードウェアの分散化による性能劣化
sComponent
pComponent
mComponent
メモリ用
コンポーネント
(計算機)
ストレージ用
コンポーネント
(計算機)
プロセッサ用
コンポーネント
(計算機)
データをプロセッサに転送
ネットワークスイッチ
ストレージからメモリへデータを転送
データを要求
データをストレージに要求
通信コストの増大
従来のOS LegoOS
同一計算機内で
高速な通信
ExCache
pComponent内に存在する通信コスト削減のためのメモリ
2-way ExCache
メモリ
セット
セット
セット
1ラインのフェッチ
(既存手法) 4KB
4KB
4KB
4KB
4KB
4KB
プロセッサ
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
InfiniBand
ExCache
pComponent内に存在する通信コスト削減のためのメモリ
2-way ExCache
メモリ
セット
セット
セット
1ラインのフェッチ
(既存手法) 4KB
4KB
4KB
4KB
4KB
4KB
プロセッサ
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
InfiniBand
ExCache
pComponent内に存在する通信コスト削減のためのメモリ
2-way ExCache
メモリ
セット
セット
セット
1ラインのフェッチ
(既存手法) 4KB
4KB
4KB
4KB
4KB
4KB
プロセッサ
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
InfiniBand
ExCache
pComponent内に存在する通信コスト削減のためのメモリ
2-way ExCache
メモリ
セット
セット
セット
1ラインのフェッチ
(既存手法) 4KB
4KB
4KB
4KB
4KB
4KB
プロセッサ
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
InfiniBand
非効率
提案 : ExCacheへのプリフェッチ機構の導入
バックグラウンドで連続するラインをプリフェッチ
テキスト領域はプリフェッチの対象から除外
テキスト領域は連続的局所性を持たずプリフェッチの効果が薄いため
2-way ExCacheにおいて2ライン分プリフェッチする様子
2-way ExCache
メモリ
セット
セット
セット
バックグラウンド
でのプリフェッチ
(本研究での提案)
4KB
4KB
4KB
4KB
4KB
4KB
プロセッサ
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
InfiniBand
1ラインのフェッチ
(既存手法)
0x0000:
0x0fff
0x1000:
0x1fff
0x2000:
0x2fff
0x0000:
0x0fff
2-way ExCacheのプリフェッチの動作例
pComponent
(プロセッサ用の計算機)
プロセッサ
ExCache
mComponent
(メモリ用の計算機)
0x0000:
0x0fff
0x1000:
0x1fff
0x2000:
0x2fff
0x0000:
0x0fff
2-way ExCacheのプリフェッチの動作例
プロセッサ
ExCache
データの参照
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
2-way ExCacheのプリフェッチの動作例
プロセッサ
ExCache
データが存在しない
データの参照
1
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
0x0000:
0x0fff
0x1000:
0x1fff
0x2000:
0x2fff
0x0000:
0x0fff
2-way ExCacheのプリフェッチの動作例
プロセッサ
ExCache
データが存在しない
データの要求
データの参照
1
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
0x0000:
0x0fff
0x1000:
0x1fff
0x2000:
0x2fff
0x0000:
0x0fff
2-way ExCacheのプリフェッチの動作例
プロセッサ
ExCache
データの参照
データの要求
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
データが存在しない
4KBのフェッチ
0x0000:
0x0fff
0x1000:
0x1fff
0x2000:
0x2fff
0x0000:
0x0fff
隣接する8KBのプリフェッチ
(本研究で実装)
2-way ExCacheのプリフェッチの動作例
プロセッサ
ExCache
データの参照
データの要求
4KBのフェッチ
データの利用
pComponent
(プロセッサ用の計算機)
mComponent
(メモリ用の計算機)
データが存在しない
0x0000:
0x0fff
0x1000:
0x1fff
0x2000:
0x2fff
0x0000:
0x0fff
0x1000:
0x1fff
0x2000:
0x2fff
0x0000:
0x0fff
隣接する8KBのプリフェッチ
(本研究で実装)
実装
ExCacheの動作を模倣するエミュレータを実装
LegoOSを十分に模倣可能なパラメータを設定
InfiniBandによる通信遅延の考慮等
Linux上でC言語による実装
実験プログラムの実行に必要な疑似命令セットを実装
LegoOS
ExCacheのフェッチ 30 us
1命令の処理時間(1ステップ) 0.4167ns
約72000倍
フェッチ時に
エミュレータ上で
72000ステップ分の
遅延を挿入
時間スケールを合わせるため
Yizhou et al. , “LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation”, OSDI, 2018.
評価
連続的なメモリアクセスを行うマイクロベンチマーク
512 * 512ピクセルの画像のRGBデータに対するアクセス
TensorFlowを想定
擬似命令セット上のアセンブリで実装
指標
ExCacheのサイズ(512MBと1MB)
テキスト領域のプリフェッチの有無
環境
CPU: Intel Core i7-6700K 4.00GHz (4 cores / 8 threads)
メモリ: 16GB (DDR4 SDRAM)
OS: Ubuntu 16.04 LTS(Linuxカーネル: 4.4.0)
約9%
テキスト領域に対するプリフェッチ有
プリフェッチするライン数
700
680
660
640
実行時間(ms)
約9%
テキスト領域に対するプリフェッチ無
プリフェッチするライン数
700
680
660
640
実行時間(ms)
512MBのExCacheサイズにおける評価結果
プログラムサイズよりもキャッシュサイズが大きいときは性能が改善
※プリフェッチするライン数が0の場合はLegoOSと同様(プリフェッチ無)
約10%
性能低下
1100
1000
700
900
800
実行時間(ms)
プリフェッチするライン数
約12%
性能維持
950
900
850
800
750
700
実行時間(ms)
プリフェッチするライン数
1MBのExCacheサイズにおける評価結果
プログラムサイズよりもキャッシュサイズが小さいときは性能が低下
テキスト領域に対するプリフェッチ無テキスト領域に対するプリフェッチ有
※プリフェッチするライン数が0の場合はLegoOSと同様(プリフェッチ無)
まとめ
キャッシュを考慮したスプリットカーネルの提案
ExCacheにプリフェッチ機構を導入
テキスト領域はプリフェッチ対象から除外
エミュレーションによる評価結果
約9%〜12%の実行時間の短縮
テキスト領域をプリフェッチ対象外とすることで性能維持
今後の課題
LegoOS上での検証
• 時間的にも機材的にも今回はできなかったため
• 本来のExCache特有の問題を明確化
プリフェッチアルゴリズムの改良
テキスト領域以外の連続的局所性を持たないデータへの適用

More Related Content

What's hot

分散システム第7章(前半)
分散システム第7章(前半)分散システム第7章(前半)
分散システム第7章(前半)Kenta Hattori
 
NAS-FPN:Learning Scalable Feature Pyramid Architecture for Object Detection
NAS-FPN:Learning Scalable Feature Pyramid Architecture for Object DetectionNAS-FPN:Learning Scalable Feature Pyramid Architecture for Object Detection
NAS-FPN:Learning Scalable Feature Pyramid Architecture for Object Detectionharmonylab
 
輪講_Awamoto_20170601
輪講_Awamoto_20170601輪講_Awamoto_20170601
輪講_Awamoto_20170601pflab
 
2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)Takahiro Shinagawa
 
Eucalyptus infra technology
Eucalyptus infra technologyEucalyptus infra technology
Eucalyptus infra technologyEtsuji Nakai
 
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要Etsuji Nakai
 
Kazumasa Sakiyama Bachelor Thesis
Kazumasa Sakiyama Bachelor ThesisKazumasa Sakiyama Bachelor Thesis
Kazumasa Sakiyama Bachelor Thesispflab
 
CloudStack Day 2015 Storage Teck Talk
CloudStack Day 2015 Storage Teck TalkCloudStack Day 2015 Storage Teck Talk
CloudStack Day 2015 Storage Teck TalkMidori Oge
 
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
10年効く分散ファイルシステム技術 GlusterFS & Red Hat StorageEtsuji Nakai
 
分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介OSSラボ株式会社
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS Virtualized Infrastructure Operators group ARCHIVES
 
ニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめKazuhide Okamura
 
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月VirtualTech Japan Inc.
 
ceph acceleration and storage architecture
ceph acceleration and storage architectureceph acceleration and storage architecture
ceph acceleration and storage architectureYuki Kitajima
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 

What's hot (20)

分散システム第7章(前半)
分散システム第7章(前半)分散システム第7章(前半)
分散システム第7章(前半)
 
NAS-FPN:Learning Scalable Feature Pyramid Architecture for Object Detection
NAS-FPN:Learning Scalable Feature Pyramid Architecture for Object DetectionNAS-FPN:Learning Scalable Feature Pyramid Architecture for Object Detection
NAS-FPN:Learning Scalable Feature Pyramid Architecture for Object Detection
 
輪講_Awamoto_20170601
輪講_Awamoto_20170601輪講_Awamoto_20170601
輪講_Awamoto_20170601
 
2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)
 
Eucalyptus infra technology
Eucalyptus infra technologyEucalyptus infra technology
Eucalyptus infra technology
 
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
 
Kazumasa Sakiyama Bachelor Thesis
Kazumasa Sakiyama Bachelor ThesisKazumasa Sakiyama Bachelor Thesis
Kazumasa Sakiyama Bachelor Thesis
 
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
 
CloudStack Day 2015 Storage Teck Talk
CloudStack Day 2015 Storage Teck TalkCloudStack Day 2015 Storage Teck Talk
CloudStack Day 2015 Storage Teck Talk
 
Cmc cmd slim
Cmc cmd slimCmc cmd slim
Cmc cmd slim
 
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
 
分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
 
研究を加速するChainerファミリー
研究を加速するChainerファミリー研究を加速するChainerファミリー
研究を加速するChainerファミリー
 
[基調講演] DLL_RealtimeAI
[基調講演] DLL_RealtimeAI[基調講演] DLL_RealtimeAI
[基調講演] DLL_RealtimeAI
 
GlusterFS Masakari Talks
GlusterFS Masakari TalksGlusterFS Masakari Talks
GlusterFS Masakari Talks
 
ニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめ
 
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
 
ceph acceleration and storage architecture
ceph acceleration and storage architectureceph acceleration and storage architecture
ceph acceleration and storage architecture
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 

Similar to Takahashi Bachelor thesis

Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)オラクルエンジニア通信
 
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)SolarisJPNight
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2Dell TechCenter Japan
 
バックアップ勉強会資料: システムバックアップのすすめ
バックアップ勉強会資料: システムバックアップのすすめバックアップ勉強会資料: システムバックアップのすすめ
バックアップ勉強会資料: システムバックアップのすすめMKT International Inc.
 
Solaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFSSolaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFSSolarisJP
 
Linux on Power と x86 Linux との技術的な相違点
Linux on Power と x86 Linux との技術的な相違点Linux on Power と x86 Linux との技術的な相違点
Linux on Power と x86 Linux との技術的な相違点Shinichiro Arai
 
ストレージネットワーク基礎講座
ストレージネットワーク基礎講座ストレージネットワーク基礎講座
ストレージネットワーク基礎講座Brocade
 
Azure Stack 受け入れ準備_20180630
Azure Stack 受け入れ準備_20180630Azure Stack 受け入れ準備_20180630
Azure Stack 受け入れ準備_20180630Hiroshi Matsumoto
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティKuniyasu Suzaki
 
Denali ctp3 always on availability groups 概要
Denali ctp3 always on  availability groups 概要Denali ctp3 always on  availability groups 概要
Denali ctp3 always on availability groups 概要Masayuki Ozawa
 
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...Insight Technology, Inc.
 
PAN Manager 7/8 ご説明
PAN Manager 7/8 ご説明PAN Manager 7/8 ご説明
PAN Manager 7/8 ご説明ShinjiNakai
 
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu HaraD35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu HaraInsight Technology, Inc.
 
Solaris 11 ディープダイブセミナー インストール編
Solaris 11 ディープダイブセミナー インストール編Solaris 11 ディープダイブセミナー インストール編
Solaris 11 ディープダイブセミナー インストール編SolarisJP
 
20140919 enterprise oss my sql study v5.tware-bacula intro
20140919 enterprise oss my sql study   v5.tware-bacula intro20140919 enterprise oss my sql study   v5.tware-bacula intro
20140919 enterprise oss my sql study v5.tware-bacula introIzumi Akiyama
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門Daiyu Hatakeyama
 
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)Insight Technology, Inc.
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?Naoto Gohko
 

Similar to Takahashi Bachelor thesis (20)

Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
Oracle Database / Exadata Cloud 技術情報(Oracle Cloudウェビナーシリーズ: 2020年7月9日)
 
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 
バックアップ勉強会資料: システムバックアップのすすめ
バックアップ勉強会資料: システムバックアップのすすめバックアップ勉強会資料: システムバックアップのすすめ
バックアップ勉強会資料: システムバックアップのすすめ
 
Solaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFSSolaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFS
 
Linux on Power と x86 Linux との技術的な相違点
Linux on Power と x86 Linux との技術的な相違点Linux on Power と x86 Linux との技術的な相違点
Linux on Power と x86 Linux との技術的な相違点
 
ストレージネットワーク基礎講座
ストレージネットワーク基礎講座ストレージネットワーク基礎講座
ストレージネットワーク基礎講座
 
Avanceの検証レポート
Avanceの検証レポートAvanceの検証レポート
Avanceの検証レポート
 
Azure Stack 受け入れ準備_20180630
Azure Stack 受け入れ準備_20180630Azure Stack 受け入れ準備_20180630
Azure Stack 受け入れ準備_20180630
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
 
Denali ctp3 always on availability groups 概要
Denali ctp3 always on  availability groups 概要Denali ctp3 always on  availability groups 概要
Denali ctp3 always on availability groups 概要
 
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
[db tech showcase Tokyo 2015] C17:MySQL Cluster ユーザー事例紹介~JR東日本情報システム様における導入事例...
 
OpenStack 101
OpenStack 101OpenStack 101
OpenStack 101
 
PAN Manager 7/8 ご説明
PAN Manager 7/8 ご説明PAN Manager 7/8 ご説明
PAN Manager 7/8 ご説明
 
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu HaraD35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
 
Solaris 11 ディープダイブセミナー インストール編
Solaris 11 ディープダイブセミナー インストール編Solaris 11 ディープダイブセミナー インストール編
Solaris 11 ディープダイブセミナー インストール編
 
20140919 enterprise oss my sql study v5.tware-bacula intro
20140919 enterprise oss my sql study   v5.tware-bacula intro20140919 enterprise oss my sql study   v5.tware-bacula intro
20140919 enterprise oss my sql study v5.tware-bacula intro
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
 
OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?OpenStack ComputingはHyper-Convergedの夢を見るのか?
OpenStack ComputingはHyper-Convergedの夢を見るのか?
 

More from pflab

Tsuji Master Thesis
Tsuji Master ThesisTsuji Master Thesis
Tsuji Master Thesispflab
 
Taniguchi master thesis
Taniguchi master thesisTaniguchi master thesis
Taniguchi master thesispflab
 
Hirafuji Master Thesis
Hirafuji Master ThesisHirafuji Master Thesis
Hirafuji Master Thesispflab
 
Yamada bachelor thesis
Yamada bachelor thesisYamada bachelor thesis
Yamada bachelor thesispflab
 
Muramatsu Bachelor Thesis
Muramatsu Bachelor ThesisMuramatsu Bachelor Thesis
Muramatsu Bachelor Thesispflab
 
Gotanda Bachelor Thesis
Gotanda Bachelor ThesisGotanda Bachelor Thesis
Gotanda Bachelor Thesispflab
 
Tatsuya Sueki Master thesis
Tatsuya Sueki Master thesisTatsuya Sueki Master thesis
Tatsuya Sueki Master thesispflab
 
Tomoya Sato Master Thesis
Tomoya Sato Master ThesisTomoya Sato Master Thesis
Tomoya Sato Master Thesispflab
 
Miyoshi Bachelor Thesis
Miyoshi Bachelor ThesisMiyoshi Bachelor Thesis
Miyoshi Bachelor Thesispflab
 
Akihiro Sakurai Bachelor Thesis
Akihiro Sakurai Bachelor Thesis Akihiro Sakurai Bachelor Thesis
Akihiro Sakurai Bachelor Thesis pflab
 
Yuto Mochizuki bachelor thesis
Yuto Mochizuki bachelor thesisYuto Mochizuki bachelor thesis
Yuto Mochizuki bachelor thesispflab
 
Yoshio Kato Bachelor Thesis
Yoshio Kato Bachelor Thesis Yoshio Kato Bachelor Thesis
Yoshio Kato Bachelor Thesis pflab
 
Tatsuya Sueki Bachelor Thesis
Tatsuya Sueki Bachelor ThesisTatsuya Sueki Bachelor Thesis
Tatsuya Sueki Bachelor Thesispflab
 
Shusaku Taniguchi Bachelor Thesis
Shusaku Taniguchi Bachelor ThesisShusaku Taniguchi Bachelor Thesis
Shusaku Taniguchi Bachelor Thesispflab
 
Shogo Yamazaki Bachelor Thesis
Shogo Yamazaki Bachelor ThesisShogo Yamazaki Bachelor Thesis
Shogo Yamazaki Bachelor Thesispflab
 
Tomoya Sato Bachelor Thesis
Tomoya Sato Bachelor ThesisTomoya Sato Bachelor Thesis
Tomoya Sato Bachelor Thesispflab
 
Akihiro Aritoshi Bachelor Thesis
Akihiro Aritoshi Bachelor ThesisAkihiro Aritoshi Bachelor Thesis
Akihiro Aritoshi Bachelor Thesispflab
 
Shinichi Awamoto Bachelor Thesis
Shinichi Awamoto Bachelor ThesisShinichi Awamoto Bachelor Thesis
Shinichi Awamoto Bachelor Thesispflab
 
輪講_Sakiyama_20170601
輪講_Sakiyama_20170601輪講_Sakiyama_20170601
輪講_Sakiyama_20170601pflab
 

More from pflab (19)

Tsuji Master Thesis
Tsuji Master ThesisTsuji Master Thesis
Tsuji Master Thesis
 
Taniguchi master thesis
Taniguchi master thesisTaniguchi master thesis
Taniguchi master thesis
 
Hirafuji Master Thesis
Hirafuji Master ThesisHirafuji Master Thesis
Hirafuji Master Thesis
 
Yamada bachelor thesis
Yamada bachelor thesisYamada bachelor thesis
Yamada bachelor thesis
 
Muramatsu Bachelor Thesis
Muramatsu Bachelor ThesisMuramatsu Bachelor Thesis
Muramatsu Bachelor Thesis
 
Gotanda Bachelor Thesis
Gotanda Bachelor ThesisGotanda Bachelor Thesis
Gotanda Bachelor Thesis
 
Tatsuya Sueki Master thesis
Tatsuya Sueki Master thesisTatsuya Sueki Master thesis
Tatsuya Sueki Master thesis
 
Tomoya Sato Master Thesis
Tomoya Sato Master ThesisTomoya Sato Master Thesis
Tomoya Sato Master Thesis
 
Miyoshi Bachelor Thesis
Miyoshi Bachelor ThesisMiyoshi Bachelor Thesis
Miyoshi Bachelor Thesis
 
Akihiro Sakurai Bachelor Thesis
Akihiro Sakurai Bachelor Thesis Akihiro Sakurai Bachelor Thesis
Akihiro Sakurai Bachelor Thesis
 
Yuto Mochizuki bachelor thesis
Yuto Mochizuki bachelor thesisYuto Mochizuki bachelor thesis
Yuto Mochizuki bachelor thesis
 
Yoshio Kato Bachelor Thesis
Yoshio Kato Bachelor Thesis Yoshio Kato Bachelor Thesis
Yoshio Kato Bachelor Thesis
 
Tatsuya Sueki Bachelor Thesis
Tatsuya Sueki Bachelor ThesisTatsuya Sueki Bachelor Thesis
Tatsuya Sueki Bachelor Thesis
 
Shusaku Taniguchi Bachelor Thesis
Shusaku Taniguchi Bachelor ThesisShusaku Taniguchi Bachelor Thesis
Shusaku Taniguchi Bachelor Thesis
 
Shogo Yamazaki Bachelor Thesis
Shogo Yamazaki Bachelor ThesisShogo Yamazaki Bachelor Thesis
Shogo Yamazaki Bachelor Thesis
 
Tomoya Sato Bachelor Thesis
Tomoya Sato Bachelor ThesisTomoya Sato Bachelor Thesis
Tomoya Sato Bachelor Thesis
 
Akihiro Aritoshi Bachelor Thesis
Akihiro Aritoshi Bachelor ThesisAkihiro Aritoshi Bachelor Thesis
Akihiro Aritoshi Bachelor Thesis
 
Shinichi Awamoto Bachelor Thesis
Shinichi Awamoto Bachelor ThesisShinichi Awamoto Bachelor Thesis
Shinichi Awamoto Bachelor Thesis
 
輪講_Sakiyama_20170601
輪講_Sakiyama_20170601輪講_Sakiyama_20170601
輪講_Sakiyama_20170601
 

Takahashi Bachelor thesis

Editor's Notes

  1. 背景について説明します。 本研究では、データセンターに着目しました。 従来のデータセンターは、相性などの関係からハードウェア周りでの問題を抱えていると言われています。 例えば、データセンターで走る複数のアプリケーションに最適化した形でハードウェアを構成するのが難しかったり、 一度ハードウェアを構成してサーバーを構築してしまうと後からのサーバーの構成変更が難しかったりします。 また、出来上がったサーバーのシステムに新しくハードウェアを導入しようと思っても、既存の構成が邪魔をして、新しいハードウェアの性能を活かしきれないこともあります。 実際にFacebook社では、ハードウェア交換の難しさが問題として挙げられています。
  2. このようなデータセンターの問題を解決する既存の研究の一つとしてLegoOSというものがあります。 LegoOSはプロセッサなどのハードウェアをモジュール化することに焦点を当てた分散オペレーティングシステムです。 このOSでは、スプリットカーネルが使われており、ハードウェアを以下のようにモジュール化しています。 従来は、ノード内のハードウェアしか一つのまとまりとしてOSが扱うことはできませんでしたが、 LegoOSでは、別々のノードのハードウェアをOSが一つのまとまりとして扱うことができるようになりました。 これによって、次に述べるような利点が生まれました。 ハードウェアの構成に柔軟性が生まれたり、 故障部位のアイソレーションができたり、 新しいハードウェアを導入しやすくなったりしています。
  3. しかしながら、ハードウェアが分散しているため、各ハードウェアは通信してデータをやりとりする必要があります。 したがって、通信のコストが増大してしまい、従来のOSと比べると性能が劣化してしまいます。 例えば、プロセッサーとメモリが離れてしまっているので、プロセッサーが次に実行する命令を読み込む際に、 メモリを持つマシンに対してデータを要求する必要があります。 要求されたmComponentは要求されたデータを送信し、そこで初めてプロセッサが命令を実行することができます。 こうした通信のコストの増大が一つの問題として挙げられます。
  4. しかしながら、ハードウェアが分散しているため、各ハードウェアは通信してデータをやりとりする必要があります。 したがって、通信のコストが増大してしまい、従来のOSと比べると性能が劣化してしまいます。 例えば、プロセッサーとメモリが離れてしまっているので、プロセッサーが次に実行する命令を読み込む際に、 メモリを持つマシンに対してデータを要求する必要があります。 要求されたmComponentは要求されたデータを送信し、そこで初めてプロセッサが命令を実行することができます。 こうした通信のコストの増大が一つの問題として挙げられます。
  5. しかしながら、ハードウェアが分散しているため、各ハードウェアは通信してデータをやりとりする必要があります。 したがって、通信のコストが増大してしまい、従来のOSと比べると性能が劣化してしまいます。 例えば、プロセッサーとメモリが離れてしまっているので、プロセッサーが次に実行する命令を読み込む際に、 メモリを持つマシンに対してデータを要求する必要があります。 要求されたmComponentは要求されたデータを送信し、そこで初めてプロセッサが命令を実行することができます。 こうした通信のコストの増大が一つの問題として挙げられます。
  6. しかしながら、ハードウェアが分散しているため、各ハードウェアは通信してデータをやりとりする必要があります。 したがって、通信のコストが増大してしまい、従来のOSと比べると性能が劣化してしまいます。 例えば、プロセッサーとメモリが離れてしまっているので、プロセッサーが次に実行する命令を読み込む際に、 メモリを持つマシンに対してデータを要求する必要があります。 要求されたmComponentは要求されたデータを送信し、そこで初めてプロセッサが命令を実行することができます。 こうした通信のコストの増大が一つの問題として挙げられます。
  7. Linuxでのページングなど、一般に離れたところからは、ある程度まとめてデータを取ってくる方が効率的であるという考え方に基づくと、 これは非効率であると考えられます。 通信コストの問題を解決するためにpComponent内にExCacheという容量の大きいキャッシュがLegoOSでは設けられています。 各コンポーネントはInfiniBandによって接続されていますが、それでも同一マシン内のメモリに対するアクセスに比べれば速度は劣ります。 したがって、同一マシン内で扱える一時的なメモリとしてExCacheが存在します。 pComponentはデータを読み込む際にこのExCacheを参照することで、ExCacheにデータがある場合は、mComponentへの通信をする必要はありません。 また、ExCache1ラインの大きさは4KBとなっています。 LegoOSではExCacheの連想度は一般に64とされており、サイズは512MBや1GBが使われています。
  8. Linuxでのページングなど、一般に離れたところからは、ある程度まとめてデータを取ってくる方が効率的であるという考え方に基づくと、 これは非効率であると考えられます。 通信コストの問題を解決するためにpComponent内にExCacheという容量の大きいキャッシュがLegoOSでは設けられています。 各コンポーネントはInfiniBandによって接続されていますが、それでも同一マシン内のメモリに対するアクセスに比べれば速度は劣ります。 したがって、同一マシン内で扱える一時的なメモリとしてExCacheが存在します。 pComponentはデータを読み込む際にこのExCacheを参照することで、ExCacheにデータがある場合は、mComponentへの通信をする必要はありません。 また、ExCache1ラインの大きさは4KBとなっています。 LegoOSではExCacheの連想度は一般に64とされており、サイズは512MBや1GBが使われています。
  9. Linuxでのページングなど、一般に離れたところからは、ある程度まとめてデータを取ってくる方が効率的であるという考え方に基づくと、 これは非効率であると考えられます。 通信コストの問題を解決するためにpComponent内にExCacheという容量の大きいキャッシュがLegoOSでは設けられています。 各コンポーネントはInfiniBandによって接続されていますが、それでも同一マシン内のメモリに対するアクセスに比べれば速度は劣ります。 したがって、同一マシン内で扱える一時的なメモリとしてExCacheが存在します。 pComponentはデータを読み込む際にこのExCacheを参照することで、ExCacheにデータがある場合は、mComponentへの通信をする必要はありません。 また、ExCache1ラインの大きさは4KBとなっています。 LegoOSではExCacheの連想度は一般に64とされており、サイズは512MBや1GBが使われています。
  10. Linuxでのページングなど、一般に離れたところからは、ある程度まとめてデータを取ってくる方が効率的であるという考え方に基づくと、 これは非効率であると考えられます。 通信コストの問題を解決するためにpComponent内にExCacheという容量の大きいキャッシュがLegoOSでは設けられています。 各コンポーネントはInfiniBandによって接続されていますが、それでも同一マシン内のメモリに対するアクセスに比べれば速度は劣ります。 したがって、同一マシン内で扱える一時的なメモリとしてExCacheが存在します。 pComponentはデータを読み込む際にこのExCacheを参照することで、ExCacheにデータがある場合は、mComponentへの通信をする必要はありません。 また、ExCache1ラインの大きさは4KBとなっています。 LegoOSではExCacheの連想度は一般に64とされており、サイズは512MBや1GBが使われています。
  11. 本研究では、ExCacheへのプリフェッチ機構の導入を提案します。 現状のExCacheには、プリフェッチ機構が存在しません。 従来のOSでは、ページングなどでもプリフェッチ機構が存在し、それによってパフォーマンス向上がされているので、 ExCacheもプリフェッチ機構の導入によるパフォーマンス向上の余地があると考えられます。 本研究では、アドレス的に連続するラインをバックグラウンドでプリフェッチする手法について検証をしました。 また、テキスト領域に対するプリフェッチを回避することでパフォーマンスを維持しようと考えました。 これは、意味のないプリフェッチを減らすために行いました。
  12. プリフェッチの動作について説明します。
  13. プリフェッチの動作について説明します。
  14. プリフェッチの動作について説明します。
  15. プリフェッチの動作について説明します。
  16. プリフェッチの動作について説明します。
  17. プリフェッチの動作について説明します。
  18. 本来であれば、LegoOSであったり、Linux上で評価する方が確実なのですが、実装が間に合わなかったため、 ExCacheの動作を模倣するエミュレータを実装いたしました。 エミュレーションの実装についての説明をします。 実装はC言語を用いて行いました。 実装を簡易的なものにするために整数型の配列を用いて、メモリとExCacheを表現しました。 また、データアクセスに対するプリフェッチの評価をとるために、疑似的な命令セットを用意しました。 したがって、エミュレータは、メモリにセットされている命令を読んで簡単な実験用のプログラムを実行することができます。 プリフェッチの実装としては、本来フェッチされるExCacheのキャッシュラインに加えて、連続しているアドレスの部分のラインをバックグラウンドでプリフェッチするアルゴリズムを実装しました。 図は、仮に2wayのExCacheにおいて2ライン分プリフェッチする場合のイメージです。 Linuxでやった理由などをワンクッション挟む形でスライドを一つ作る(できれば) Linux上でのアプリケーションによるエミュレーション C言語による実装 メモリとExCacheの簡易な表現 疑似的な命令セットによる簡易的な実験用プログラムの実行が可能 プリフェッチ バックグラウンドスレッドを用いて、連続するアドレスのラインをフェッチしてくるような実装 InfiniBandの高速な通信はLinux上で行われる通信よりも高速で再現が困難 LinuxはLegoOSよりも規模が大きく、パラメータの制御が困難
  19. 評価についての説明をします。 プリフェッチによって高速化されるメモリのパターンは連続的なアクセスであると考えられます。 データセンターのアプリケーションでは、画像を用いた機械学習などが挙げられ、このようなアプリケーションでは連続的なデータへのアクセスが存在します。 したがって、本研究の評価では512*512の画像データを格納するに足りる領域に対して連続的にアクセスするような簡易的なプログラムを作成し用いました。 また、評価はExCacheに余裕がある場合とない場合に分けて行いました。 連続的なメモリアクセスをするマイクロベンチマーク 512 * 512の画像に対するアクセス TensorFlowで画像を用いたネットワークのトレーニングを想定 擬似命令セット上のアセンブリで実装 指標 ExCacheのサイズ(512MBと1MB) テキスト領域のプリフェッチの有無 環境 CPU: Intel Core i7-6700K 4.00GHz (4 cores / 8 threads) メモリ: 16GB (DDR4 SDRAM) OS: Ubuntu 16.04 LTS Linuxカーネル: 4.4.0 GCC: version 7.30
  20. 512MBの結果であること プログラムサイズよりもキャッシュサイズが大きいこと 余裕がある場合にはテキスト領域のプリフェッチの有無にかかわらずパフォーマンスが向上したこと 具体的にはどちらもエミュレータ上での実行時間が約9%短縮されていること
  21. 1MBの結果であること プログラムサイズは3MBであること プログラムサイズよりもキャッシュサイズが小さいこと 余裕がない場合には、テキスト領域のプリフェッチがあるときはパフォーマンスの低下が見られたこと しかし、テキスト領域のプリフェッチをなくすとパフォーマンスが低下することはなく、最大で約12%の実行時間の短縮が見られたこと テキスト領域のプリフェッチがある場合も、実行時間の短縮という意味では性能が低下する直前では最大で約10%の短縮が見られたこと
  22. 具体的には、LegoOS上では、RDMAがExCacheのフェッチに用いられており RDMAはハードウェアによって制御されるもので、OSはその状況を知ることはできないこと。 そのため、プリフェッチなどでRDMAのリクエストを発行すると、可能性の一つとして大量のリクエストでネットワークの帯域を圧迫することも考えられること。 そうしたプリフェッチを導入することによる影響をよりクリアにするために、LegoOS上での検証が必要だと考えていること