870 likes | 1.01k Views
SACSIS’03 レポート. 金田憲二. SACSIS. S ymposium on A dvanced C omputing S ystems and I nfrastructure s 先進的計算システム 例)グリッド技術、ディペンダブルコンピューティング 先進的計算システムを支える基盤技術 例)ネットワークセキュリティ、プログラム言語処理系 実用的基盤システム 例)検索エンジン. SACSIS プログラム (1/2). 基調講演 分子コンピューティング 萩谷昌已(科技団 / 東大) ユビキタスコンピューティング
E N D
SACSIS’03レポート 金田憲二
SACSIS • Symposium on Advanced Computing Systems and Infrastructures • 先進的計算システム 例)グリッド技術、ディペンダブルコンピューティング • 先進的計算システムを支える基盤技術 例)ネットワークセキュリティ、プログラム言語処理系 • 実用的基盤システム 例)検索エンジン
SACSISプログラム (1/2) • 基調講演 • 分子コンピューティング • 萩谷昌已(科技団/東大) • ユビキタスコンピューティング • Tim Kindberg@HP Lab. • チュートリアル • 組込みシステムの開発の現状と課題 • 高田広章(名大) • XMLとWebサービスにおけるセキュリティ • 丸山宏(日本IBM)
SACSISプログラム (2/2) • 数値計算 • キャッシュ・アーキテクチャ • プロセッサ・アーキテクチャ • グリッド • クラスタ・コンピューティング • システムとツール • アプリケーション • ネットワーク • プログラム言語システム • データ管理 • データ処理 • ネットワーク・セキュリティとOSカーネル • 設計技術と再利用
発表の構成 • 分子コンピューティング • 萩谷昌已(科技団CREST/東大) • 並列計算機におけるキャッシュを意識した自動メモリ管理機構 • 松田聡、鎌田十三郎(神戸大) • 組込みシステムの開発の現状と課題 • 高田広章(名大) • SpecCにおけるソフトウェア記述の実装記述への変換 • 本田晋也、高田広章、中島浩(豊橋技科大) • 仮想ネットワークアーキテクチャによる ネットワークワイドな保護機構 • 廣津登志夫、福田健介、光来健一、明石修、佐藤孝治、 菅原俊治(NTT未来ねっと研)
分子コンピューティング(基調講演) 萩谷昌已 (科技団CREST/東大)
分子コンピューティングとは • 分子を用いて人間の意図した情報処理を行うこと 例)DNAを用いたデータ処理
分子コンピューティングの理論モデル • Adleman-Lipton (1994) • データ並列計算による解の抽出 ※有向ハミルトンパス問題 • Winfree-Seeman (1996) • DNA分子の自己組織化 • など
有向ハミルトンパス問題 • 指定されたスタートとゴールをもつ有向グラフGが任意に与えられるとき、Gがハミルトンパスをもつか否かを決定する問題 • NP完全 4 3 1 ゴール 0 6 スタート 2 5 ※ハミルトンパス:全ての頂点をちょうど一度だけ含むパス
Adlemanの解法 (1/4) 概要 • 入力グラフGをDNAで符号化 • 大量のDNAによりパスをランダムに生成 • 生成されたDNAから解となるパスを抽出 • スタートで始まりゴールで終わるパス • 頂点数と同じ長さのパス • 全ての頂点を含むパス
Adlemanの解法 (2/4) • 入力グラフGをDNAで符号化 • ノード:DNA配列 • エッジ:始点・終点を半分づつ連結したものの 相補配列 ノード1 ノード0 A A T C C G A T T G A C 相補性 C A ノード0からノード1へのエッジ G G C T A A G T
C T G G G C T T T G G C T T T G G C C T G G G G G G C T A A G G C T A A G G C T A A G G C T A A Adlemanの解法 (3/4) • 大量のDNAを用いてパスをランダムに生成 A A A C C C A T T G A C A A A C C C A A T C C G A T T G A C A A T C C G 相補性を利用 A A A C C C A A T C C G A T T G A C A A A C C C A T T G A C
Adlemanの解法 (4/4) • 生成されたDNAから解となるパスを抽出 • スタートで始まりゴールで終わるパス • 頂点数と同じ長さのパス • 全ての頂点を含むパス ※ゲル電気泳動などを利用
DNA分子の自己組織化 • (線形)構造分子によって生成される言語族 =正則言語族 • (線形+ヘアピン+3分岐)構造分子によって 生成される言語族 =文脈自由言語族 • (線形+DX)構造分子によって生成される言語族 =帰納的可算言語族 ※一次元セルオートマトンを模倣する 今回はここを説明
準備:利用するDNA分子 (1/2) G C A T C A T • 線形 • ヘアピン A G T A G G T T G C A T C A T T T A G T A T
準備:利用するDNA分子 (2/2) • 3分岐 C T G A A C T G G G C A T C C G C G T A G C C A G T T C A G
C T G A C A T C G T A A G C G T C C A G C A T C G G C C C A G C A T C G C G C G T A G C C G T A G C C C A A G G T T T C T A C T T C C A A T T A G G A A G G T T A A G G G G T T 準備: DNA分子の組織化の例 + 相補性を利用 =
文脈自由文法の文法例 文法G={S→S+S, S→M M→M*M, M→(S), M→x, M→y, M→z} S,M :非終端記号 x,y,z,(,),+.* :終端記号
DNAによる生成規則の表現 (1/3) M’ M→x x M’ M→y y M’ :Mの相補配列 M’ M→z z
DNAによる生成規則の表現 (2/3) S S S’ S→M M M’ ( M→(S) ) M
DNAによる生成規則の表現 (3/3) S→S+S M→M*M M S M’ S’ * + M S
M M→M*M M’ S S→M * M’ S’ S M→z M M z (x+y)*zの導出例 (1/2) S →M →M*M →M*z
S + S→S+S M→(S) ( S S’ S M’ ) M M’ M→y M→M*M * M’ y S S→M M N’ S’ x S S→M S→M M S M’ M→x S’ M M→z M’ z (x+y)*zの導出例 (2/2) S→M →M*M → M*z → (S)*z →(S+S)*z →(S+M)*z →(S+y)*z →(M+y)*z →(x+y)*z
まとめ • 様々な分子コンピューティングの理論モデル • Adleman-Lipton • データ並列計算による解の抽出 • Winfree-Seeman • DNA分子の自己組織化 • 萩谷先生自身は • 分子メモリ • 分子アドレッシング • などの研究をしているらしい
並列計算機におけるキャッシュを意識した自動メモリ管理機構並列計算機におけるキャッシュを意識した自動メモリ管理機構 松田聡、鎌田十三郎 (神戸大)
背景 • 一つのキャッシュラインに複数のオブジェクトがのる Processor objA objB
キャッシュミス削減によるプログラムの高速化 (1/2) • キャッシュ密度の向上 • 頻繁にアクセスされるオブジェクトを隣接配置 頻繁にobjAとobjBをread 頻繁にobjAとobjBをread Processor Processor objA objA objB objB 隣接配置
キャッシュミス削減によるプログラムの高速化 (2/2) • 無効化の影響の回避 • 頻繁に更新されるオブジェクトを他のオブジェクトと別ラインに配置 Processor 1 Processor 2 Processor 1 Processor 2 objA objB objA objB objA objA objB objB 頻繁にobjAをwrite 頻繁にobjBをread
本研究の概要 • キャッシュを意識した自動メモリ管理機構 • アクセス傾向を考慮したオブジェクト配置 • 深さ優先コピー ※Javaに実装 (Sun Hotspot VM) 今回はこちらを説明
アクセス傾向を考慮したオブジェクト配置 • オブジェクトのread・writeアクセス傾向から クラスを分類・分割 • メモリ割り当て・GC時にアクセス傾向の異なるオブジェクトを別々の領域に配置
アクセス傾向によるクラスの分類・分割(1/4) 以下の2つにクラスを分類・分割することを目指す • FreqReadクラス • read多 and write少 • Otherクラス • write多 or (read少 and write少)
アクセス傾向によるクラスの分類・分割(2/4) • クラスのインスタンスフィールドに対する read・write数を計測 Class Node { int val; Node left, right; int couter, found; Object lock; }
アクセス傾向によるクラスの分類・分割(3/4) • アクセス傾向をもとにフィールドを分類 • W・R・N変数 R変数 W変数以外で read数が、 全read+write数の1%以上 Class Node { int val; Node left, right; int couter, found; Object lock; } W変数 write数が、 全write数の20%以上 N変数 W変数とR変数以外
アクセス傾向によるクラスの分類・分割(4/4) • W・R・N変数をもとにクラスを分割 • R変数のみを含むクラス ⇒FreqReadクラス • W・N変数を含むクラス ⇒Otherクラス FreqReadクラス Class Node { Node_Other ref; int val; Node left, right;} Class Node { int val; Node left, right; int couter, found; Object lock; } 分割 Other クラス Class Node_Other { int couter, found; Object lock;}
アクセス傾向別領域の導入 (1/2) • 世代別GC • 新世代:Coping GC • 旧世代:Mark-compact GC • 下図のようなヒープ構造 新世代 (インスタンス用) 旧世代 (インスタンス用) 旧世代 (クラスオブジェクト用) Old Perm New From To
アクセス傾向別領域の導入 (2/2) • FRC (Freq Read Chunk) • FreqReadオブジェクト用の領域 • 各スレッドごとに存在 • 各スレッドが非同期に割り当て可能 New FRC Other FRC FRC Other
性能評価 (1/2) • SunEnterPrise6500上で • カウンタ付き2分木 • Nbody • MolDyn を実行
性能評価 (2/2) • 全体的な傾向 • オブジェクトサイズがキャッシュラインサイズより大きい時は効果小 • クラス分割 • 書き込みが多いオブジェクトに対して効果大 • MolDynで最大30%の速度向上
まとめと今後の課題 • キャッシュを意識した自動メモリ管理機構 • オブジェクトのread・writeアクセス傾向から クラスを分類・分割 • メモリ割り当て・GC時にアクセス傾向の異なる オブジェクトを別々の領域に配置 今後の課題 • 多種類のプログラムに対する有効性の検討 • クラスの分類・分割の自動化
組込みシステムの開発の現状と課題(チュートリアル)組込みシステムの開発の現状と課題(チュートリアル) 高田広章 (名大)
組込みシステムとは • 各種の機器に組み込まれ制御を行う コンピュータシステム • 例)家電機器、娯楽機器
組込みシステムの特性 • 専用化されたシステム • 厳しいリソース制約 • 消費電力、温度、重量 • 高い信頼性 • PL法の対象に含まれる • リアルタイム性
組込みソフトウェア • 組み込みシステムのソフトウェア • LSIに組み込まれて、その制御を行うソフトウェア • 開発の特性 • ハードウェアに密着したプログラミング • 開発環境とターゲット環境の分離 • クロス開発環境、リモートデバグ • ハードウェアとの協調設計、並行開発 • 多様なプラットフォーム • など
TRONの現状 μITRON/PX • メモリ保護を導入 • アドレス変換なし • 論理アドレス=物理アドレス • 静的な情報を用いた最適化 • メモリ配置などを静的に決定
まとめ • 組込みシステムの開発の現状と課題