プロフィール

大山恵弘

  • Author:大山恵弘
  • 公式なサイトはこちら

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

ブロとも申請フォーム

ブログ内検索

RSSフィード

リンク

FC2カウンター

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【仮想デスクトップ】 Net2Display™: A Proposed VESA Standard for Remoting Displays 【標準化】

In ADEAC 2006.
http://www.sid.org/conf/adeac2006/adeac2006.html

リモートデスクトップの規格が乱立しているので統一しましょうという呼びかけ。

現在のリモートデスクトップシステムは動画の性能とか反応速度に問題があると指摘。また、一つのOSにしばられるなどの互換性の問題があると指摘。

性能をどうやって改善するのかってところに興味がある。読んでみると、どうやら、統一規格を作ればグラフィックスハードウェアの助けを借りられる可能性が出てくるので、性能が上がりますよって話のようだ。

私が不勉強だっただけかもしれないが、論文そのもの以上に、ディスプレイ専門の学会組織があるってことのほうに興味をひかれた。
スポンサーサイト

【リモートデスクトップ】 Prospects For Speculative Remote Display 【投機実行】

Technical Report.
http://virtuoso.cs.northwestern.edu/

リモートディスプレイシステムの最適化。投機的リモートディスプレイを提案。広域環境での利用を意識。

リモートディスプレイサーバから来るイベントをクライアントが予測して、先に実行しておく。予想通りそのイベントが来たらそのまま。予想がはずれたら、ロールバック。

予測は、過去のイベント列からk次のマルコフモデルを作ることによって行う。

実験にはrdesktopを利用。ワード、パワポ、IEなどを実行。ユーザイベントトレース中には、6万8千から11万2千個のイベントを含む。スクリーンイベントトレース中には、250万から440万個のイベントを含む。非常にナイーブな予測方式ですら、25%から45%の確率で次のイベントを当てることができた。

【VMM】 A Choices Hypervisor on the ARM Architecture 【組み込み】

Project report
http://choices.cs.uiuc.edu/

ARMの上にVMMを実装し、ゲストOSとしてオブジェクト指向OS Choicesを走らせましたという報告。QEMUを改造して作った。

ユビキタスでおなじみのキャンベルさんのところの仕事みたい。

ARMの命令セットを調査し、どの命令がsensitiveかを認識。そして、sensitiveな命令でVMMに制御が戻るようにした。特権モードで実行されるsensitive命令はQEMUの現在のバイナリ変換処理に任せる。ユーザモードで実行されるsensitive命令はソフトウェア割り込みのような命令に変換する。

Sensitiveな命令で逐一VMMに制御を戻してくれるVT機能を、バイナリ変換で実現しましたみたいなイメージか。VTはもっとたくさん機能あるけど。

ARMのどの命令に注意するべき必要があるかをまとめてくれてるのはうれしい。

それ以外の部分は至って普通という気がする。I/Oと仮想記憶を実装してないって点にはうーむと思ったが。

VMMを実装したことのある人にとっては、大きなサプライズはない論文と思います。VMMを実装したことのない人にとっては、チュートリアルとして良いかもしれない。

サプライズはないんだけど、読んでて非常に楽しかった。水戸黄門を見る喜びとでも言うんでしょうかね。

【VM】 Parallax: Managing Storage for a Million Machines 【ストレージ】

In HotOS 2005.
http://www.usenix.org/events/hotos05/final_papers/warfield.html

VMのための分散ストレージParallaxの提案。

VMイメージのディスクブロックを提供するサーバを提供。
クラスタ内の各ノードがサーバを実行。
サーバを専用VMの中で動かす(Xenのdom0のようなもの?)。
ディスクへの要求を、専用VMに転送。

ディスクブロックをローカルマシン上にキャッシュして性能を上げる。
コピーオンライトなどを利用して、VM間でディスクブロックを共有。
ディスクブロックを複製してavailabilityとdurabilityを実現。
VMイメージへのアクセスが競合しないことを利用して、排他処理を除去。

Xenのblock tapを利用してプロトタイプを実装。

定石通りにやるべきことをやっている感じ。
既存の分散ディスクブロックストレージをVMイメージ提供に利用したってだけじゃん、って言われないように、VMならではのイシューの説明に紙面をしっかり使っているところは見習いたい。

Machine Bankに似てるかも。

VMのためのストレージについては、こことかここでも研究してます。

【OS】 SWAP: A Scheduler with Automatic Process Dependency Detection 【プロセススケジューリング】

In NSDI 2004.
http://www.usenix.org/events/nsdi04/tech/zheng.html

プロセス間の依存関係を自動的に検出。それを利用してスケジューリングを行う。システムコール履歴を利用して、プロセス間のありうる資源依存関係を決定。依存関係には、信頼度の情報を付加。プロセスのブロックの挙動をもとに依存関係情報は動的に調整。

このへんでも、プロセスの依存関係を自動的に検出して、それを仮想化などに利用するなどの研究してます。

【OS】 Broad New OS Research: Challenges and Opportunities 【ディペンダブル】

In HotOS X (2005).
http://www.usenix.org/events/hotos05/final_papers/hunt.html

広範囲のOS研究が影響を与えることができる5分野を挙げている。ディペンダビリティ、セキュリティ、システム設定、システム拡張、マルチプロセッサプログラミング。

MSで研究中のOSであるsingularityは、それらへの解決を探求するべく設計されている。

Singularityはtype-safe OSである。ポイントは3つ。
抽象命令セット、統一された拡張アーキテクチャ、ファーストクラスアプリケーション抽象。

抽象命令セットとはMSILのこと。型安全性を保証。アプリをインストール時やロード時にネイティブコードに変換。MSILをネイティブコードに変換するモジュールはTCBに含まれる(カーネルには含まれない)。

統一された拡張アーキテクチャは、あまりよく理解できていない。プロセスどうしがすごく隔離されますって話? プロセス間共有メモリなし。プロセス間通信はチャネルを通じてのみ。チャネルはcontractで強く型付けされている。通信やcontractはconformance checkingで検証される。動いているプロセスは、動的にコードをロードすることも、動的にコードを生成することもできない(子プロセスに拡張コードをロードさせることはできる)。

ファーストクラスアプリケーション抽象。アプリケーションはセキュリティアイデンティティとマニフェストを持つ。アプリケーションの追加と削除もOSが管理する。アプリケーションによる共有資源へのアクセスはOSによって仲介される。.NETでよく聞いてる内容かも。

TCBの大半は、Sing#というC#の拡張で記述されている。

Singularityの設計と開発は1年強行われている。SingularityはPC上でブートする。

安全なOSのプロジェクトは、こちらにもあります。

| ホーム |


 BLOG TOP 


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。