琉球大学情報工学科並列信頼研
准教授 河野真治
沖縄本島の中部
普天間基地のそば
那覇から30分ぐらい
宜野座はさらに北へ30分
もちろん偏差値的に高い大学ではないですが...
沖縄にある7つの大学の中ではトップ
優秀な学生は優秀です (沖縄に残りたい学生がいる)
そうでなければ沖縄になんか来てません
並列実行がテーマですが、動くだけでなく「信頼性」がなければいけません。
プログラミング言語 (CbC)
PS3 (Cell) のTask Manager/Rendering Engine
分散プログラム (Federated Linda)
プログラム検証
継続と言う概念を基本とした C 言語
状態遷移系、ハードウェア、並列処理
などに向いてます。gcc を変更する形で実装。
Software Rendering Engine
ゲームを作るための環境
Cell は 6 Core => 並列処理が必須
Task 単位でパイプラインで実行
(Gameやりたくて入って来る学生も...)
Linda Server
Tuple を in/out/read する簡単なデータベース
Single Threaded な Linda Server 多数接続
Linda Serverを相互に接続するメタエンジン
分散プログラムの実験に使う
Cassandra に継る研究
Cassandra とは?
分散データベース
複数のノードにレコードが複数格納される
Key Value Store
SQLではなく、get/set と言う簡潔なAPI
Java で実装された Open Source
Linux 等と同様、Community により開発されている
SEDA staged event-driven architecture
2001年にUCBで提案された、複数のスレッドを非同期に繋げることによるScalable なサーバの実装方法。
当時は、Java 1.3 で性能はそれほど良くはなかった
Java 1.6 で Thread や java.nio の性能向上
Cassandra は SEDA を採用している
複数のrequestが同時にたくさんに来るような場合に有効。
Scalability を評価する環境を構築する
Key Value Store の経験を積む
移植
データベース設計
運用
構成
優秀な学生を育てる
1Q Cassandra の評価
2Q Cassandra に向いたメタ文書管理情報データ構造設計
3Q 設計したデータ構造を扱う Web Service を構築する
4Q 構築したサービスの可用性とスケーラビリティの測定を行なう
一見、余計なコストがかかる
簡単には測定できない
Scalability を測定する実験環境
システム構成 (WWW Server, Memcache, Database)
NEC Express Server 180 台
CoreDuo 2GHz, Memory 1GB, HD 160GB x 2
Gigabit Ether, AlaxalA switch
TORQUE/Maui によるjob管理 (自動実験投入)
90 台使えるが、落ちているものも多く 70-80台が使用可能
次の発表で...