XSIG 2018: 2ND CROSS-DISCIPLINARY WORKSHOP ON COMPUTING SYSTEMS, INFRASTRUCTURES, AND PROGRAMMING
PROGRAM FOR TUESDAY, MAY 29TH
Days:
previous day
next day
all days

View: session overviewtalk overview

09:30-11:00 Session 4: Invited Talk A
Location: Hitotsubashi Hall
09:30
TBD
SPEAKER: 正憲 楠
11:00-12:30Lunch Break
12:30-14:10 Session 5A: Young Researcher Session: Database
Location: Hitotsubashi Hall
12:30
エッジ環境向け分散 key-value ストアと明示的データ分散管理手法
SPEAKER: unknown

ABSTRACT. 本研究は,エッジコンピューティングのための分散 key-value ストアプラットフォームを提案する. 本プラットフォームは各地のエッジサーバ群に配置したデータベースを協調させることで, 共有の名前空間を持つ key-value ストア型の分散データベースを構築する. エッジ環境において低遅延なサービスを実現するため,各レコードをどのエッジサーバーに配置・キャッシュするかが重要である. 本プラットフォームでは, 開発者が明示的なデータ分散管理をアプリケーションに応じて記述するための二つの手法を提供する. 最初の手法は, データ登録・更新をトリガとして実行されるフック関数を用いた手法であり, データ配置や関連データの加工を手続き的に記述することができる. 加えて,データ構造をあらわすスキーマ上に宣言的指示を加えることで, 関連エッジへのデータキャッシュを実現する手法も導入した. 両手法とも,レコードがエッジ間を移動することを考慮した手法であり, モバイル機器間のメッセージサービスの実現事例を紹介する. 指定テーブル上のイベントを即座にユーザに告知するために,WebSocket を併用した pub/sub システムも作成した.

12:50
Kafkaを利用したリアルタイム動画像解析フレームワークのレプリケーションによる性能変化の考察
SPEAKER: unknown

ABSTRACT. 近年各種センサの普及やクラウドコンピューティング技術の習熟に伴い,お年寄りや子供のための安全サービスなどを目的としたライフログが活用されている.しかし,動画像解析のようなデータ量,計算量の多い処理をクラウドでリアルタイムに行うことは困難である. 我々は,Kafka とSpark Streaming を用いた,複数カメラからの動画像収集とその解析処理を効率よく行う動画像解析フレームワークを構築している.本稿では,データ収集を行うKafka のレプリケーションの設定による性能の変化に注目し,提案フレームワークのスループットを計測した.実験から,レプリケーション数を増やすことによりネットワークの輻輳が起き,データ転送のスループットが低下し,システム全体のスループットが低下することがわかった.また,ネットワーク帯域を十分に増やすことにより性能劣化を軽減でき,レプリケーション数を増やした場合にもWorker の処理能力に応じたスループットで解析処理できることが確認できた.

13:10
ML系言語とストリーミングデータベースの統合
SPEAKER: unknown

ABSTRACT. 本論文は,ML系言語SML#でストリーミン グデータベースに接続し,ストリームデータを扱うための機構を提案する.ML系言語であるSML#はSQLによって操作されるデータベースとのシームレスな統合を果たしている.しかし,これまでのSML#では,ストリームデータを扱うデータベースへの接続ができなかった.本論文では,ストリーミングデータベースシステムを提供する PipelineDBを用いて,SML#コ ンパイラにPipelineDBに関する機能を追加し,実際にストリームデータを扱えることを確認する.

13:30
Host Managed方式SMR型磁気ディスクドライブの性能エミュレーション環境の構築と入出力トレースを用いた予備実験
SPEAKER: unknown

ABSTRACT. 磁気ディスクドライブはデータを保存する手段として中心的役割を担い, 多くのコンピュータで永続的な情報記憶装置として用いられてきた. その役割の重要性から磁気ディスクドライブに対する記録容量増加の需要は現在に至るまでとどまることなく, 継続的に記録容量は増加してきた. 現在記録密度の上昇を牽引すると期待されている技術がSMR(瓦書き磁気記録)であり注目を集めている. SMRは記録方式を変更することによって記録密度の向上を図る技術であるが, その記録方式がもたらす影響の確認はいまだ十分に行われていない. 本論文では, Host Managed方式のSMR型磁気ディスクドライブについてエミュレータを用いて著者が構築した性能試験環境を示し, さらに入出力トレースを用いた磁気ディスクドライブの基本性能特性の試験結果を報告する.

13:50
耐ビザンチン障害性を持つ分散合意手法PBFTの調査
SPEAKER: unknown

ABSTRACT. 本研究では耐ビザンチン障害性を持つ分散合意技術PBFTの設計と実装を行い、性能評価を行う。PBFTは原理上、合意形成に多量の通信処理を必要とする。はじめに、PBFTの合意形成の手順について説明する。その後、PBFTを用いてKey-Value Storeを実装し、サーバー数の増加がスループットに与える影響を評価する。また、Ethernet ならびに InifiniBand RDMA(rsocket) を用いた場合の性能比較を行う。

12:30-14:10 Session 5B: Young Researcher Session: HW & SW Systems
Location: Room 4+3
12:30
低レイテンシSSDをメモリ拡張として利用したときの性能評価
SPEAKER: unknown

ABSTRACT.  不揮発性メモリ技術の一つ,3D XPointを使ったOptane SSDが販売され始めた.一般的なNVMe SSDに比べ,1/10のレイテンシを持ち,ランダムアクセスに対しても性能が劣化しないSSDは,既存のプログラミングモデルの再考を迫っている.Intel Memory Drive Technology (IMDT)は,Optane SSDとDRAMとを統合することにより,DRAMサイズよりも大きなメモリをOSに錯覚させることができるテクノロジーである.同様のことは仮想記憶とスワップにより実現可能であると一見して思われるが,IMDTはプロプライエタリ・ソフトウェアであるため,その内部動作は未知である.  本稿では,IMDTを導入した環境,Optane SSDをスワップデバイスとして扱い仮想記憶を用いてメモリ拡張を行った環境,および同環境内に立てられた仮想マシン環境の三環境にて評価を行い,IMDTとの差異を明らかにした.マイクロベンチマークによるレイテンシ測定では,仮想マシン環境においてのみ大きなレイテンシが付与されることが判明した.クラウドサービスを模したワークロードでは,DRAMサイズの二倍の量のオブジェクトをスワップデバイスを使って保持した場合であっても,すべてをDRAM上に保持した場合と比較して性能は20\%程度しか低下しないことを明らかにした.

12:50
Locality-Awareな戦略に基づくWork Stealingの実装
SPEAKER: unknown

ABSTRACT. 近年,プロセッサ単体の性能が伸び悩むなかで,複数のプロセッサを並行に動作させることで能率向上を図る並列処理が重要視されている. 並列プログラミングのプラットフォームの 1 つであるタスク並列プログラム処理系において,タスクのスケジューリング方式として広く採用されているのが Work Stealingである. Work Stealing では,ワーカーが他のワーカーからタスクを盗むことを試みるが,その盗み先の選択方法としては,全てのワーカーから無作為に決定する Random Work Stealing が一般的である. しかし,階層的キャッシュや分散メモリといった構造を有する近年の計算機においては,そのようなランダムなワーカーからの steal は,局所性を損なうことに起因するオーバーヘッド増大を招いてしまう可能性が存在する. 本研究では,このような Random Work Stealing では考慮されない,データ局所性を考慮した新たな Work Stealing アルゴリズム,Light Expectation-Balancing Victim Selection (L-EBVS) の実装,評価を行った. L-EBVS では,ワーカーを計算ノードのキャッシュ構造によってグループに分け,各グループ 内のThief の数に基づいて,グループ内外における steal の確率を動的に変化させる. マイクロベンチマークを用いての評価の結果,L-EBVS によって実行時間を 10~15% 程度削減することができた.

13:10
Java PathFinderによるMLプログラムの捕捉されない例外の検証
SPEAKER: unknown

ABSTRACT. 本論文では,MLプログラムをJavaプログラムへ変換することを通じて, Java PathFinder(JPF)を用いて, MLプログラムが捕捉されない例外を投げないことを検証する方式を提案する. JPFは,Javaプログラムを入力として受け取るモデル検査器であり, プログラムが捕捉されない例外を投げる可能性を検証することができる. 提案する方式では, 検証対象のMLプログラムを, 例外を検証するためのMLサブセット言語のプログラムに縮小し, Javaに変換し, JPFに入力することで, MLプログラムの検証を行う. この方式を実現するために, 本論文では,MLサブセットおよびそのサブセットからJavaへの変換を定義する. さらに,具体例を通じて,提案する方式が実現可能であることを示す.

13:30
高位合成で生成されたプロセッサに対する特殊命令実装の検討
SPEAKER: unknown

ABSTRACT. ソフトウェアの処理手順などの知的財産権や技術的ノウハウの保護は重要な課題であり,その手法の1つとして処理の一部のハードウェア化がある.本研究では,高位合成により命令セットシミュレータから生成されたソフトプロセッサに対し,秘匿対象のソフトウェアの一部の関数を特殊命令として組入れることを提案する.その初期検討として,本稿では CHStone ベンチマークを題材に,特殊命令化する関数の引数を渡す方法について比較・検討し,評価した.AES の3つの関数を特殊命令化した場合では,直接ポインタを渡す方法よりも一時変数を経由する方法の方が,ハードウェア使用量のオーバーヘッドは 73.6% 小さかった.

13:50
LL(*)文法に基づくスキャナレス構文解析器の提案
SPEAKER: unknown

ABSTRACT. 多種多様な文法に基づく高速な文字列処理を目的として、新たな文脈自由文法クラスLL(*)-S、およびそれに基づくトップダウン型のパーサジェネレータ実装を提案する。 LL(*)-S文法は、Parrらによって提唱され、パーサジェネレータANTLR 3として実装された、LL(*)文法からスキャナの介在を取り除き、スキャナレスとした新たな文法クラスとして定義される。 スキャナレス化によって、LL(*)-S文法は文字レベルの繊細な制御を必要とする複雑な文法を高速に解析する用途に対して高い適性を得たと考えられる。 条件を限定した実験では、LL(*)-S文法に基づいたパーサジェネレータはPEG文法に基づいたパーサコンビネータよりも高速であり、JSON専用のパーサに匹敵する性能を示した。

12:30-14:10 Session 5C: Young Researcher Session: GPU & Learning
Location: Room 2+1
12:30
GPGPUプログラム最適化のためのプログラム合成器とその適用手法
SPEAKER: unknown

ABSTRACT. 近年,プログラムの最適化にプログラム合成を利用する手法が注目されている.その一つにGPGPUプログラミングを対象としたものがある.しかし,既存研究の合成器はスレッドごとの逐次実行モデルを採用しているため,バリア同期や共有メモリを用いるような最適化を扱うことができない.また,プログラム合成を実用的なプログラムに単純に適用すると,合成時間が非常に長くなる問題がある.そこで我々はロックステップ実行に基づくプログラム合成器Kani-CUDAを設計,作成し,共有メモリを用いた最適化を行う際の合成時間を大幅に削減するプログラム合成の適用手法を提案した.応用例として,熱拡散ステンシル計算プログラムに対する共有メモリ最適化行う際に,配列の添え字計算式やバリア同期命令の配置を合成でき,合成時間を10分の1ほどに削減した.

12:50
CUDAにおけるJDS形式疎行列ベクトル積に対するダイナミックパラレリズムの評価
SPEAKER: unknown

ABSTRACT. 疎行列ベクトル積(SpMV:Sparse Matrix Vector Multiplication)は,多くの科学技術計算で用いられるため,CUDAによる高速化が行われている.CUDAを用いたSpMVに有効な疎行列圧縮型式のひとつに,JDS(Jagged Diagonal Storage)形式がある.CUDAにおけるJDS型式を用いたSpMVは,1ブロックをワープの倍数に設定し,1スレッドに1行を割り当て計算する.1ワープに割り当てられた行の非ゼロ要素数が異なる場合,分岐処理によるワープダーバージェンスのオーバーヘッドが発生する.本オーバーヘッドは,同じ要素数の行のみを計算するカーネルを生成することで削減できる.そこで,本稿では,JDS形式を用いたSpMVに対してダイナミックパラレリズムを用いて新たにカーネルを生成する手法を提案し,その効果を評価する.

13:10
LSTMを用いた映像分類システムの学習順序による高速化
SPEAKER: unknown

ABSTRACT. 近年,映像認識に関する研究は多岐に渡って行われている.その中の分野の一つに映像分類システムという分野がある.映像分類システムは,予め設定されたイベントのラベルに対して,与えられた映像がどのラベルに該当するのかを判定するシステムである.動画サイトなどで特定の映像を検索したい場合,ラベルを検索することで見たい動画を絞り込むことができる.従来,このラベルは動画投稿者が独断で選定しているため,検索者との認識の差異が発生する可能性がある.しかし,映像分類システムは機械によって客観的にラベル付けを行うため,検索者にとって検索しやすいラベルを貼られることが期待できる.

映像分類において映像を判定するに当たって,システムには予め機械学習を施す必要がある.しかし,精度の高い判定を得るには多くの素材を繰り返し回数を重ねて学習をさせる必要があるため,その学習に要する時間は極めて膨大である.よって,高い精度でラベルを正しく貼られることが求められる一方で,学習に費やす膨大な時間を短縮することも求められる.

本研究では,TRECVID(Text Retrieval Conference Video Retrieval Evaluation)という映像認識に関する研究促進のために開催されているコンテストにて,東京工業大学の篠田らによって提案されたシステムに着目し,機械学習を高速化することを目的とした.篠田らのシステムはまず,一つの映像から2秒ごとにフレームを抽出する.そして,そのフレームから特徴を読み取り,一つの映像の特徴として保存する.その後,学習とテストを行い,テスト結果を基に性能の評価を行う.篠田らのシステムでは,学習の際に映像を,バッチと呼ばれる一定の個数のグループに分けて行う.我々は篠田らのシステムがどのような計算を行っているか,少しずつプログラムを変更し,計算過程が見えるように工夫した.その結果,その時の学習に要する時間は,そのバッチの中の最長のフレーム数に依存することがわかった.たとえば,短い映像だけが同じバッチ内にあれば短い計算時間で済ませることができるが,その中に一つでも長い映像があれば,計算時間は大幅に変わってしまう.そこで本研究では,映像学習を行う順番に着目した.映像学習を行う順番をフレーム数の昇順,または降順に並び替えることで計算量を抑え,学習時間の短縮を図った.その結果,学習時間は通常の順序での学習と比較して,約63\%短縮できることを確認した.また,性能面ではわずかではあるが,従来のシステムよりも高い精度の判定を行えることがわかった.

13:30
深層学習フレームワークにおけるCPUとGPUの性能解析および最適化
SPEAKER: unknown

ABSTRACT. 今日では深層学習技術がAI分野の発展に大きく貢献している. その学習プロセスは非常に時間がかかるため計算環境に合わせた最適化が必要である. 本研究では計算環境としてCPUとGPUを考え両者間の深層学習性能を比較する. 多くの深層学習フレームワークではGPU用の最適化には注力しているが, CPU用の最適化は積極的に行われていない. 深層学習フレームワークの一種であるChainerも同様である. Chainerを用いた深層学習プログラムの実行時間全体において, 計算がメインである関数の実行時間は大きな比重を占めており, 関数内部の実装は実行されるプロセッサに合わせた高速化が行われている. そこでこれらの関数を個別にリストアップしそれぞれの実行時間を比較したところ, NumPyのみを利用したCPU用の実装はGPU用の実装と比較して明らかにパフォーマンスが低いことが判明した. NumPyによって記述された関数には不要なメモリ操作の存在や並列化困難といった問題があるため, これらの関数を内部でC言語で記述された共有ライブラリを呼び出すように変更した. 本研究で作成した共有ライブラリにはコンパイラによる最適化に加え, OpenMPによる並列化とCBLASライブラリの利用による高速化がなされており, 多くのケースにおいて10倍以上の高速化が達成された. しかし一部には大量のランダムアクセスと排他処理があるために, 既存のCPUでは高速化が難しいケースも存在することが判明した.

14:10-14:45Coffee Break
14:45-16:15 Session 6: Keynote Talk B
Location: Hitotsubashi Hall
14:45
Scalable Runtime Support for Task-parallel Programs
16:15-17:15 Session 7: Poster Session
Location: Room 4+3+2
16:15
Overcoming Generalization Gap in Large Mini-Batch Training of Deep Neural Networks
SPEAKER: unknown

ABSTRACT. Large mini-batch training is inevitable for parallelization of the training of deep neural networks. However, it has been empirically found that neural networks trained with large mini-batch generalize poorly. Recent observations suggest that the minima for large mini-batch training tend to be in sharper regions, which are known to have poor generalization ability. In this research, we propose a method to close this generalization gap by introducing Gaussian noise in the gradient during the parameter update of Stochastic Gradient Descent (SGD).

16:15
歯周炎診断のためのMapReduce型モデルの設計
SPEAKER: unknown

ABSTRACT. 本研究では、深層学習モデルを用いて口腔内画像から歯周ポケット値推定を行う。そこで問題となる、(i) 注目領域となる歯周ポケット部位が狭小である点、(ii) 複数方向から撮影される口腔内画像が混在している点を解決するMapReduce型歯周ポケット値推定モデルを提案する。提案モデルは、注目領域を拡大、および、歯番特定を容易化するMappingフェーズと、複数方向の口腔内画像情報を集約するReducingフェーズで構成し、推定精度の向上を図る。本研究の評価では、CNNより約4%のポケット値推定精度の向上が見られた。より効果的な特徴抽出、高速なモデル学習のための将来課題について示す。

16:15
実行速度を重視した省電力ツール
SPEAKER: unknown

ABSTRACT. 近年、スーパーコンピュータやクラウドシステムなど大規模な計算機システムの電力消費が環境やコストに与える影響が大きな問題となっている。その対策のひとつとして、CPUクロック周波数を下げ電力消費を低減する手法が提案されているが、一般に実行時間が延伸するため利用は限定的である。だが、アプリケーションのなかにはIOアクセスやソフトウェア的な待合せが無いにもかかわらずCPUクロック周波数を下げても実行時間が変化しないものも存在する。これはアプリケーションが使用するメモリバンド幅が原因と考えられる。そこで、システムのメモリ構成情報、テストプログラムのキャッシュミス回数、実行速度などから学習した結果を基に、アプリケーションの最内ループ内のメモリバンド幅利用率を推測し、実行速度が低下しない範囲で動的にCPUクロック周波数を調整することにより、省電力と実行速度の両立を図るツールを検討しているので報告する。

16:15
複数台ロボットの総電力削減を実現するプラットフォームの検討
SPEAKER: unknown

ABSTRACT. 近年,複数台ロボットサービスの活用が検討されている。その時、多数のロボットの使用によるサービス自体の消費電力の上昇が課題だが、十分な議論が行われていない。本研究では、多数ロボットを使用した際の省電力化手法を提案する。具体的には、経年劣化などにより生じる消費電力の差異を考慮して動作を割り振ることで消費電力の上昇を軽減する。シミュレータを開発し検証を行った所、削減効果が確認できた。

16:15
Evaluation of low-latency ring communication technique for reliability of SDN-MPI_Bcast
SPEAKER: unknown

ABSTRACT. Broadcast communication is an essential collective communication in parallel computing on distributed memory HPC systems. Our previous work has demonstrated acceleration of MPI_Bcast by dynamically configuring a delivery-tree path from a source process to others on a Software-Defined Network (SDN), for evaluating the feasibility of dynamic control of packet flows in MPI communication. The prototypic implementation in the previous work has a technical problem in terms of data delivery for practical use, partly because it has used unreliable one-to-many communication. In this research, we have applied a ring communication method for reliability of our SDN-MPI_Bcast implementation. In the ring communication method, each process sends data, using reliable TCP communication, to next neighbour process on the virtual ring topology after receiving data through delivery-tree. The technical feature of the method is to generate virtual ring topology with low-latency and collision-avoided by combining network topology information and physical placements of processes. Evaluation conducted in this research shows that the prototype SDN-MPI_Bcast perform faster with the method’s ring communication than with the process rank based ring topology’s ring communication of the related work.

16:15
高水準IoTプログラミング環境の実現に向けて
SPEAKER: unknown

ABSTRACT. 現在,様々な「モノ」に通信機能を持たせ「モノ」同士が互いに連携しあう IoT(Internet of Things)技術が注目を集めている. 様々なIoTを用いたアプリケーションサービスが開発される中, 開発者はIoTデバイスとの接続やデータの送受信など,サービスの本質では ない部分の実装を求められる. そこで,IoTデバイスとの通信を抽象化し,高水準にIoT を取り扱うソフトウェアを開発する基盤の実現を本研究における最終目標とする. その目標のためには,高水準言語におけるIoTデバイスの表現と その表現を取り扱う言語機能が必要である. この機能の実現に向けて,本発表ではJSONを基礎としたIoTデバイスの 表現手法および動的型付けと自然結合を用いた問い合わせ方式を提案する.

16:15
Java PathFinderによるMLプログラムの捕捉されない例外の検証
SPEAKER: unknown

ABSTRACT. 本論文では,MLプログラムをJavaプログラムへ変換することを通じて, Java PathFinder(JPF)を用いて, MLプログラムが捕捉されない例外を投げないことを検証する方式を提案する. JPFは,Javaプログラムを入力として受け取るモデル検査器であり, プログラムが捕捉されない例外を投げる可能性を検証することができる. 提案する方式では, 検証対象のMLプログラムを, 例外を検証するためのMLサブセット言語のプログラムに縮小し, Javaに変換し, JPFに入力することで, MLプログラムの検証を行う. この方式を実現するために, 本論文では,MLサブセットおよびそのサブセットからJavaへの変換を定義する. さらに,具体例を通じて,提案する方式が実現可能であることを示す.

16:15
ML系言語とストリーミングデータベースの統合
SPEAKER: unknown

ABSTRACT. 本論文は,ML 系言語 SML#でストリーミン グデータベースに接続し,ストリームデータを扱うための機構を提案する.ML 系言語であるSML#はSQLによって操作されるデータベースとのシームレスな統合を果たしている.しかし,これまでのSML#では,ストリームデータを扱うデータベースへの接続ができなかった.本論文では,ストリーミングデータベースシステムを提供するPipelineDBを用いて,SML#コンパイラにPipelineDBに関する機能を追加し,実際にストリームデータを扱えることを確認する.

16:15
GPGPUプログラム最適化のためのプログラム合成器とその適用手法
SPEAKER: unknown

ABSTRACT. 近年,プログラムの最適化にプログラム合成を利用する手法が注目されている.その一つにGPGPUプログラミングを対象としたものがある.しかし,既存研究の合成器はスレッドごとの逐次実行モデルを採用しているため,バリア同期や共有メモリを用いるような最適化を扱うことができない.また,プログラム合成を実用的なプログラムに単純に適用すると,合成時間が非常に長くなる問題がある.そこで我々はロックステップ実行に基づくプログラム合成器Kani-CUDAを設計,作成し,共有メモリを用いた最適化を行う際の合成時間を大幅に削減するプログラム合成の適用手法を提案した.応用例として,熱拡散ステンシル計算プログラムに対する共有メモリ最適化行う際に,配列の添え字計算式やバリア同期命令の配置を合成でき,合成時間を10分の1ほどに削減した.

16:15
ストリーム処理におけるステートフルデータの管理手法
SPEAKER: unknown

ABSTRACT. ストリーム処理においてステートフルなデータを簡潔に処理するための解析基盤Phalanxを提案する. ストリーム処理ではイベントの到着順序が保障されないため、更新順序を考慮する必要があるステートフルなデータのあつかいが難しい.Phalanx ではCRDT のデータモデルに基づいて,ステートフルなストリーム処理を実現する.CRDT で用いられるデータ型は更新の順序を問わず結果整合性を保つことが可能なため,データの到着順序が保証されない状況でのステートフルなデータへの管理を簡素化できる.結果整合性をもつデータ型を利用することで,Phalanx ではイベントをCRDT の操作に対応付ける記述のみでステートフルなデータの変更を実現できる.

16:15
Inside ABCI: Container-based Software Management for Scalable Distributed Deep Learning
SPEAKER: unknown

ABSTRACT. Deploying distributed deep learning Software requires to manage complicated software dependencies, i.e., CUDA, CuDNN, NCCL, and OpenMPI, etc. However, existing manual installation of these software collections onto shared large-scale computing resources, such as traditional supercomputers, introduces significant elaborate efforts and disturbs to follow state-of-the-art early development deep learning software. Here, we demonstrate container-based software management using Singularity HPC Container and Docker with Univa Grid Engine for ABCI (AI Bridging Cloud Infrastructure) with x4352 NVIDIA Tesla V100 GPUs planning to start the production operation in 2018. Our early prototype supports various distributed deep learning frameworks including ChainerMN, CNTK, Caffe2, MxNet, Horovod-Tensorflow, etc.

16:15
深層学習フレームワークにおけるCPUとGPUの性能解析および最適化
SPEAKER: unknown

ABSTRACT. 本研究では計算環境としてCPUとGPUを考え両者間の深層学習性能を比較する. 多くの深層学習フレームワークではGPU用の最適化には注力しているが, CPU用の最適化は積極的に行われていない. 深層学習フレームワークの一種であるChainerも同様である.Chainer内部の高速化が必要な関数を個別にリストアップしそれぞれの実行時間を比較したところ, NumPyのみを利用したCPU用の実装はGPU用の実装と比較して明らかにパフォーマンスが低いことが確認された.そこで関数内部でC言語で記述された共有ライブラリを呼び出すように変更することにより,多くのケースにおいて10倍以上の高速化が達成された. しかし一部には大量のランダムアクセスと排他処理があるために, 既存のCPUでは高速化が難しいケースも存在することが判明した.

16:15
ハードウエア階層構造を持つHPCシステム向け、ステンシル計算コードの自動最適化プラットフォーム
SPEAKER: unknown

ABSTRACT. ドメイン特化言語(DSL)はユーザプログラムから大規模計算機の複雑性を隠蔽し、その移植性を向上する有望な手法だが、これら自身の移植性が低いのが課題である。 そこで、計算機システムの階層構造に対応して再帰的な最適化を行う機構を備えたステンシル計算向けDSLのプラットフォームを開発した。 この提案では、各システム向けの最適化機構をアスペクト指向プログラミングによって各階層要素向けの最適化機構を組み合わせて構築することで移植性を高める。

16:15
vGASNet: Scalable RMA-based Communication Library for Out-of-core Data Processing
SPEAKER: unknown

ABSTRACT. Remote Memory Access (RMA) is known as a methodology to ease distributed programming. Some interfaces and libraries like MPI-3 and GASNet accommodate RMA functionalities. Unfortunately, few libraries accommodating RMA functionalities do not support out-of-core data processing. Therefore, we developed vGASNet, a novel RMA-based communication library supporting out-of-core data processing. vGASNet considers node-local SSDs as a main memory and part of DRAMs as cache. For performance improvement, vGASNet adopts a cache mechanism called cooperative-caching. Cooperative-caching enables each node to access the caches stored in other nodes, not only itself. In this poster, we introduce cooperative-caching mechanism and its effectiveness. Additionally, we integrated vGASNet with an existing framework, namely UPC++. We also introduce our version of UPC++ performance.

16:15
CNNの畳み込み層におけるカーネルテンプレート化の試み
SPEAKER: unknown

ABSTRACT. 画像認識において,Convolutional Neural Network(CNN)と呼ばれるニューラルネットワークが高い認識制度を示し,顔認証や文字認識などのアプリケーションに広く利用されている.一般的に,学習済みのCNNモデルにおいては,浅い層に単純なエッジやブロブを検出するカーネルが現れる.この単純な特徴を検出するカーネルは,一般には学習で獲得させるが,予め単純な特徴を検出するのに特化したカーネルをテンプレートとして用意し,これを用いることで,高い認識率と,データ再利用による計算量削減に寄与する可能性があると考えた。そこで本研究では,単純な特徴検出に特化したテンプレートカーネルを予めCNNに埋め込み,これらテンプレートカーネルを学習対象から除外し固定した上で,残りのネットワークをこれらにフィッティングするよう学習させた場合の影響について調査する.

16:15
ソフトウェアトランザクショナルメモリにおけるスケーラビリティを考慮した競合検出手法
SPEAKER: unknown

ABSTRACT. STMの実装の一つにGlobal Clockを用いて値の一貫性を検証する手法があるが,この手法を用いた場合,数百数千のスレッドを用いるような大規模システムでは,排他的に行われるべきGlobal Clockに対する操作がボトルネックになる.Global Clockを用いない検証手法として,各共有変数ごとに用意した共有カウンタを用いて値を検証する手法があるが,この手法では,Opacityを保証するためにIncremental検証を行う必要があり,Tx内の読み出し回数の2乗に比例して計算量が増大してしまう.そこで本研究では,Tx開始時に,当該Tx内において読み出される変数を先行して読み出すことでIncremental検証を回避し,計算量を抑制しつつ高いスケーラビリティを維持する検証手法を提案する.

16:15
ハードウェアトランザクショナルメモリにおける競合誤検出に関する調査
SPEAKER: unknown

ABSTRACT. ハードウェアトランザクショナルメモリでは一般に、キャッシュライン単位で共有変数に対するアクセス競合を検出する。この検出方法では、複数のスレッドがそれぞれ異なる変数に対するアクセスをしたとしても、これらを競合と誤って判断する可能性がある。本研究ではこの競合誤検出が発生する頻度を調査した。また,代表的ベンチマークプログラムを分析することで、誤検出を引き起こしやすいデータ構造とこれに対する一連の操作を明らかにする。また、変数ごとのアクセスを記憶するハードウェアを用意し、競合検出方法を改善することで、誤検出の頻度の抑制および性能向上を目指す。

16:15
An Out-of-core CPU-GPU Cooperative B&B Solver for the Large Knapsack Problem
SPEAKER: unknown

ABSTRACT. We propose an out-of-core CPU-GPU cooperative branch and bound (B&B) solver for the binary knapsack problem. For the purpose of solving a large problem that produces many subproblems that exhaust the GPU memory, the proposed solver dynamically swaps subproblems to CPU memory. We adopt two strategies to eliminate the data transfer overhead: (1) a GPU-based stream compaction strategy that reduces the sparseness of arrays, which minimizes the amount of CPU-GPU data transfer, and (2) a double buffering strategy that completely hides the data transfer overhead by overlapping data transfer with GPU-based B&B operations. Furthermore, in order to exploit CPU cores, we propose a CPU-GPU cooperative scheme that makes CPU cores process subproblems in parallel, simultaneously with GPU cores.

16:15
Runtime GPU Memory Optimization for Supporting Large Neural Networks on Chainer
SPEAKER: unknown

ABSTRACT. Neural networks (NNs) that are computational models composed of multiple layers have achieved high accuracy in many fields. In order to accelerate NN computations, GPUs are widely used in machine learning frameworks such as Chainer. However, the problem sizes of NNs that can be computed are limited by GPU memory capacity. A general approach for processing data exceeding GPU memory capacity is to swap out data to CPU memory. The overhead of data movement cannot be ignored, thus reducing this overhead is an important issue. This poster describes the design and implementation of an extension of Chainer, which supports to compute NN exceeding GPU memory capacity using CPU memory. As our basic approach, the data of each layer are swapped between CPU memory and GPU memory. In addition, to reduce communication overhead, which data to swap and the timing of each swap are optimized based on runtime profiling. We successfully computed NN requiring more than 56 GB memory on a single GPU with 16 GB memory. Compared with the original Chainer, performance degradation was less than 14 %.

16:15
トランザクショナルメモリとロックを併用する並行性制御手法
SPEAKER: unknown

ABSTRACT. トランザクショナルメモリは,トランザクションとして定義された区間を投機的に並列実行するこ とで,粗粒度ロックと同等以上の記述性と,細粒度ロックと同等以上の性能とを両立しうるパラダイムと して期待されている.しかし,共有変数に対するアクセス競合が頻発する場合は,必ずしも高い性能を実 現し得ない.本稿では,プログラム中に定義されたトランザクションのうちのいくつかを,ロックによる 制御同様,排他的に実行した場合,性能にどのような変化があるかを調査・解析する.また,ロックとト ランザクショナルメモリを併用することによって発生する一貫性制御の問題を指摘し,これを解決する並 行性制御手法を提案・評価する.

16:15
データベースシステムにおける分析指向問合せ処理のプロセッサ動作モードを考慮した消費エネルギーモデル
SPEAKER: unknown

ABSTRACT. データセンタによるエネルギー消費は年々増加の一途を辿っている.ビッグデータブームに象徴されるよ うに,大規模データ分析基盤に対するIT資源の投入は拡大を続けており,その省エネルギー化の重要性は高い.本論文では,データ分析基盤の核であるデータベースシステムの省エネルギー化に向けて,プロセッサの省エネル ギー制御の観点から問合せ処理の性能・電力特性を明らかにする.即ち,分析指向問合せ処理の基本的な演算である全表走査を伴う処理を対象とし,プロセッサの動作モードが問合せ処理の性能及び消費電力に与える影響を解析的にモデル化すると共に,当該モデルによって予測される性能・電力特性の傾向が実測値と合致することを示す.

17:30-19:30 Session : Banquet
Location: Room 4+3+2