2009年5月12日火曜日

Eucalyptus : A Technical Report on an Elastic Utility Computing Archietcture Linking Your Programs to Useful Systems

Eucalyptus : A Technical Report on an Elastic Utility Computing Archietcture Linking Your Programs to Useful Systems
UCSB Computer Science Technical Report Number 2008-10
Daniel Nurmi, Rich Wolski, Chris Grzegorczyk Graziano Obertelli, Sunil Soman, Lamia Youseff, Dmitrii Zagorodnov

EC2のクローン.「クラウド」は複数の「クラスタ」から構成される. デーモンは3層構造になっている.

  • CLC(CLoud Controller) 入り口になるデーモン.EC2のAPIをサポート
  • CC (Cluster Controller) 各クラスタを管理するデーモン
  • NC (Node Controller) ノード単位で管理するデーモン

Interpreting the Data: Parallel Analysis with Sawzall

Interpreting the Data: Parallel Analysis with Sawzall,
Rob Pike, Sean Dorward, Robert Griesemer, Sean Quinlan,
Scientific Programming Journal, vol. 13 (2005), pp. 277-298.

GFS,Map Reduceを用いたプロセスを容易に記述するための,スクリプト言語.この論文では, Map, Reduceという言葉ではなく,Filter, Aggregate という言葉を使っているようだが,なぜなのかは不明.ひとつのsawzallプログラムは一段のmap,reduceに相当するが,複数のsawzall ぷろぐらむをチェインすることで,複数段のmap reduceができる.が,複数段の実行はパイプライン的には実行できないようだ.

下のプログラムは,浮動小数点のレコードを読み込んで,レコード数,総和,自乗の総和を求めている.最初の3行が変数定義で,それぞれの型と,sum型のaggregateをすることを指定している.4行目でレコードを読み込み,最後の3行でaggregatorへの出力を行っている.

count: table sum of int; 
total: table sum of float; 
sum_of_squares: table sum of float; 

x: float = input; 

emit count <- 1; 
emit total <- x; 
emit sum_of_squares <- x * x; 
table XXX of TYPE のXXX が aggregationの種別になる.これらは,言語で定義され,ユーザが新たに定義することはできない.これはaggregationをオプティマイズするため.可能なaggregationは以下の通り.
  • collection: 集合を作る
  • sample(xxx): xxx個をランダムに抜き出す
  • sum: 総和.TYPEが複合型だった場合には,要素ごとに総和をとる
  • maximum(xxx): 上位 xxx個を取り出す
  • quantile(xxx): xxx個に分位する値を返す
  • top(xxx): もっとも頻度高く現れる値上位xxx個を返す
  • unique(xxx): 重複を除いた要素数の概算を返す.xxxは精度を制御する内部テーブルのサイズ.
実装言語はC++.バイトコードへコンパイルして実行されるが,コンパイルと実行が不可分に行われるので,外部からはインタプリタと同様に見える.

2009年3月23日月曜日

VM ミニワークショップ

VM ミニワークショップ
柳澤 佳里: Kemari 完全仮想化対応の設計と実装
NTTのXen上のVMをHigh available化する機構kemariのはなし.Xenに取り込まれるらしい.2台並列に動かしておいて,ページがダーティになったら,バックアップ側にアップデートするというしかけ.
伊藤 聡史: ローカル資源を活用するWebOS
AdobeのAIRフレームワークを用いたWebOS.ローカルディスクをキャッシュとして使い,バックエンドとシンクする.WebOSってどうなの?
大山 恵弘: Kenro: 大部分がHaskellで記述された仮想マシンモニタ
ptraceベースのVM機構.Haskellでこんな物が書けるとは...Haskellで書いたことによるメリット,デメリットがもっと分かると面白いのだけど.
山田 浩史: 未定
OS,アプリのアップデートに伴うリブートに時間がかかるのがたまらないので,リブート前に,VMのクローンをつくって,そちらを裏でリブートし,完了後に乗り換える,という話.話としては面白いけど,リブート中の表のVMでの作業を裏に反映させるための方法が難しそう.
須崎 有康: 仮想計算機のディスクイメージを配信するOS Circularプロジェクト
ディスクイメージを複数のHTTPサーバからオンデマンドで配信するしかけ.他の用途もありそうだが.

2009年3月17日火曜日

HPC Asia 2009

- Malugo: A Peer-to-Peer Storage System
Tsung-Hsuan Ho, Yu-Wei Chan, Yeh-Ching Chung
台湾国内でP2Pベースの広域ストレージを作成している.技術的にはごく普通だが,実装した点に価値がある.

- An Improved Metadata Server Cluster
Changkuo Yeh, Tse-Ta Tseng, Yarsun Hsu
この論文は,代表的なP2Pの基盤技術であるDHTをベースにしたメタデータサーバについて述べている.メタデータサーバのスケーラビリティは,大規模な分散ファイルシステムでは常に問題になる点であり,興味深い研究である.

- A System Design for Terabyte-Scale, Distributed Multidimensional Data Management and Analysis in the TAOS Project
Cheng-Hsien Tang, Chong- Hooted Yu, Ching-Hsuan Shen, Mengfeng Tsai, Wei-Jen Wang, Zhi-Wei Chang, Wen-Ping Chen 
天文関係のプロジェクトである,TAOS(台湾-アメリカ蝕観測)プロジェクトにおけるデータ管理に付いて述べている.このプロジェクトはテラバイト単位のデータを発生し,しかもデータ解析のために高速なアクセスを必要としている.このようなデータ管理をデータベーステーブルの構成を工夫することによって実現している.

‧Multi-cluster Resource Manager with Dynamic Loading Prediction Scheduling Algorithm
Chang-Hsing Wu, Yi-Lun Pan, Hsi-Ya Chang
複数のバックエンドスケジューリングシステムをメタスケジューラから利用するシステムを提案している.メタスケジューラとバックエンドスケジューリングシステムの間をsshで接続している点が面白い.

‧A Security Prioritized Scheduling Model for Computational Grid
Rekha Kashyap, Dr. Deo Prakash Vidyarthi
タスクを資源にマップする際に,セキュリティ要請を考慮に入れてスケジューリングするという話.高度なセキュリティを持つ資源をレアな資源と考えて,高度なセキュリティ要請を持つタスクを優先的に配置することで効率的な資源配置を実現している.

第73回プログラミング研究会(PRO-2008-5)

 (1) ドメイン特化型言語のためのビジュアルエディタの定式化
     ○佐々木 晃,市川 寛 (法政大学),田沼 英樹 (東京工業大学)
ドメイン特化型言語のビジュアルエディタを自動的に生成するシステム.といっても,ようするにコンフィギュレーションファイルみたいなものをターゲットにしているように見える.汎用のウィザート生成機みたいに見える.XMLとXMLエディタ使えば?という質問が出ていたが,その通りだよなあ.

 (2) テンプレート・プログラミングモデルに基づく安全なクライアント・
     サーバ自動分割
     ○立堀 道昭,鈴村 豊太郎,小野寺 民也 (日本IBM)
PHPのテンプレートエンジンsmarty の処理をクライアントにオフロードすることで,サーバの負荷を減らしてスループットを向上させるという話.非常に面白い.要するにsmartyのテンプレートエンジンをクライアントでjavascriptで実装しているのだ.大変そうだー.性能はクライアントがどのくらい重複しているか,つまりテンプレートエンジンやテンプレートそのものがクライアント側でキャッシュされているかで決まる.実際には結構当るだろうから,有効なのではないだろうか.タイトルで安全が云々と書いているが,実はなにもやっていないような..

2009年3月4日水曜日

HOKKEその他

25)プロセス間共通メモリイメージを考慮したマイグレーション最適化
  山崎翔平,遠藤敏夫(東工大/JST),松岡 聡(東工大/NII/JST)
クラスタの複数ノード上の複数プロセスから構成されるMPIジョブ全体を他のクラスタにマイグレーションする.このとき,MPIジョブを構成する各プロセスはテキスト,データとも共通部分が多いであろうことを利用して,一つのイメージをベースとしてそれ以外を差分として転送している.面白いと思うのだけど,なぜかノード数が多いときには,転送データの総計が小さくなっている.総計が小さくなるのはおかしいのではないか.
Evaluation of Interactive Scheduling Architecture for GridRPC Applications
   Hao Sun(東工大),Kento Aida(NII/東工大)
Ninf-Gをベースに,サーバの自動選択を実装.クライアントはNinf-GのJava ClientにGroovyで皮をかぶせているらしい.やるなあ.
Parameter-less GA based Crop Parameter Assimilation with High Performance Computing
   Keigo Sakamoto,Shamim Akhter(東工大),Kento Aida(NII/東工大)
衛星データで観測した値から,農作物の成長を取得するのが目的. GAのパラメータ(個体数を),複数のGA を同時に走らせることで自動的にチューニングする,という話らしい.パラメータは決めうちでよさそうなものだ.複数動作のオーバーヘッドと決めうちによる性能低下/収束低下するのか知りたい.
大規模SMPクラスタにおけるOpenMP/MPIハイブリッドNPB, RSDFTの評価
  辻美和子(東大/筑波大),佐藤三久(筑波大)
T2Kで,flat MPI と ノード内openmp+MPI, ソケット内 openmp +MPIを比較.なんでわざわざそんなことを,と思ったけど.10万コアをフラットMPIでできるか,といわれると,まあ無理な訳なので,openMPとMPIハイブリッドは当面必須になるだろうとのこと.なるほどね.

2009年2月26日木曜日

ファイルサーバー独立な並列ファイルキャッシュ機構

ファイルサーバー独立な並列ファイルキャッシュ機構
    ○太田一樹,石川 裕(東大)
    2009-HPC-119 
PVFSなどの手前に,コヒーレントなキャッシュを設けるというはなし.このレイヤでやる必要があるのかなあ,と.