SlideShare a Scribd company logo
1 of 23
分散メモリ環境における
シェルスクリプトの
高速化手法の提案

Kan Keisuke ( @9renpoto)


                           1
背景                     共有メモリ型
並列処理                     メモリ
• 作業を高速化したい
                 コア1   コア2   コア3   コア4
• 大規模な処理を行いたい
                 例:マルチコアプロセッサ
並列処理環境
1.共有メモリ型               分散メモリ型
2.分散メモリ型
                 メモリ メモリ メモリ メモリ
並列処理の難点
• 複数のプロセッサに仕事を
割振る必要がある
  ⇒通信処理が必要         ネットワーク(LANなど)
                 例:PCクラスタ
                         2
シェルスクリプト
シェル(Shell)は,コマンドを解釈しプログラムの起動
や制御などを行うプログラムである
• UNIXユーザであれば気軽に利用
• C言語などと比べ,命令1つの処理時間が長い
• 大量のデータ処理に扱うことが多い
  • 企業では売上データや受注データなどの処理に利用


多くの処理時間がかかるプログラ
ムが記述されやすい             3
関連研究
 シェルスクリプトを自動的に並列化する手法
 が提案されている[1]
 • マルチコア・SMTプロセッサ上を対象(共有メモリ型)
 • 1.4倍~1.8倍のスピードアップ
 • シェルスクリプトの自動並列化に成功
 問題点
 • 繰り返し文の並列化は行っていない
 • 共有メモリ環境での並列化が対象
    • マルチコア(4~8コア)での並列化では限界がある
[1]杉田秀,深山辰徳,蛭田智則,當仲寛哲,山名早人.“マルチコア・SMTプロセッサ上における
                                     4
シェルスクリプト高速化手法”.情報処理学会研究報告,2007-ARC-172,pp.73-78,(2007)
動機・目的
問題点
• 繰り返し文の並列化は行っていない
• 共有メモリ環境での並列化が対象
 • マルチコア(4~8コア)での並列化では限界がある

目的

•分散メモリ環境を対象として並列化を行う.

•逐次プログラムに対して少し変更を加えるだけで
 並列実行可能なスクリプトを生成する(半自動並列化)
                       5
全体像
記述系                        実行系
逐次スクリプト    生成
                task.sh
高速処理したい         リモートPC上で       タスクキュー
シェルスクリプト        実行されるタスク

生成                               タスク
実行スクリプト
実行系へtask.shをエンキュー
実行系の実行

                           6
実行系              タスク
                 リモートPC上で実行される
PCリスト
                 コマンド群(task.sh)
Host1
        タスクキュー   記述系で生成
Host2
Host3            PCリスト
Host4
・
                 並列計算に参加するPCの
          タスク    情報(PCクラスタ)
                 実行系
                 マスタ・ワーカ法により
                 動的負荷分散

                         7
実行系~マスタ・ワーカ法~
         マスタ
   マスタ   1.タスクキューに格納されているタスクを
           仕事をしていないワーカに対して割り当てる
         2.処理結果を受け取る


            ワーカ
            1.マスタより受け取ったタスクを処理
            2.処理が終わると結果をマスタへ返す
   ワーカ
2種類のプロセッサ集合に分けて処理を行う
タスクの大きさにバラつきがあっても効率よく処理できる
                       8
記述系
逐次シェルスクリプトに対して特殊コメントを入力
1.#!/bin/sh                   ユーザが行う作業
2.count=1                     1.PCリストを作成
                              2.特殊コメントの入力
3.while []; do
                              • 並列実行したい箇所を指定
4.    #bodystart              2.ツールの起動
5.    Command1                3.実行スクリプトを起動
6.    Command2
7.    #bodyend
8.    count=`expr count+ 1`
9.done                          並列処理
                                   9
記述系~特殊コメント~
繰り返し文の内部に2箇所特殊コメントを入力
1.#!/bin/sh
2.count=1
3.while []; do   開始を示す特殊コメント
4.    #bodystart
5.    Command1
                  終了を示す特殊コメント
6.    Command2
7.    #bodyend
8.    count=`expr count+ 1`
9.done


                                10
記述系~task.sh~
特殊コメント内部をtask.shへ書き出す
1.#!/bin/sh                   task.sh
2.count=1                     1.#!/bin/sh
3.while []; do                2.
4.    #bodystart              3.Command1
5.    Command1
6.    Command2                4.Command2
7.    #bodyend                task.sh
8.    count=`expr count+ 1`
9.done                        リモートPC上で実行される
                              独立なタスクとして扱われる
                                        11
変数情報
    マスタ   1. A = 0   マスタで変数が宣言される
          2. B = 0   例:A=0 , B=0




    ワーカ

分散メモリ環境⇒複数のPCを利用し並列処理
• 変数情報が異なる
• リモートPC上へ必要な変数情報を伝える必要がある
                             12
変数情報
    マスタ   1. A = 0     マスタで変数が宣言される
          2. B = 0     例:A=0 , B=0

                     リモートPCへ処理を割振る


    ワーカ

分散メモリ環境⇒複数のPCを利用し並列処理
• 変数情報が異なる
• リモートPC上へ必要な変数情報を伝える必要がある
                               13
変数情報
    マスタ   1. A = 0     マスタで変数が宣言される
          2. B = 0     例:A=0 , B=0

                     リモートPCへ処理を割振る
                     マスタで宣言された変数情報が

    ワーカ              ワーカ側では不明

分散メモリ環境⇒複数のPCを利用し並列処理
• 変数情報が異なる
• リモートPC上へ必要な変数情報を伝える必要がある
                               14
記述系~変数情報~
特殊コメント直前までの変数情報をtask.shへ伝播
1.                            task.sh
2.      環境変数情報を取得
        task.shへ伝播            1.#!/bin/sh
3.                            2.変数情報
4.    #bodystart              3.Command1
5.    Command1
6.    Command2                4.Command2
7.    #bodyend                task.sh
8.    count=`expr count+ 1`
9.done                        特殊コメント直前までの
                              変数情報をtask.shへ伝播
                                        15
記述系~実行スクリプト~
特殊コメントで指示された部分を変換する
1.#!/bin/sh
2.count=1
3.while []; do   開始を示す特殊コメント
4.    #bodystart
5.    Command1
                  終了を示す特殊コメント
6.    Command2
7.    #bodyend
8.    count=`expr count+ 1`
9.done


                                16
記述系~実行スクリプト~
特殊コメントで指示された部分を変換する
1.#!/bin/sh
2.count=1
3.while []; do
                 動的にタスクキューへ格納される
4.
•    実行系へtask.shをエンキュー
•
7.     count=`expr count + 1`
8.done
9.実行系の実行

          並列処理を行う
                                17
記述系~実行スクリプト~
特殊コメントで指示された部分を変換する
1.#!/bin/sh         繰り返し文が何回実行されても
2.count=1           タスクを格納できる
3.while []; do
                 動的にタスクキューへ格納される
4.
•    実行系へtask.shをエンキュー
•
7.    count=`expr count + 1`
8.done              繰り返し文の終了と同時に並列処理を行う
9.実行系の実行            ⇒実行結果に同期を取る
          並列処理を行う
                                18
実験
• 実験目的                      ダミープログラム
提案手法による速度向上を調べる
                     1.#!/bin/sh
タスク粒度による性能の調査
                     2.while read line ;do
                     3. #bodystart
• 実験環境               4. sleep $line
PCクラスタ:PC15台(シングルコア) 5. #bodyend
                     6.done < random.txt
• 実験に利用したプログラム
sleepコマンドを利用したダミープログラム



                                19
結果
横軸に0秒からの乱数の範囲の上限(秒)、縦軸に速度向上率(倍)
     14.00

     12.00

     10.00

      8.00
                                                     ワーカ14台
      6.00
                                                     ワーカ8台
      4.00
 倍
 率
 上
 向
 度
 速




                                                     ワーカ2台
 )
 (




      2.00

      0.00
             1   3   5   7   9   11   13   15

                     0秒からの乱数の範囲(秒)

                                                20
結果
横軸に0秒からの乱数の範囲の上限(秒)、縦軸に速度向上率(倍)
                理想値の89.4%の速度向上
     14.00

     12.00

     10.00

      8.00
                                                      ワーカ14台
      6.00       理想値の98.6%の速度向上                       ワーカ8台
      4.00
 倍
 率
 上
 向
 度
 速




                                                      ワーカ2台
 )
 (




      2.00

      0.00
             1    3   5   7   9   11   13   15

                      0秒からの乱数の範囲(秒)

 理想値=ワーカ台数倍の速度向上                                 21
結果
横軸に0秒からの乱数の範囲の上限(秒)、縦軸に速度向上率(倍)
     14.00

     12.00

     10.00                   48.6%~82.0%の速度向上
      8.00
                                                     ワーカ14台
      6.00
                                                     ワーカ8台
      4.00
 倍
 率
 上
 向
 度
 速




                                                     ワーカ2台
 )
 (




      2.00

      0.00
             1   3   5   7   9   11   13   15

                     0秒からの乱数の範囲(秒)

                                                22
まとめ
分散メモリ環境におけるシェルスクリプト
 の半自動並列化を行った

 特殊コメントで並列箇所を指定するだけで
  並列化を行うことが可能となった
 ワーカ14台のときおよそ7倍から12倍の速度
  向上率が得られた

以上の結果より,本研究は有用であると言える
                23

More Related Content

What's hot

Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようmax747
 
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークTakuya ASADA
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてSatoshi Shimazaki
 
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 sandai
 
Cassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考えるCassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考えるKazutaka Tomita
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能についてshigeki_ohtsu
 
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設Minoru Nakamura
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリングSatoshi Takada
 
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションイルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションyoku0825
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみるairtoxin Ishii
 
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 sandai
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 sandai
 
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~Kazuya Wada
 
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?Sho Hashimoto
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門sandai
 

What's hot (20)

MVSR Schedulerを作るための指針
MVSR Schedulerを作るための指針MVSR Schedulerを作るための指針
MVSR Schedulerを作るための指針
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
 
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
 
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定についてCloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
 
Kernel fcache-bug
Kernel fcache-bugKernel fcache-bug
Kernel fcache-bug
 
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
 
Cassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考えるCassandraのバックアップと運用を考える
Cassandraのバックアップと運用を考える
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能について
 
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設
 
Stream2の基本
Stream2の基本Stream2の基本
Stream2の基本
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリング
 
Memory sanitizer
Memory sanitizerMemory sanitizer
Memory sanitizer
 
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションイルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門
 
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
 
serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?serverspecみんなで集めて(゚Д゚)ウマー?
serverspecみんなで集めて(゚Д゚)ウマー?
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
 

Viewers also liked

Linux女子部勉強会 2012年4月21日
Linux女子部勉強会 2012年4月21日Linux女子部勉強会 2012年4月21日
Linux女子部勉強会 2012年4月21日Ryuichi Ueda
 
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Junpei Matsuda
 
競プロ、なんでお前たちやらないの?
競プロ、なんでお前たちやらないの?競プロ、なんでお前たちやらないの?
競プロ、なんでお前たちやらないの?Shota Tsukamoto
 
電子工作で光で動くロボットをつくろう!
電子工作で光で動くロボットをつくろう!電子工作で光で動くロボットをつくろう!
電子工作で光で動くロボットをつくろう!Ryuichi Ueda
 
WebブラウザでOpen usp Tukubaiを体験してみよう!(2014/02/15 第9回シェル芸勉強会 & 第27回USP友の会定例会)
WebブラウザでOpen usp Tukubaiを体験してみよう!(2014/02/15 第9回シェル芸勉強会 & 第27回USP友の会定例会)WebブラウザでOpen usp Tukubaiを体験してみよう!(2014/02/15 第9回シェル芸勉強会 & 第27回USP友の会定例会)
WebブラウザでOpen usp Tukubaiを体験してみよう!(2014/02/15 第9回シェル芸勉強会 & 第27回USP友の会定例会)Yoshitake Takata
 
USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413博文 斉藤
 

Viewers also liked (6)

Linux女子部勉強会 2012年4月21日
Linux女子部勉強会 2012年4月21日Linux女子部勉強会 2012年4月21日
Linux女子部勉強会 2012年4月21日
 
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4
 
競プロ、なんでお前たちやらないの?
競プロ、なんでお前たちやらないの?競プロ、なんでお前たちやらないの?
競プロ、なんでお前たちやらないの?
 
電子工作で光で動くロボットをつくろう!
電子工作で光で動くロボットをつくろう!電子工作で光で動くロボットをつくろう!
電子工作で光で動くロボットをつくろう!
 
WebブラウザでOpen usp Tukubaiを体験してみよう!(2014/02/15 第9回シェル芸勉強会 & 第27回USP友の会定例会)
WebブラウザでOpen usp Tukubaiを体験してみよう!(2014/02/15 第9回シェル芸勉強会 & 第27回USP友の会定例会)WebブラウザでOpen usp Tukubaiを体験してみよう!(2014/02/15 第9回シェル芸勉強会 & 第27回USP友の会定例会)
WebブラウザでOpen usp Tukubaiを体験してみよう!(2014/02/15 第9回シェル芸勉強会 & 第27回USP友の会定例会)
 
USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413USP 友の会 LT 資料 20130413
USP 友の会 LT 資料 20130413
 

Similar to 分散メモリ環境におけるシェルスクリプトの高速化手法の提案

Sparkパフォーマンス検証
Sparkパフォーマンス検証Sparkパフォーマンス検証
Sparkパフォーマンス検証BrainPad Inc.
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1信之 岩永
 
並列化による高速化
並列化による高速化 並列化による高速化
並列化による高速化 sakura-mike
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep LearningSatoshi imai
 
リアルタイム処理エンジン Gearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジン Gearpumpの紹介Sotaro Kimura
 
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システムTomohiro Ohtake
 
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようserverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようDaisuke Ikeda
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublicT2C_
 
TotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチTotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチRWSJapan
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメHideyuki Takeuchi
 
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallShinpei Ohtani
 
研究生のためのC++ no.7
研究生のためのC++ no.7研究生のためのC++ no.7
研究生のためのC++ no.7Tomohiro Namba
 
8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティングTakeshi Takaishi
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...Insight Technology, Inc.
 
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Toshi Harada
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageTaku Miyakawa
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 

Similar to 分散メモリ環境におけるシェルスクリプトの高速化手法の提案 (20)

Sparkパフォーマンス検証
Sparkパフォーマンス検証Sparkパフォーマンス検証
Sparkパフォーマンス検証
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
 
並列化による高速化
並列化による高速化 並列化による高速化
並列化による高速化
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
 
リアルタイム処理エンジン Gearpumpの紹介
リアルタイム処理エンジンGearpumpの紹介リアルタイム処理エンジンGearpumpの紹介
リアルタイム処理エンジン Gearpumpの紹介
 
jenkinsで遊ぶ
jenkinsで遊ぶjenkinsで遊ぶ
jenkinsで遊ぶ
 
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
 
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようserverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみよう
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublic
 
TotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチTotalViewを使った代表的なバグに対するアプローチ
TotalViewを使った代表的なバグに対するアプローチ
 
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
 
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
 
研究生のためのC++ no.7
研究生のためのC++ no.7研究生のためのC++ no.7
研究生のためのC++ no.7
 
8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング8 並列計算に向けた pcセッティング
8 並列計算に向けた pcセッティング
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
 
Xen Nic
Xen NicXen Nic
Xen Nic
 
MoteMote Compiler Plugin
MoteMote Compiler PluginMoteMote Compiler Plugin
MoteMote Compiler Plugin
 
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 

分散メモリ環境におけるシェルスクリプトの高速化手法の提案