view cr.ind @ 0:664f03da38c3 default tip

hg init
author Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
date Sun, 11 Jul 2010 23:09:37 +0900
parents
children
line wrap: on
line source

-title: 琉球大学並列信頼研の紹介

--author: 准教授 河野真治

-- Cassandra Project

琉球大学情報工学科並列信頼研

准教授 河野真治

--琉球大学って

<STYLE type="text/css">
.floatright {float: right;}
.floatleft {float: left;}
</STYLE>
<div style="float: left;">
    沖縄本島の中部

    普天間基地のそば

    那覇から30分ぐらい

    宜野座はさらに北へ30分
</div>

<img style="float: right;" src="fig/map.jpg" height="500">

--琉球大学って

    もちろん偏差値的に高い大学ではないですが...

    沖縄にある7つの大学の中ではトップ

    優秀な学生は優秀です (沖縄に残りたい学生がいる)

    そうでなければ沖縄になんか来てません

--並列信頼研の研究テーマ

並列実行がテーマですが、動くだけでなく「信頼性」がなければいけません。

    プログラミング言語 (CbC)

    PS3 (Cell) のTask Manager/Rendering Engine

    分散プログラム (Federated Linda)

    プログラム検証

--プログラミング言語 (CbC)

    継続と言う概念を基本とした C 言語

    状態遷移系、ハードウェア、並列処理

    などに向いてます。gcc を変更する形で実装。

--PS3 (Cell) のTask Manager

    Software Rendering Engine

    ゲームを作るための環境

    Cell は 6 Core => 並列処理が必須

    Task 単位でパイプラインで実行

    (Gameやりたくて入って来る学生も...)

--分散プログラム (Federated Linda)

    Linda Server
       Tuple を in/out/read する簡単なデータベース

    Single Threaded な Linda Server 多数接続

    Linda Serverを相互に接続するメタエンジン

    分散プログラムの実験に使う

    Cassandra に継る研究

--Cassandra に関する共同研究

Cassandra とは?
    分散データベース
       複数のノードにレコードが複数格納される

    Key Value Store
       SQLではなく、get/set と言う簡潔なAPI

    Java で実装された Open Source
       Linux 等と同様、Community により開発されている

    SEDA staged event-driven architecture

--SEDA staged event-driven architecture

2001年にUCBで提案された、複数のスレッドを非同期に繋げることによるScalable なサーバの実装方法。

当時は、Java 1.3 で性能はそれほど良くはなかった

Java 1.6 で Thread や java.nio の性能向上

Cassandra は SEDA を採用している

--SEDA staged event-driven architecture

Multi Thread でパイプライン的に実行

<center><img src="fig/SEDA.jpg"></center>

複数のrequestが同時にたくさんに来るような場合に有効。


--Cassandra に関する共同研究

     Scalability を評価する環境を構築する

     Key Value Store の経験を積む
         移植
         データベース設計
         運用
         構成

     優秀な学生を育てる

--研究プラン

1Q    Cassandra の評価

2Q    Cassandra に向いたメタ文書管理情報データ構造設計

3Q    設計したデータ構造を扱う Web Service を構築する

4Q    構築したサービスの可用性とスケーラビリティの測定を行なう

--Scalability

ユーザやデータ量が増加しても、サービスの質と信頼性を維持すること

    一見、余計なコストがかかる

    簡単には測定できない

<center><img src="fig/scale.jpg"></center>

Scalability を測定する実験環境

システム構成 (WWW Server, Memcache, Database)


--Cassandra 実験環境

琉球大学情報工学科のPCクラスタ

   NEC Express Server 180 台
     CoreDuo 2GHz, Memory 1GB, HD 160GB x 2
     Gigabit Ether, AlaxalA switch

   TORQUE/Maui によるjob管理 (自動実験投入)

   90 台使えるが、落ちているものも多く 70-80台が使用可能

--現在迄の成果

次の発表で...