2009年12月4日金曜日

appengine java night #3

ATND
<セッション1>
発表者:id:bluerabbitさん
参考URL: http://d.hatena.ne.jp/bluerabbit/
テーマ:「実際に作ってわかったappengineの困ったところ」
内容:実際にappengineで開発してみてどんな事が問題になったのか。その問題をどのようにして回避したのか。appengineの様々な制約に対する回避策をご紹介します。
天気予報を取ろうとすると,30秒ルールではじかれた. タスクキューで地域ごと142のタスクで実行.なぜか全部で3分かかった. キューの同時実行が想定通りでない.

バッチ処理が問題になる.バッチが終了したことをどうやって検出するか. 機能を分割.チェイン.終了判定はカウンタ.memcache counter. memcache のlow level APIでatomic なcountが可能らしい.

contains はやらないほうがいい by ひがさん

一発目の排他が難しい. s.put で 戻り値が返ってきたら制御 引数つきのs.putで失敗するように設定すればよい.

タスクキューは冪等を保証しなければいけないらしい.まあそうだろうな.

Mailの制限. 1日7000、1分32件.

JDOだと関連をもとに勝手にentity groupを作ってしまっていて混乱のもと.byひがさん

transaction 開始後最初のget/putで そのときのタイムスタンプをどこかに取っておく. commit のときに取っておいたタイムスタンプと同じかどうかを比較する. ancestor query 以外のqueryではtransactionがかからない.keyに対するgetだと だいtransactionになる.queryは本来複数の行を相手にしているので,そもそも どのentityグループにぞくしたqueryなのか定義できないから.ancestor queryは entity groupに対するqueryなので,定義できるから.

low level APIにはtransaction ありとなしのメソッドがある. なしのメソッドはデフォルトのトランザクションということになる. トランザクションは入れ子にすることができ,一番内側のトランザクションがデフォルト のトランザクションになる.

トランザクションにnullを指定すると トランザクション外で実行することができる.

開発環境でもちゃんとトランザクションの挙動が忠実に反映されている. kindlessAncestorQueryのみ挙動が違う.

serializable - トランザクション内の分離レベルはserializable 非常に強固な分離.oracleはread-committed. timestamp付きで bigtable から読んでいる.だから,横の commit前のデータがちゃんと読める.

ユニークキーは使えない.自分でユニークになるように制御しなければいけない.

KeyRange keys = service.allocateIds(KIND, 1); 
              <- これ,結構重い.まとめてやったほうがいい.1件20msぐらい.
String key = KeyFactory.keyToString(keys.getStart());
チェイニングの機能を提供したらおもしろいかもね.
<セッション2>
発表者:ぶいてく竹嵜さん
参考URL: http://blog.virtual-tech.net/
テーマ:「ぶいてく流 スケーラブルアプリの作り方」
内容:「GAEはスケーラブルである、とはいうものの、30秒ルールなど実際には様々な制約があって、大量のデータを処理したり、また、大量のアクセスに耐えうる業務アプリを作るのは大変難しいと思います。スケールしなければクラウドの意味はない!?ということで、ぶいてくでは、いろいろと制約を回避する工夫を行ってきました。これらは独自の方法で、一般的ではない部分も含まれますが、いろいろと応用は可能かと思います。課題に対応した一つの例としてご紹介しますので、これをきっかけに皆さんもいろいろ考えてみてください。

1.GAE使ってめいっぱいPDFを生成する。どのくらい生成可能でどのくらい時間がかかるか、など
2.1000件を超える大規模データを処理する方法。Pagingにおける、CounterやKeyなどの実装例
task queue スケールしないじゃんか!という話し. 請求書生成アプリ.PDFを差し込み生成. 受注受付処理と引き当て処理を分離.

ブラウザ上のデータも含めてデータの整合性を管理する必要がある.重要.

最大値,最小値は一瞬で取れる.最小値の場合は,nullが最少になることがあるので注意が必要

memcache getput 15ms
datastore put 100-250ms get 20ms query 620ms
全文検索を力でやろうとしている.すごいね.

全文検索にはcompass というのがあるがtoyで使えない.

2009年11月27日金曜日

Comsys 09 2日目

 ・拡張インプリサイスタスクの固定優先度スケジューリング(S)
  千代 浩之(慶應義塾大学),武田 瑛,船岡 健司(東芝株式会社),山崎 信行(慶應義塾大学)

   必須,付加 の他に終端タスクを加えた点が,「拡張」ということらしい.
   周期タスクを想定.ジッタの少ないスケジューリング手法を提案.
 
 ・Kumoi:クラウドコンピューティング研究・開発のためのシェル環境の構築(S)
  杉木 章義,加藤 和彦(筑波大学) 

   Scalaでcloud shellを実装,という話.下には既存のサステイナブルXXを使って
   いる.通信はRMI. たとえば,動的にVMの台数を制御するというようなことをする
   場合にそれを柔軟に書けるような枠組み,ということらしい.
 
 ・EDFスケジューリングアルゴリズム向けの軽量なDVFS制御手法
  林 和宏,並木 美太郎(東京農工大学) 
 
   デッドラインスケジューリングを行うシステムで,タスクごとに,CPU周波数を制御
   して,小消費電力を実現.

 ・TOMOYO Linuxの設計と実装
  原田 季栄(株式会社NTTデータ),半田 哲夫(NTTデータ先端技術株式会社),板倉 征男(情報セキュリティ大学院大学)
 
   TOMOYOはカードキャプターさくらからきている.原田知世にあらず.
   プロセス起動履歴をexecに手をいれることで取得している.
   Androidでもうごく!

 ・ファイル操作のシステムコール発行頻度に基づくバッファキャッシュ制御法の提案
  片上 達也,田端 利宏,谷口 秀夫(岡山大)

   普通はLRUでやるバッファキャッシュの制御を,ファイルのシステムコールの発生
   頻度で,重要なファイルをさがして,ファイル単位で制御する,という方式.
   Webサーバとバックアップを同時に実行した場合には性能が上がる,という主張.
 
 ・マルチコアプロセッサにおけるOSによるMMUを用いたスクラッチパッドメモリの管理方式
  佐藤 未来子,磯部 泰徳,並木 美太郎(東京農工大学) 

   スクラッチパッドメモリ ー コア内蔵のメモリ,キャッシュみたいなものだが,明示的に
   データを出し入れしてやる必要がある.OSのメモリ階層の一部として管理する
   アプローチ.FutureというOSに組み込んでいる.SHマルチコアRP1で実行.
   実機でやったというのはすごいな.
   しかし,普通のアクセスパターンだったら,キャッシュでよいだろう.
   逆に,SPMが有効になるような場合は,アプリの情報が無いと難しそう.
   OSで管理するのは無理なんじゃないかな...
 
 ・分散 Key-Value Store である ROMA とその応用例
   西澤 無我(楽天技術研究所)

   Tokyo Cabinet をバックエンドに使っている.
   eventmachine とfiber(co-routine (1.9からはいった))で実装.
   履歴保持に実際につかっている.

 
 ・完全モジュール型リアルタイムLinuxの開発
  加藤 真平,石川 裕(東京大学)
 
 ・CMP上でスレッド間の参照の局所性を活用するコア間時間集約スケジューラの評価
  山田 賢(九州大学大学院システム情報科学府),日下部 茂(九州大学大学院システム情報科学研究院)
 
   

 ・Interactive Application Scheduling with GridRPC
  Sun Hao(TokyoTech),Aida Kento(NII/TokyoTech)

   Ninf-G使ってくれている.

2009年11月26日木曜日

Comsys 09 1日目

 ・Live migration of processes maintaining multiple network connections (40分)
  Gerofi Balazs, Fujita Hajime, Ishikawa Yutaka(The University of Tokyo)

   ネットワークを維持したまま,プロセスマイグレーション.BLCRを利用.
   コネクション確立をパケットを飛ばさずにリプレイすることで,デスティネーション側
   でネットワーク接続状態を再現.


 ・Kemari: 仮想マシン間の同期による耐故障クラスタリング
  田村 芳明,柳澤 佳里,佐藤 孝治,盛合 敏(NTTサイバースペース研究所)

   Xenで,継続的にコピーし続けることで,耐故障化.ページを汚すアプリだと
   最大42パーセント程度の性能低下.ネットワークは10Gでも90%でる.
   性能はネットワークのスループットではなく,レイテンシに依存するとのこと.
   KVMへ移行中.
 
 ・トラフィック量に適応する非対称マルチリンクEthernetトランキング
  米元 大我,塙 敏博,三浦 信一,朴 泰祐,佐藤 三久(筑波大学)
 
   ネットワークトランク機構の改良.+とか,++とか言ってる.

 ・NILFSのLinuxメインラインへの統合
   小西 隆介(NTTサイバースペース研究所)

   どうやったらメインラインに入れてもらえるか!という話. 
   オープンソースとしてのコーディング.読む人のことを考えて
   わかりやすく書け.抽象化しすぎるな.typedefを多用するな.
   キーパーソンにアクセス.時期も重要.
   開発者会議とユーザ会議を使い分ける.LKMLとサブトピックMLの使い分け.
   メンテナに会いに,タスマニアに行ってる!

   リリース後の2週間しか新機能を入れるwindowはない.その後はバグフィックスのみ.

 
 ・ホスト型仮想計算機環境におけるファイル入出力のVFSアウトソーシングによる高速化
  豊岡 拓,新城 靖,齊藤 剛(筑波大学) 

   仮想計算機でファイルを使うと,ゲストのVFSを通ってから,ホストのVFSを通って
   ファイルアクセスをすることになる.これをバイパスすることで効率化する.
   WFSと呼んでいる.
   sendFileのアウトソーシングで,ファイルの内容をVMに読み込まずにネットワークに
   流しているのは面白い.
 
 ・ヘテロジニアスクラスタ向けシングルシステムI/O機能
  清水 正明(日立中研・東京大学),米澤 明憲(東京大学 

   演算ノードと制御ノードがあるヘテロクラスタで,演算ノードのI/Oを制御ノードに
   オフロード.システムコールレベルでフックしている.演算ノードはPS3.
 
 ・WinKVM : 異なるホストOS間のVMライブマイグレーション実現に向けて(S)
  高橋 一志,笹田 耕一(東大)

   KVM VMをLinuxからマイグレーションできるように,WindowsにKVMを移植.
   すごい,動いている.ようだが,かなり遅いらしい.まだ.
   KVMをいじらずに,スタブをかまして,Windows APIに翻訳している.
   visual C++ とcygwin gccを併用.大変そうだ.
   マイグレーションはまだできていない.

2009年11月24日火曜日

Scalable Massively Parallel I/O to Task-Local Files

Scalable Massively Parallel I/O to Task-Local Files
Authors:
Wolfgang Frings  (Juelich Supercomputing Centre)
Felix Wolf  (Juelich Supercomputing Centre)
Ventsislav Petkov  (Technical University Munich)

SC09
並列ジョブが,パラレルファイルシステムにガンガンファイルを作ると,メタデータサーバがボトルネックになる.ので,パラレルファイルシステムの手前に,SIONlibという層をもうけて,一つの巨大なファイルを仮想的に複数のファイルにみせることで,メタデータサーバの負荷を低減する.後ろ向き.

GreenCloud: A New Architecture for Green Data Center

GreenCloud: A New Architecture for Green Data Center 
Liang Liu, Hao Wang, Xue Liu, Xing Jin, WenBo He, QingBo Wang, Ying Chen 
IBM China Research Laboratory, McGill University, University of New Mexico

International Conference on Autonomic Computing  archive
Proceedings of the 6th international conference industry session on Autonomic computing and communications
マイグレーションを使って,省電力.マイグレーションは,ヒューリスティクスで制御.ヒューリスティクスは,評価関数を作って解空間を探索.探索はすごく遅いように見えるが,最適近傍解は300msで得られていると主張.

先進的ではあったのかもしれないが,技術的には特に見るべき点はないような.

2009年9月15日火曜日

Cloud Computing and Grid Computing 360-Degree Compared

Cloud Computing and Grid Computing 360-Degree Compared
I Foster, Yong Zhao, I Raicu, S Lu
Grid Computing Environments Workshop, 2008. GCE '08 (2008)
Pages: 1-10
Ian のペーパ.Ianのクラウドの定義.
A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet.
CloudのGridとの相違点の一つとして,インターオペラビリティの欠如を指摘している.

2009年9月2日水曜日

グリッド協議会ワークショップ@蒲田

27回ワークショップが蒲田の富士通ソリューションスクエアで行われた.駅の南西に位置する,ちょっとバブリーな建物.汐留の本社もすごいが.

基調講演  「クラウドによるデータセンタビジネス」
富士通株式会社 佐川 千世己
富士通クラウドの話.一度岸本さんの話を聞いているのであまり面白くなかった.
市場動向  「データセンタ市場の動向」
株式会社野村総合研究所 桑津 浩太郎
非常におもしろかった.日本のデータセンターは優秀な人材を貼付けることになっているので,田舎には作れない,とか.クラウド系のDCとは発想が違う.結局都心回帰なんだそうな.今後は,高品質な物は都心で,低品質でよいものは中国へ,ということになるトレンド.
給電  「将来のデータセンタに向けた直流給電方式の検討」
株式会社NTTファシリティーズ 廣瀬 圭一
直流給電.300-400Vの直流をサーバに流し込む.現在の電源も内部で,このくらいの ACに直しているとかで,この電圧なら既存の電源の後段がつかえるということらしい.エジソンの会社がついこの間まで直流給電を行っていたというのはびっくりだ.
ネットワーク  「シスコが提唱するネットワーク仮想化と次世代プラットフォームとは」
シスコシステムズ合同会社 熊谷 慶一
「UCS」は,10Gをバックプレーンに持つブレードサーバ.配線すっきり.そりゃそうだ. mac addressからふり直すことができ,一括して設定をサーバに流し込むことができる.
仮想化  「サーバー仮想化技術の有効活用」
日本仮想化技術株式会社 宮原 徹
仮想化コンサル.現実的な話が聞けて面白かった.やっぱりブレードがいいとか, AMDのほうが同じ性能なら消費電力が若干少ないとか.
抜熱  「データセンターの省エネルギー化を目指したサーバ冷却ネットワークシステムの研究開発」
産業技術総合研究所 阿部 宜之
炭化フッ素の液体を使い,ヒートパイプでCPUから抜熱.DC全体に液冷システム系を作って,そこに各サーバの液冷系をプラグインするという構想.面白いが,まだまだ基礎研究に近い.

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

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などの手前に,コヒーレントなキャッシュを設けるというはなし.このレイヤでやる必要があるのかなあ,と.

ファイルステージング再考:オンデマンド化と高速化に向けたプロトタイプ実装の評価

ファイルステージング再考:オンデマンド化と高速化に向けたプロトタイプ実装の評価
    ○堀 敦史,鴨志田良和,松葉浩也(東大),安井 隆(日立),
      住元真司(富士通研),石川 裕(東大)
研究報告 2009-HPC-119
Catwalk というシステム.オンデマンドというのは,openをフックしてステージングをする.dolly+ のような配送をする.だれかがあるファイルをopenすると,すべてのノードにstage されるらしい.プロセスが死ぬときに,catwalkがクリアする.

シンプルだが使いやすそうだ.