SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
新しい分散実行の仕組み
PROCESS WARPについて
伊藤 祐司
2015/8/15 Creators MeetUp #31
子供の頃のコンピュータ像
MATRIXの世界
Ironmanの凄いユーザインタフェース
攻殻機動隊の電脳空間
サマーウォーズのOZ
今のコンピュータとなんか違う
reynermedia @ flickr より https://www.flickr.com/photos/89228431@N06/
もっと何かあるじゃろ?
分散コンピューティング
インターネット, SETI@home, BOINC, Googleの中(多分)
並列コンピューティング
スパコン, グリッドコンピューティング, Hadoop, Spark
分散エージェント(特許の関係で下火になったらしい)
セカイカメラ, セカンドライフ, Minecraft
Oculus, HoloLens
近いような遠いような…
何が違うのだろう?
計算能力を持つ端末の境界を意識する必要がない
クライアント・サーバの区別はなく端末全部で1つ
の空間
動作中のアプリケーションが空間に「ある」
上記の仕組みがインフラとして誰でも使える
作ろう!
PROCESS WARP
端末の境界を意識せずCPU, メモリを共有する
プロセスのライブマイグレーション
分散共有メモリ
上記機能を実現するための仮想マシン
PROCESS WARP
分散実行のインフラ・プラットフォーム化
特定の処理に特化しない汎用処理系
LLVM-IRを読み込んで実行 → C/C++, Python, 他
→ 実装言語はそのまま, 実行環境が変わる
PROCESS WARP
CPU, メモリ以外のホストマシンの機能を利用
ホストマシンのAPIを呼び出す機能(FFI)
スマートフォンから位置情報を取得
PC画面に表示する
使ってみる
現在オンラインで公開しているものと
versionが違います(devel-threadブランチ)
同一プロセスのスレッドが異なるマシンで動作
タイミングによってクラッシュ
アプリケーションが終了できない
準備
アカウントを作る
https://prev.processwarp.org/
ネイティブクライアントをコンパイル
http://www.processwarp.org/docs/2015/06/20/ja-required_install.html
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/processwarp/
processwarp/master/install/darwin.sh)"
プログラムをコンパイル
$ CPLUS_INCLUDE_PATH=<コンパイル場所>/include/libc clang++ -O2 -emit-
llvm -c -fno-exceptions -fno-vectorize <C++プログラム>
$ llvm-dis <C++プログラム>.bc
サンプルプログラム
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
char* ret = "a";
static void *thread_func(void *vptr_args) {
int i;
for (i = 0; i < 20000; i++) {
printf(" b [%d]n", i);
}
return (void*)ret;
}
int main(void) {
int i;
pthread_t thread;
void* retval;
if (pthread_create(&thread, NULL,
thread_func, NULL)
!= 0) {
return EXIT_FAILURE;
}
for (i = 0; i < 10000; i++) {
printf("a [%d]n", i);
}
if (pthread_join(thread, &retval) != 0) {
return EXIT_FAILURE;
}
printf("ret %016llx %16llxn",
(unsigned long long)ret,
(unsigned long long)retval);
return EXIT_SUCCESS;
}
制限事項
C/C++のみ(C++の例外は使えない) LLVM 3.5
CUIのみ(かなり頑張るとOpenGLはうごく)
APIは少し
特にファイルアクセスや通信はチョット…
Windowsは試していない, スマートフォンはブラウザからのみ
色々足りていない (m´・ω・`)m ゴメン…
役に立つわけ?
中央サーバ(ハードウェア)が死んでもサービスは継続
Wikipediaの計算資源を利用者みんなで負担
個人の計算資源の相互利用
年間PC 2~3億台, スマートフォン12億台, サーバ1000万台出荷
Wikipeiaは1000台
通信回線の節約
サーバまでのホップ数の低減 = バックボーンの負荷低減
まとめ
世界はかなり変わる!
PROCESS WARPについて
Webサイト
http://www.processwarp.org/
https://prev.processwarp.org/
GitHub
https://github.com/
processwarp
MITライセンス
自己紹介
伊藤 祐司
低レイヤー(C/C++, OS, API/ABI, 高速化)
バックエンド(Ruby, Java, SQL, フレームワーク作成)
アルゴリズム(テキストマイニング, 解析, GA, AI)
GitHub llamerada-jp
facebook ito.yuuji
blog http://llamerad-jp.hatenablog.com/
資料
PC出荷台数とか
Gartner Says Worldwide PC Shipments Declined 5.2 Percent in First Quarter of
2015 http://www.gartner.com/newsroom/id/3026217
Samsung Reasserts Its Global Lead in Smartphone Shipments with a Renewed
Focus on Lower-Cost Smartphones in the First Quarter of 2015, Says IDC http://
www.idc.com/getdoc.jsp?containerId=prUS25589215
Gartner Says 2013 Worldwide Server Market Grew 2.1 Percent in Shipments, While
Revenue Decreased 4.5 Percent for the Year http://www.gartner.com/newsroom/id/
2671315
サーバ台数とか
Wikimedia Grid Report http://ganglia.wikimedia.org/latest/
以上
ありがとうございました

Weitere ähnliche Inhalte

Andere mochten auch

StartUp Sass + Compass [基本と活用]
StartUp Sass + Compass [基本と活用]StartUp Sass + Compass [基本と活用]
StartUp Sass + Compass [基本と活用]
Komei Otake
 
セキュリティはじめのいっぽ #cmujp
セキュリティはじめのいっぽ #cmujpセキュリティはじめのいっぽ #cmujp
セキュリティはじめのいっぽ #cmujp
tama200x Kobayashi
 
Google devtools活用術
Google devtools活用術Google devtools活用術
Google devtools活用術
Yuki Tanaka
 
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれからクラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
Shohei Kobayashi
 

Andere mochten auch (20)

Презентация ICL
Презентация ICLПрезентация ICL
Презентация ICL
 
Recture 〜復習しやすい授業記録アプリ〜
Recture 〜復習しやすい授業記録アプリ〜Recture 〜復習しやすい授業記録アプリ〜
Recture 〜復習しやすい授業記録アプリ〜
 
Use open data with sparql
Use open data with sparqlUse open data with sparql
Use open data with sparql
 
はじめてでもわかる!IoTの過去・現在・未来 (特にホームネットワーク)
はじめてでもわかる!IoTの過去・現在・未来 (特にホームネットワーク)はじめてでもわかる!IoTの過去・現在・未来 (特にホームネットワーク)
はじめてでもわかる!IoTの過去・現在・未来 (特にホームネットワーク)
 
MIRU2016 invited talk - Recovering Transparent Shape from Time-of-Flight Dist...
MIRU2016 invited talk - Recovering Transparent Shape from Time-of-Flight Dist...MIRU2016 invited talk - Recovering Transparent Shape from Time-of-Flight Dist...
MIRU2016 invited talk - Recovering Transparent Shape from Time-of-Flight Dist...
 
StartUp Sass + Compass [基本と活用]
StartUp Sass + Compass [基本と活用]StartUp Sass + Compass [基本と活用]
StartUp Sass + Compass [基本と活用]
 
20151017 Creators Meetup33 私をとりまく、とあるInternet of Thingsの話 (ただしThingsはウォンバット)
20151017 Creators Meetup33 私をとりまく、とあるInternet of Thingsの話 (ただしThingsはウォンバット)20151017 Creators Meetup33 私をとりまく、とあるInternet of Thingsの話 (ただしThingsはウォンバット)
20151017 Creators Meetup33 私をとりまく、とあるInternet of Thingsの話 (ただしThingsはウォンバット)
 
20141220 CreatorsMeetup23
20141220 CreatorsMeetup2320141220 CreatorsMeetup23
20141220 CreatorsMeetup23
 
20140920 CreatorsMeetup20
20140920 CreatorsMeetup2020140920 CreatorsMeetup20
20140920 CreatorsMeetup20
 
セキュリティはじめのいっぽ #cmujp
セキュリティはじめのいっぽ #cmujpセキュリティはじめのいっぽ #cmujp
セキュリティはじめのいっぽ #cmujp
 
エビを飼ってABテストした話
エビを飼ってABテストした話エビを飼ってABテストした話
エビを飼ってABテストした話
 
アイデアは技術!磁石で繋がる積み木『Yeda』ができるまで
アイデアは技術!磁石で繋がる積み木『Yeda』ができるまでアイデアは技術!磁石で繋がる積み木『Yeda』ができるまで
アイデアは技術!磁石で繋がる積み木『Yeda』ができるまで
 
20141115 CreatorsMeetup22
20141115 CreatorsMeetup2220141115 CreatorsMeetup22
20141115 CreatorsMeetup22
 
NodeREDでブロック的なビジュアルプログラミングに あれこれ思いを馳せてみる
NodeREDでブロック的なビジュアルプログラミングに あれこれ思いを馳せてみるNodeREDでブロック的なビジュアルプログラミングに あれこれ思いを馳せてみる
NodeREDでブロック的なビジュアルプログラミングに あれこれ思いを馳せてみる
 
第1回concrete5初心者向け勉強会 環境構築
第1回concrete5初心者向け勉強会 環境構築 第1回concrete5初心者向け勉強会 環境構築
第1回concrete5初心者向け勉強会 環境構築
 
昔の恋の話をしよう。CrescentEve - 2人のエディタの物語
昔の恋の話をしよう。CrescentEve - 2人のエディタの物語昔の恋の話をしよう。CrescentEve - 2人のエディタの物語
昔の恋の話をしよう。CrescentEve - 2人のエディタの物語
 
タスクの分別 フロー&ストック!
タスクの分別 フロー&ストック!タスクの分別 フロー&ストック!
タスクの分別 フロー&ストック!
 
Nana cmujp
Nana cmujpNana cmujp
Nana cmujp
 
Google devtools活用術
Google devtools活用術Google devtools活用術
Google devtools活用術
 
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれからクラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
 

Ähnlich wie 新しい分散実行の仕組み PROCESS WARPについて

ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係
gipwest
 
【ITソリューション塾・第29期】クラウド・コンピューティングとソフトウエア化するインフラ
【ITソリューション塾・第29期】クラウド・コンピューティングとソフトウエア化するインフラ【ITソリューション塾・第29期】クラウド・コンピューティングとソフトウエア化するインフラ
【ITソリューション塾・第29期】クラウド・コンピューティングとソフトウエア化するインフラ
Masanori Saito
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
Hirotaka Kawata
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
 
【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...
【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...
【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...
Developers Summit
 

Ähnlich wie 新しい分散実行の仕組み PROCESS WARPについて (20)

情報産業の最新技術動向
情報産業の最新技術動向情報産業の最新技術動向
情報産業の最新技術動向
 
ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係
 
情報産業の最新技術動向2016
情報産業の最新技術動向2016情報産業の最新技術動向2016
情報産業の最新技術動向2016
 
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
 
Spatial Mappingの設定が気になる
Spatial Mappingの設定が気になるSpatial Mappingの設定が気になる
Spatial Mappingの設定が気になる
 
What's TMCN?
What's TMCN?What's TMCN?
What's TMCN?
 
【ITソリューション塾・第29期】クラウド・コンピューティングとソフトウエア化するインフラ
【ITソリューション塾・第29期】クラウド・コンピューティングとソフトウエア化するインフラ【ITソリューション塾・第29期】クラウド・コンピューティングとソフトウエア化するインフラ
【ITソリューション塾・第29期】クラウド・コンピューティングとソフトウエア化するインフラ
 
2017 0824 io tlt勉強会_掲載用
2017 0824 io tlt勉強会_掲載用2017 0824 io tlt勉強会_掲載用
2017 0824 io tlt勉強会_掲載用
 
2016 0629 IoTLT勉強会
2016 0629 IoTLT勉強会2016 0629 IoTLT勉強会
2016 0629 IoTLT勉強会
 
人工知能と未来
人工知能と未来人工知能と未来
人工知能と未来
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
 
【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...
【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...
【19-D-6】あなたを30分で IoT ready なエンジニアにします! ~IoT プラットフォーム ThingWorx, AR(拡張現実)向けプラッ...
 
Jazug信州 クラウドとデータ解析
Jazug信州  クラウドとデータ解析Jazug信州  クラウドとデータ解析
Jazug信州 クラウドとデータ解析
 
Azureでデータ解析
Azureでデータ解析Azureでデータ解析
Azureでデータ解析
 
2016 0422 io tlt勉強会
2016 0422 io tlt勉強会2016 0422 io tlt勉強会
2016 0422 io tlt勉強会
 
2016 0531 iotlt勉強会資料
2016 0531 iotlt勉強会資料2016 0531 iotlt勉強会資料
2016 0531 iotlt勉強会資料
 
Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1Ma8 Caravan 大阪 rev1
Ma8 Caravan 大阪 rev1
 
Dat002 ディープラーニン
Dat002 ディープラーニンDat002 ディープラーニン
Dat002 ディープラーニン
 
2016 0914 iotlt勉強会_レーザー加工機のすすめ
2016 0914 iotlt勉強会_レーザー加工機のすすめ2016 0914 iotlt勉強会_レーザー加工機のすすめ
2016 0914 iotlt勉強会_レーザー加工機のすすめ
 

Mehr von 祐司 伊藤 (7)

Container Storage Interface のすべて
Container Storage Interface のすべてContainer Storage Interface のすべて
Container Storage Interface のすべて
 
C/C++とWebAssemblyを利用したライブラリ開発
C/C++とWebAssemblyを利用したライブラリ開発C/C++とWebAssemblyを利用したライブラリ開発
C/C++とWebAssemblyを利用したライブラリ開発
 
C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用するC++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する
 
詳説WebAssembly
詳説WebAssembly詳説WebAssembly
詳説WebAssembly
 
シンプル Processing !
シンプル Processing !シンプル Processing !
シンプル Processing !
 
PROCESS WARP
PROCESS WARPPROCESS WARP
PROCESS WARP
 
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
 

新しい分散実行の仕組み PROCESS WARPについて