2009年8月17日月曜日

SWoPP09@仙台(三日目)

OS-3

Taint Analysis によるスパイウェア検知手法の回避
落合 淳,嶋村 誠(慶大),河野 健二(慶大,JST(CREST))
taint analysis 現在主流の解析手法には回避手法がある. taint伝搬の手法を提案.これには,本来ハードウェアサポートが必要だが,QEMMを使ってハードウェアサポートをエミュレートして実装してみせている.誤検出はまだ多いので,まだ,結構大変そう.

HPC-12

クラスタ間高速ファイル転送方式の提案と評価
鈴木克典,建部修見(筑波大)
建部さんのところ.クラスタ間ファイル転送をローカルに複製をつくってから送信することで高速化.1つのノードにあるものを別のクラスタのどこかに移す. 実験の際のボトルネックが送信側マシンから読み出す速度になってしまっていて, なんかいまいち.
広域ファイルシステムのための分散メタデータサーバの初期実装と評価
平賀弘平,建部修見(筑波大)
ボトルネックになりがちな,メタデータサーバを分散実装.

PRO-2

解像度調整機能を備える並列動画像処理ライブラリRaVioliの実装
大野将臣,桜井寛子,津邑公暁,松尾啓志(名古屋工業大学)
画像処理ライブラリを並列化.まあ,普通.

PRO-3

並列プログラミングモデルとそのポータブルな処理系
高山征大,境隆二,加藤宣弘,島田智文(株式会社東芝)
Mols と呼ぶ単一参照言語で,Cで書かれたAtomsとよぶルーチンをデータフロー制御して実行. Cellに実装され、東芝の超解像の実装に使われているとか. おもしろかった.
並列デバッガにおける情報視覚化手法
松下圭吾,谷口和也,松本真樹,大野和彦,佐々木敬泰,近藤利夫(三重大),中島浩(京大)
プログラムスライスを提示するデバッグ手法の一つ.完成度は今ひとつ.

SWoPP09@仙台(二日目)

HPC-8

異種ミドルウェア間に跨るワークフロージョブの実行方式と実装
田中義一,合田 憲人(NII)
NAREGI残党.まだやっているのか...発表練習ぐらいしたほうがいいと思う. 内容は,SSを使わずに,手元で軽量のワークフローエンジンを動かすという話.SS要らないじゃん.
異種グリッドミドルウェアに跨るアプリケーションホスティングサービス(AHS)の設計と実装
宇佐見仁英(玉川大学),大西尚樹,水澤有里,金澤宏幸(富士通)
NAREGI残党.PSEがAHSに名前を変えている.なんだかなあ.

OS-1

仮想マシン技術を用いた OS 再起動のダウンタイム削減手法
山田浩史,河野健二(慶大/CREST)
リブートする間,複製した仮想計算機を使っておいて,リブート後に,マージする. リブート中の作業とリブートによるインストールが独立したパーティションに行われるということが前提.

OS-2

Plan9を用いた分散組込みシステムのプログラミングシステム
盛合 智紀,並木 美太郎(東京農工大)
9pというプロトコルを用いて,分散組み込みシステムを構成する. リーフノードのディレクトリをマスタノードにマウント,ディレクトリに 書き込みを行うことでリーフノードを制御できる. バイトコードインタプリタもつくり込んだりしているようだ.
クライアント資源を利用した堅牢なマッシュアップサービスの実現
堀江 光,浅原 理人(慶大),河野 健二(慶大,CREST,JST)
クライアントをP2P接続してページをキャッシュすることで,突発的なアクセスの増加に対応できるようにするという話.
ユーザ毎にカスタマイズ可能な Web アプリケーション・フレームワークの実装
別役 浩平,千葉 滋(東京工業大学)
ユーザごとに,Webアプリのプログラムにアスペクトをweaveする,という無理のある話. 技術的には,クラスローダをうまく制御して,最低限のクラスのみを再ロードするようにするということなので,応用範囲は広そう.DIコンテナのホットデプロイとか.

2009年8月4日火曜日

SWoPP09@仙台(初日)

ARC-1

- P2P技術を応用したグリッド資源発見機構の提案
古久保 慶(大阪大学), 伊達さん
オーバレイと,モニタのマスタノードの関係がよくわかない. skip graphs LL-netをskip graph上に実装したモノを使っている. ヒルベルト空間を使って,2次元空間をローカリティを保ちながら1次元に畳み込んでいる.おもしろい.

CPSY-1

- 並列分散環境におけるファイル共有システムの負荷原因探索システム
佐伯勇樹,田浦健次朗(東京大学情報理),鴨志田良和(東京大学情報基盤)
複数のプロセスが,複数のNFSサーバにアクセスしているときに,/proc/netの情報だけから, どのプロセスが,悪さをしているのかを検出しようとしている. 線形結合で考え、サンプリングして,回帰解析でパラメータを抽出. しかし,あまりうまく行っていない? 実験がうまく行っていないだけのような気がする.
-仮想マシンPCクラスタにおける並列データ処理アプリケーション実行時のストレージアクセスに関する一検討
豊島詩織(お茶の水女子大学),原明日香(特許庁),小口正人(お茶の水女子大学)
仮想PCクラスタの定義が我々と違うな. HPA : データマイニング.CPUバウンド.意外だが. OSDL-DBT3 データインテンシブなベンチマーク. dummynetで遅延挿入.- ソフトウェア. ローカルでのdomU,0の性能の違いが意味不明. VMをマイグレーションして,リモートサイトで処理?
VPN経路接続を用いたiSCSI遠隔ストレージアクセスの性能に関する評価
浅田菜那,比嘉玲華,小口正人(お茶の水女子大学)
iSCSIのパラメータを調整して,VPNを用いた高遅延環境での最適な設定を探し出す. カーネルコード最適化.しかしVPNでもVPNじゃなくても効いている. なにをやったんだろうか.

CPSY-2

- 大規模計算環境におけるユーザ満足度を考慮した資源管理へむけて
國府理央,佐藤仁,松岡聡(東工大)
エキスパートシステムの構築が目的.数理モデル. アンケート、因子分析.共通因子,独自因子 25サンプルでは足りない?
グリッド環境での大容量計算における効率的スケジューリング
チェスンジュン(東京大学),田浦さんのところ.
柴田君発表.gxpc makeの話.mksh が,xmakeに書き込むということ. ステージングとかは?ファイル共有が前提となっている? やっぱり,mkshが並列数と同じだけ残ってしまうようだ.

HPC-3

-並列アプリケーションの性能を損なわないポーリング型のモニタリング
鴨志田良和,田浦健次朗(東京大学)
バリア同期するプログラムに対する.モニタプロセスの浸食を低減する. 基本的には,モニタプロセスも同期して,同時に実行するようにすればよい,ということのようだ

HPC-5

シームレスなMPI環境を実現するMPI-Adapterの設計と性能評価
住元真司,中島耕太,成瀬彰,久門耕一(富士通研),安井隆(日立),鴨志田良和,松葉浩也,堀敦史,石川裕(東大)
MPI-adapter - MPIのABIを定義. .soで, 各MPIでの呼び出しをフックして変換 Fortranに対応. MPIのFortran実装は,だいたいF2Cで実装されている? 素直に実装するとcとフォートランが混在している環境では うまく行かないので、ELFのディスパッチテーブルを自ら書き換えることでうまくやっている.
PCクラスタ上のスケジューラを利用したMapReduceの実装
山下尊也(同志社大学大学院工学研究科),廣安知之(同志社大学生命医科学部),吉見真聡,三木光範(同志社大学理工学部)
Windows clusterで,独自マップリデュース.といっても,多分何か誤解している. リデュースを分散化しようが無い構造になっている.key-valueを使っていないから. これでmap reduceになるならだれも苦労しない.
ファイルステージングシステム Catwalk の MPI-IO 実装
堀敦史,鴨志田良和,松葉浩也,太田一樹(東大),安井隆(日立),住元真司(富士通研),石川裕(東大)
MPICH2のMPI-IO実装のROMIOの下に,Catwalkを差し込む.MPI-IOから使うと自動的に Catwalkが使える. 副次的な効果として,生のCatwalkだとできなかった,writeのフックができるのと同じ ことになるので,ファイルの書き込みをジャーナリングして複数のプロセスが,一つのファイルを更新するという操作が可能になっている. ジャーナルレコードをマージソートしてオリジナルに反映.

2009年6月6日土曜日

Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems

page
"Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems"
 by Xiaoxin Chen, Tal Garfinkel, E. Christopher Lewis, Pratap Subrahmanyam, Carl A. Waldspurger, 
Dan Boneh, Jeffrey Dwoskin, and Dan R. K. Ports. 
In Proceedings of the 13th International Conference on Architectural Support for 
Programming Languages and Operating Systems (ASPLOS '08), (Seattle, WA, USA), Mar. 2008.
SACSISで大山さんの学生さんの発表で触れられていた論文.VM上のOSとアプリケーションとに対して別のメモリイメージを見せる,という話.何かが違うという主張だったが,何が違うんだったか?

2009年6月5日金曜日

SACSIS 09 @広島

SACSIS 2009 @ 広島. 参加者230人程度. 招待講演1件,一般発表38件,ポスタ32件.
招待講演
Don Grice (IBM)
「The Roadrunner Project and the Importance of Energy Efficiency on the Road to Exascale Computing.」
Cell BEを用いたスーパーコンピュータRoadrunnerの実装について. 実装の最小単位はtribladeと呼ばれる,CELL blade2枚とAMD processorボード1枚の組み合わせなのだが,このCELL bladeは単体でも市販されていたりする.勿論IO周りはroadrunnerではまったくつかわれていないのだろうが,単体でも売れるように設計するあたりに,IBMのバランス感覚を感じる.
仮想マシンと連携したWebブラウザによるプログラム実行環境
 荒木 拓也(NEC)
いわゆるWebアプリケーションのオフライン実行を実現する為に,VMMをブラウザの隣に建ててしまい,そこでWebアプリケーション(のコピー)を実行する,というアプローチ. ただし,Webアプリケーション本体との同期をファイルの同期で行うという実装なので, ほとんど実用にならないような.

ブラウザがDBを取り込んだりと強化を続ける延長で,より高度なプログラム実行機構を取り込む方向性はアリだろう.が,そこでフルVMが要るのかどうか.また,Webアプリケーションのオフライン化の本質は,同期機構と複数の更新を整合させることだとすれば,本アプローチでは何も解決しない.

HyperShield: 動作中のOSを安全な仮想マシン上に移行するための仮想マシンモニタ
   野元 励, 大山 恵弘(電通大)
実行中のOSにカーネルモジュールを導入することで,OSの下に仮想計算機を導入する機構.やっていることはすごいが,具体的に対応している驚異モデルは,カーネルスタックのリターンアドレス書き換えによる攻撃コードの実行だけ.
アプリケーションデータを保護するためのVMMに基づくアーキテクチャ
   尾上 浩一(東大), 大山 恵弘(電通大), 米澤 明憲(東大)
特権レベルを奪取された場合に,特定アプリケーションのメモリ,ファイルを特権レベルから保護する機構Shadowallを提案.動作レベルに応じてVMMによるメモリマッピングを変更することで,メモリを保護する.同様にファイルもVMMで管理しておき,特権レベルからのアクセスに対してはダミーファイルを操作させる.

とても面白いが,特権レベルを奪取された場合にこの程度の対策ですむのか疑問.

高性能クラスタのための高速汎用ステージングソフトウェア
 松葉 浩也, 堀 敦史, 石川 裕(東大)
T2Kクラスタ上で,バッチキューイングシステムと組み合わせて利用するためのステージングシステムの提案.複数のノードに同じファイルをステージする際にツリートポロジを構成して配信を行ったりする.下位システムが十分に高速な分散ファイルシステムの場合にはなにもしないなどの制御を行う.機構としては単純だが,有用だろう.
テラスケールコンピューティングのための遠隔スワップシステムTeramem
 山本 和典, 石川 裕(東大)
極端に大規模なメモリ領域を必要とするアプリケーションに対して,ディスクではなく,他のノードをスワップとして使用させることで高速実行を実現する.この種のシステムは珍しくないが, 既存の実装は,OSのスワップ機構を利用しているため転送単位が小さくネットワークバンド幅を十分に利用できない.ユーザランドでの実装は,利用できる情報が少なく,最適化が難しい,という問題があった.提案システムはこれらの問題を解決している.
再始動アルゴリズム:最適性と統計的推定
 岡村 寛之, 土肥 正(広島大)
システムの挙動が不安定な場合に,再ロード,再起動などの再始動操作を行うが,これらの操作を抽象化し,操作のタイミングを最適化する手法について論じている.
性能予測に基づくLinuxスケジューラをノードとするクラスタシステムの省電力化の実現
 金井 遵, 並木 美太郎(農工大)
Webサービスを行うクラスタを対象に,ノード単位ではなく,クラスタ全体で省電力化を行う試み.具体的には,ロードバランサに手を加え,負荷分散をコントロールすると同時に書くノードに対する性能要求を与えることで,各ノードで,DVFSによる電力制御を行う.

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++.バイトコードへコンパイルして実行されるが,コンパイルと実行が不可分に行われるので,外部からはインタプリタと同様に見える.