著者
藤枝 崇史 新井 淳也 大村 圭 藤田 智成
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS)
巻号頁・発行日
vol.2012-OS-120, no.7, pp.1-8, 2012-02-21

近年,多数のコンピュータを組み合わせることで性能のスケールアウトや冗長化を実現する分散システムの需要が高まっている.分散システムを開発する際には一貫性の保証が焦点となる.強い一貫性は可用性を犠牲にするため,応答速度が重視される Web サービス等のシステムとの相性が悪い.この問題を解決する一貫性に,結果整合性というモデルが存在する.しかし,結果整合性を利用する分散システムの開発は困難である.本論文で紹介する Bloom は,分散システム開発をターゲットとしたプログラミング言語である.Bloom には,結果整合性を利用する処理を簡便に記述できる,一貫性を厳密に保証すべき処理と結果整合性を利用しても良い処理の判別を自動的に行うことが可能である,などの特徴がある.本論文では,Bloom の処理系である Bud の内部実装の解析と,実行速度の評価を行った.評価の結果,Bloom のプログラム内で扱うデータ量が増えるほどにアクセス速度が増加するため,1000 個のデータを扱う場合,Bud のプログラムの処理速度は Ruby の 100 倍前後遅いという結果が得られた.
著者
大村 圭 田村 芳明 吉川 拓哉 フェルナンドバスケス 盛合 敏
出版者
情報処理学会
雑誌
研究報告システムソフトウェアと オペレーティング・システム(OS) (ISSN:09196072)
巻号頁・発行日
vol.2010, no.20, pp.1-8, 2010-07-27
被引用文献数
2

本論文では,KVM を利用した仮想マシン同期技術の設計と実装,および実験について述べる.我々は,先行研究において,仮想マシンの同期による耐故障クラスタリング技術 Kemari を提案し,仮想マシンモニタ Xen に実装を行った.Kemari はアプリケーションや OS に依存しないで,障害発生時にサービスを停止することなく継続することができる.しかし,Xen は Linux カーネルに統合されていないため,Linux の最新ドライバなどを利用することができないという問題がある.そこで,本研究では,Linux 標準の仮想マシンモニタである KVM に,Kemari を実装した.実験の結果,模擬的なハードウェア障害発生時も,アプリケーションや OS を停止せずに継続できることを確認した.This paper describes the design and implementation of virtual machine synchronization using KVM, along with experimental results of the system. In the previous work, we proposed Kemari, a cluster system that synchronizes virtual machines for fault tolerance that does not require specific hardware or modifications to software. Although we implemented Kemari based on Xen, Xen itself does not provide device drivers, and Dom0 which is responsible hasn't been integrated to the mainline Linux kernel, meaning we cannot use the latest hardware. To overcome this shortage, we implemented a prototype based on KVM, a virtual machine monitor included in the mainline Linux kernel.
著者
藤枝 崇史 新井 淳也 大村 圭 藤田 智成
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS)
巻号頁・発行日
vol.2012, no.7, pp.1-8, 2012-02-21

近年,多数のコンピュータを組み合わせることで性能のスケールアウトや冗長化を実現する分散システムの需要が高まっている.分散システムを開発する際には一貫性の保証が焦点となる.強い一貫性は可用性を犠牲にするため,応答速度が重視される Web サービス等のシステムとの相性が悪い.この問題を解決する一貫性に,結果整合性というモデルが存在する.しかし,結果整合性を利用する分散システムの開発は困難である.本論文で紹介する Bloom は,分散システム開発をターゲットとしたプログラミング言語である.Bloom には,結果整合性を利用する処理を簡便に記述できる,一貫性を厳密に保証すべき処理と結果整合性を利用しても良い処理の判別を自動的に行うことが可能である,などの特徴がある.本論文では,Bloom の処理系である Bud の内部実装の解析と,実行速度の評価を行った.評価の結果,Bloom のプログラム内で扱うデータ量が増えるほどにアクセス速度が増加するため,1000 個のデータを扱う場合,Bud のプログラムの処理速度は Ruby の 100 倍前後遅いという結果が得られた.Recently, we have seen a growing demand for distributed systems to achieve scale-out performance and availability by many computers. Tha main focus is ensuring consistency in distributed systems. Strong consistency sacrifice availability. Therefore strong consistency is unfit for the systems that require a high-speed response such as web services. Eventual consistency solves the problem. However development of distributed systems are difficult by using eventual consistency. Bloom is a programming language for distributed systems development. Bloom simplifies a distributed program to use in eventual consistency, and it is possible to automatically analysis whether to use strong consistency or eventual consistency. In this paper, we analyzed Bud, Bloom interpreter implementation, and evaluated of Bud processing speed. As a experimental result, processing speed to access objects increased linearly with increasing amount of objects handled by Bloom program. For example, If Bud program handle 1,000 objects, processing speed of Bud program is 100 times as slow as that of Ruby program.