Diverse技術研究所

Dating Scienceについて

WEBDBForum 2016の参加報告

9月13日から15日にかけて慶應義塾大学日吉キャンパスにて開催されたWEBDBForumに参加してきました.

WEBDBForumは文字通りWebとデータベースに関するフォーラムで,今年は筑波大学の森島教授のビッグデータと秘密計算に関する招待講演や, 交通サービスとIoTビッグデータ技術に関する特別セッションが行われました.

今回我々Diverse技術研究所では発表はありませんでしたが,来年以降は発表することを目標にしたいと考えています.

この記事はフォーラムについてのレポートとなります.幾つかの発表の中から気になったものについてまとめます.

f:id:akehata-dvs:20161003135115j:plain

WEBDB Forum 2016

第9回 Webとデータベースに関するフォーラム

2016年9月13日(火) ~ 9月15日(木) 慶應義塾大学 日吉キャンパス

MapReduceにおけるShuffleの性能解析

大黒晴之(筑波大学), 建部修見(筑波大学), et al.

  • 一般的にオンメモリ分散処理基盤であるSparkはディスクI/Oがボトルネックとされているが,そのあたりをはっきりさせる調査だったので紹介します.

概要

  • 背景と研究概要

    • Sparkはシャッフル時にディスクI/Oを行うことがある.オンメモリ分散処理基盤のSparkにとってはこの部分がボトルネックになると考えられる.
      • このディスクI/Oをspilと言う.メモリに乗せきれないものを一部ディスクに書き込む動作.
    • MapReduceにおけるShuffleの性能解析を行った
    • SparkのShuffle性能を解析し,性能を左右する主要因を考察
  • 備考

    • Sparkのreduce方法は二つある
      • Sort-based:RDDのIDでソートして一つのファイルにする
      • Hash-based:RDDのIDごとに分けてファイルにする
    • Hashの方が基本的に早い(reduceのあとSortしないで別個に保存するから早い)
    • ShuffleはSortの方が早い(Hashの方がディスクに書き込む量が多いから)
  • 結果

    • Hash-based方式のほうがディスクI/Oが多かった.
    • しかし, 最終的にはHash-basedの方が実行速度が速かった
    • 特にMap時,あとはソートそのものに要するCPUコスト
    • Hash-based方式はdeprecated予定.
    • Shuffleが問題ではなく,Sort-basedのソート処理とMapそのものの処理のボトルネック調査が必要という結論
  • 所感

マテリアルズ・インフォマティクスのための大規模多次元データベースシステムの提案

淺原彰規(日立製作所), et al.

  • 大学時代に材料科学の教授陣,学生たちが手でコツコツとcsvを作っている姿を見てきました.
  • ITに対して非常に懐疑的な材料科学の研究者に対しどのようなアプローチでIT導入していくのかという点が興味深かったです.

概要

  • 背景と研究概要

    • マテリアルズ・インフォマティクス=材料科学にIT導入
    • IT技術と材料科学の研究者の間の溝を埋めたい
    • 材料科学の研究者はITに対して非常に懐疑的(機械に頼らず人の手でやるもんだという強い偏見)
    • 現状,材料科学の業界ではFortranで計算して数値出力して手でグラフ作成するのが一般的
      • この作業をDBを導入することで楽できるのではないかという試み
  • 仕様

    • 金属材料が対象
    • RDBMSで多次元データの管理が可能
    • 材料科学のデータ
  • 技術的課題

    • データの非構造性
    • 表形式にならないことがある
    • 分析の複雑さ
    • 微分方程式で扱いやすいようにデータを格納しなければならない
    • 数値シミュレーションの結果をそのまま入れるには遅すぎるという速度上の問題
    • 偏微分方程式を普通に解くと変数が6つある.時間分割数によってはレコードが億単位になる
      • (空間分割数)*3 * 時間分割数
  • 実装

    • 扱うデータ構造:磁性体シミュレーション
      • 磁化の向きが変わるタイミングを調べるシミュレーション
      • RDBMSを構築し,SQLで結果集計することを目指す
    • スキーマ設計
      • 空間的物理量(3次元)と時間的物理量を別スキーマで設計.紐付け
        • 空間的物理量.時間的物理量._x = …というイメージ
      • マルチキーインデックス
      • 4ステップで1G35G=15Gレコードぐらい
      • レコードの巨大化は避けられないが,一個一個のデータサイズが小さいのでこれで問題はなさそう.
  • 所感

    • 100ステップで400Gレコード超える.一個の計算で容量的に1TB軽く行く気がする.集計するデータ絞るのだろうか
    • 普通のRDBであるという印象
      • クエリもやっぱりそれなりにかかる.いままで手でFortrun書いて集計していたよりはマシという認識
      • むしろ大事になのはどうやってDBにぶちこむのかというところだと思った(今後の課題だそうだ)

距離分布の形状分布に基づくオブジェクトの特徴推定

山岸 祐己 (静岡県立大学), 斉藤 和巳 (静岡県立大学)

  • 仮説ベースの応用研究の報告が多い中で,クラスタリングの各オブジェクトの重要性の推論という理論寄りの発表で興味を持ちました.
  • 内容も,オブジェクト間の距離分布から特徴を考えるというもので,既存の例とは違う面白い発想だったため紹介します.

概要

  • 背景と研究概要

    • k-medianによるクラスタリングはデータ数Nとすると,代表的手法では反復一回ごとの計算コストはN2に比例する
    • データ数が増えると計算コストが大きくなるので避けたい
    • 見る必要のあるデータ数を削減するために,探索するデータのクラスタリングにおける重要性を推定する手法を提案する
  • 提案手法

    • データ空間内で任意の2つのデータについて距離を定義する(L1とcosが使われた)
    • 各データ毎の他のすべてのデータ点に対する距離総和,及びその距離分布の歪度と尖度を計算する
    • データ空間が2次元や3次元の場合,この3つの指標を見ることで,データの特徴が見えてくる!

    • 提案手法は,まずk-medianの近似解を求める

    • 解の一意性のため貪欲法を用いる,劣モジュラ性があるので最悪ケースの精度は保証される
    • 得た近似解を解として各データについての代表データとの距離を,距離総和,距離分布の尖度と歪度の3つで線形回帰を行う
    • 使うデータは手書き数字画像のMNISTで,データ規模で比較するためにサンプル数10,000とサンプル数60,000の二種類で分析を行った
  • 結果

    • 線形回帰でクラスタリング結果がなかなか再現できてる
    • 距離の総和と距離分布の歪度が回帰結果に大きく影響していることが分かった
    • 二種類のデータセット(N=10,000, 60,000)で結果が大きく変わらなかった
  • 所感

    • k-meansなどのデータ数削減の考え方はいくつかあるが,面白いアプローチ
    • どのくらいデータを減らしても同様の質が保証できるかが回帰結果からわかるだろうか
    • 余談としてとりあげられていたが,データセットクラスタリングにそもそも向いているかどうかの推定も出来そう
    • とはいえデータセットによっては全く上手くいかないこともあるかもしれないので他のデータでも見てみたい

今回は以上3つの研究を紹介しましたが,他にも学生による面白い発想の研究や,企業による先進的な応用例などもありました. また,懇親会やポスターセッションでの議論も白熱しており,フォーラムとしての盛り上がりを感じました.

冒頭で触れた通り,来年は聴講ではなく発表側で参加したいと思います.