SlideShare a Scribd company logo
monoai, Kengo Nakajima 2020
Twitter: @ringo
GitHub: https://github.com/kengonakajima
自宅で仕事。これまでの10年、これからの10年
~安くなってきたGPUインスタンスをParsecで活用しよう~
~2010年 ソフトウェア開発会社
東京にてオンラインゲームと
オンラインゲーム用のミドルウェアを
開発していた。子供はまだいなかった。
2011年 本を書く
• 「オンラインゲームを支える技術」執筆
• 東京に住んでいた。東京<>東京のリモート作業
• Pagesで書いてDropBoxで共有
• ビデオ会議と電話会議は無し
• 仕上げのときに2回編集部に行った
• 長男が産まれた
2013年 富山に引っ越す
2013年 PSVITA用ゲームを作る
• Airship Q
• 長女と次男が産まれた
• 自分以外の開発メンバーは全員東京
• パブリッシャーも東京
• Skype
• GitHubを使い始めた
• ROM納品はネット経由でできた。
• AWS東京が2011年
2015年 クラウドゲーム開発
• シンラテクノロジー
• 開発メンバーはモントリオールと東京
• 英語のビデオ会議、Skypeの音質と時差に苦しむ
• Slack, GitHub, TravisCI
• クラウドゲーム用のGPUサーバーは物理購入
• AWSを併用
2017年 monoai(旧モノビット)参加
• ゲーム用の通信ライブラリ モノビットエンジン
• 社内用の各種ツールのデザイン
• 開発チームは東京・神戸のオフィス
• Chatwork, Zoom, GitHub, GitLab, VPN
• 自分だけが在宅リモートだったが、コロナ後は全員が在宅リモートに。
• AWSだけでなくAzureやGoogleクラウドも使う
• 次女が産まれた
自宅仕事の最大のハードル
• 子供の世話と両立する必要がある
• 4,7,9,11歳
• ワンオペの日もある
• 書斎や据え置きPCは現実的ではない
• ノートPCを持って家の中をうろうろ
• 電子レンジの上の隙間は安全
開発メインマシンはMac, Windowsで確認
• 通信ミドルウェア開発
• Linux, Win,Mac,iOS,Android,ゲーム機向けのC++/C#/JavaScriptコード
• Mac/Linuxで完了したらWinで動作確認
• Unity, UEでの確認作業
• Windows利用を最小限にしている
クラウド以前
• MacBookとWindowsPCをRemote DesktopとかSynergyでつなぐ
• 2台以上のPCを使うと、家の中モバイルがつらい
クラウド時代
• 2016年ごろから、クラウドにGPUマシンが利用可能に。
• 試した > かなり使えるやん。でもあまり快適じゃない。。
Parsec : すごく軽くて速くてきれいなRDP
RemoteDesktop
AWS EC2
インスタンス
Azure VM
Parsec
操作の入力
映像出力
操作の入力
映像出力
TCP 3389
UDP 8000~
RDPとParsecの比較
Parsec RDP
GUI操作の消費帯域 1Mbps以下 1Mbps以下
ゲーム画面の消費
帯域
10~25Mbps 50~150Mbps
遅延
ネットワーク
+10~15ms
100ms以上、
ストールもある
GUI操作の画質 OK 損失ほぼなし
ゲーム画面の画質 非常によい ぐだぐだ
CPU消費 非常に少ない 通信が多いと重い
便利さ 素晴らしい 普通
Parsec は何が違うのか
• ゲーム専用にチューニングされた独自の映像・音声コーデック
• クラウドゲーム専用に書かれた遅延の小さいUDPスタック
• セキュリティ : DTLS / SHA-256 最新のTLS1.3よりは弱い可能性があるが、
RDPはTLSの多分1.2かな? 署名ファイルとか細かく設定する機能はない。
• クラウドインフラ側で接続元の制限をすればOK
Parsecはセットアップがすごい
https://github.com/jamesstringerparsec/Parsec-Cloud-Preparation-Tool
注: Win10サーバは未検証
• Parsecデモ on Azure NV6
GPUインスタンスのコスト感
GPU FFベンチ 1時間費用
Azure NV6 M60 5000~ 200円~
AWS g3 M60 未調査 80円~
AWS g2 GRID K520 2000~ 80円~
Google T100,P4,T4.. 未調査 複雑
さくら高火力 P40,P100,.. 未調査 未調査
コスパ比較は
複雑なので注意。
メモリとかストレージとか
条件がさまざま
GPUクラウドの現在
AI向けのGPUだけでなく、
3DCG向けのGPUを安く提供するクラウドが
出現しているので、今後楽しみ。
2080が1時間30円ぐらいならかなり良い
fluidstackのサイト
プロセッサ性能の今後
http://www.clivemaxfield.com/area51/do-not-delete/pam-0001-emb-nca-01-lg.jpg
メモリ帯域幅
https://www.karlrupp.net/2013/06/cpu-gpu-and-mic-hardware-characteristics-over-time/
消費電力あたり性能
https://www.karlrupp.net/2013/06/cpu-gpu-and-mic-hardware-characteristics-over-time/

More Related Content

What's hot

Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannelNode.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
mganeko
 
バグ自動修正ツールって本当に使えるの? ~自動デバッグ技術の現状と課題~
バグ自動修正ツールって本当に使えるの? ~自動デバッグ技術の現状と課題~バグ自動修正ツールって本当に使えるの? ~自動デバッグ技術の現状と課題~
バグ自動修正ツールって本当に使えるの? ~自動デバッグ技術の現状と課題~
Susumu Tokumoto
 
Wireshark入門(4)
Wireshark入門(4)Wireshark入門(4)
Wireshark入門(4)
彰 村地
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
KLab Inc. / Tech
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
 
lsh p-stable
lsh p-stablelsh p-stable
lsh p-stableJAVA DM
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
Tomoki SHISHIKURA
 
スマホ(Android・iPhone)でWebRTC
スマホ(Android・iPhone)でWebRTCスマホ(Android・iPhone)でWebRTC
スマホ(Android・iPhone)でWebRTC
Natsuki Yamanaka
 
進化するArt
進化するArt進化するArt
進化するArt
Takuya Matsunaga
 
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
Naoya Kaneko
 
Unityプロファイラについて
UnityプロファイラについてUnityプロファイラについて
Unityプロファイラについて
Mio Ku-tani
 
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPSGUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
ARC SYSTEM WORKS
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化についてAimingStudy
 
開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話
Ito Takayuki
 
PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法
智啓 出川
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
 
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
法林浩之
 
Tq gq semana_07
Tq gq semana_07Tq gq semana_07
Tq gq semana_07
Elc Projetista
 
DDoS対処の戦術と戦略
DDoS対処の戦術と戦略DDoS対処の戦術と戦略
DDoS対処の戦術と戦略
Tomohiro Nakashima
 

What's hot (20)

Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannelNode.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
 
バグ自動修正ツールって本当に使えるの? ~自動デバッグ技術の現状と課題~
バグ自動修正ツールって本当に使えるの? ~自動デバッグ技術の現状と課題~バグ自動修正ツールって本当に使えるの? ~自動デバッグ技術の現状と課題~
バグ自動修正ツールって本当に使えるの? ~自動デバッグ技術の現状と課題~
 
Wireshark入門(4)
Wireshark入門(4)Wireshark入門(4)
Wireshark入門(4)
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
 
lsh p-stable
lsh p-stablelsh p-stable
lsh p-stable
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
 
スマホ(Android・iPhone)でWebRTC
スマホ(Android・iPhone)でWebRTCスマホ(Android・iPhone)でWebRTC
スマホ(Android・iPhone)でWebRTC
 
進化するArt
進化するArt進化するArt
進化するArt
 
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
 
Unityプロファイラについて
UnityプロファイラについてUnityプロファイラについて
Unityプロファイラについて
 
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPSGUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化について
 
開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話
 
PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
 
Tq gq semana_07
Tq gq semana_07Tq gq semana_07
Tq gq semana_07
 
DDoS対処の戦術と戦略
DDoS対処の戦術と戦略DDoS対処の戦術と戦略
DDoS対処の戦術と戦略
 

Similar to 自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。

Pythonを始めよう
Pythonを始めようPythonを始めよう
Pythonを始めよう
shouta yoshikai
 
Nutanixログほいほい作ってみた.pdf
Nutanixログほいほい作ってみた.pdfNutanixログほいほい作ってみた.pdf
Nutanixログほいほい作ってみた.pdf
satorukondou
 
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことアジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことArata Fujimura
 
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
Meyco U
 
Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編
NAKAOKU Takahiro
 
C++でiOSアプリ
C++でiOSアプリC++でiOSアプリ
C++でiOSアプリ
5mingame2
 
Html5fun@東京 Bootstrapにアニメーションを付けよう
Html5fun@東京 Bootstrapにアニメーションを付けようHtml5fun@東京 Bootstrapにアニメーションを付けよう
Html5fun@東京 Bootstrapにアニメーションを付けよう
Masayuki Abe
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!
Yuka Tokuyama
 
2017823 pythonを始めよう
2017823 pythonを始めよう2017823 pythonを始めよう
2017823 pythonを始めよう
shouta yoshikai
 
UnityでつくるVRアプリ 〜VRの作法とVRTK〜
UnityでつくるVRアプリ 〜VRの作法とVRTK〜UnityでつくるVRアプリ 〜VRの作法とVRTK〜
UnityでつくるVRアプリ 〜VRの作法とVRTK〜
Hiromichi Yamada
 
Cmujp21_node-webkit
Cmujp21_node-webkitCmujp21_node-webkit
Cmujp21_node-webkit
Sugawara Ryousuke
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
 
はじめてのIoTプログラミング IchigoJam x sakura.io 体験
はじめてのIoTプログラミング IchigoJam x sakura.io 体験はじめてのIoTプログラミング IchigoJam x sakura.io 体験
はじめてのIoTプログラミング IchigoJam x sakura.io 体験
Taisuke Fukuno
 
2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット
Fumiya Sakai
 
Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Takahiro Fujiwara
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよYohei Oda
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
Fumiya Sakai
 
第1回プログラミング大学in福岡
第1回プログラミング大学in福岡第1回プログラミング大学in福岡
第1回プログラミング大学in福岡
Ryu Yamashita
 
俺達のGoogle i:o 2014 はまだ始まったばかりだ
俺達のGoogle i:o 2014 はまだ始まったばかりだ俺達のGoogle i:o 2014 はまだ始まったばかりだ
俺達のGoogle i:o 2014 はまだ始まったばかりだ
Shinobu Okano
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
Takuya Nishimoto
 

Similar to 自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。 (20)

Pythonを始めよう
Pythonを始めようPythonを始めよう
Pythonを始めよう
 
Nutanixログほいほい作ってみた.pdf
Nutanixログほいほい作ってみた.pdfNutanixログほいほい作ってみた.pdf
Nutanixログほいほい作ってみた.pdf
 
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことアジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたこと
 
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
 
Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編
 
C++でiOSアプリ
C++でiOSアプリC++でiOSアプリ
C++でiOSアプリ
 
Html5fun@東京 Bootstrapにアニメーションを付けよう
Html5fun@東京 Bootstrapにアニメーションを付けようHtml5fun@東京 Bootstrapにアニメーションを付けよう
Html5fun@東京 Bootstrapにアニメーションを付けよう
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!
 
2017823 pythonを始めよう
2017823 pythonを始めよう2017823 pythonを始めよう
2017823 pythonを始めよう
 
UnityでつくるVRアプリ 〜VRの作法とVRTK〜
UnityでつくるVRアプリ 〜VRの作法とVRTK〜UnityでつくるVRアプリ 〜VRの作法とVRTK〜
UnityでつくるVRアプリ 〜VRの作法とVRTK〜
 
Cmujp21_node-webkit
Cmujp21_node-webkitCmujp21_node-webkit
Cmujp21_node-webkit
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
 
はじめてのIoTプログラミング IchigoJam x sakura.io 体験
はじめてのIoTプログラミング IchigoJam x sakura.io 体験はじめてのIoTプログラミング IchigoJam x sakura.io 体験
はじめてのIoTプログラミング IchigoJam x sakura.io 体験
 
2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット
 
Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
第1回プログラミング大学in福岡
第1回プログラミング大学in福岡第1回プログラミング大学in福岡
第1回プログラミング大学in福岡
 
俺達のGoogle i:o 2014 はまだ始まったばかりだ
俺達のGoogle i:o 2014 はまだ始まったばかりだ俺達のGoogle i:o 2014 はまだ始まったばかりだ
俺達のGoogle i:o 2014 はまだ始まったばかりだ
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 

自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。