著者
迫田 賀章 青田 直大 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2016-OS-138, no.17, pp.1-7, 2016-08-01

多量のデータを効率的に保持・管理・運用できるストレージシステムとして,キーバリューストア (KVS) が広く一般的に用いられている.本論文では,不揮発性 DIMM(NVDIMM) を用いた KVS のスループット向上手法を提案する.NVDIMM は,通常の DIMM に NAND Flash による待避領域を設けたものであり,不意の電源遮断等に対してもメモリの永続性を提供する.NVDIMM は DIMM と同等のレイテンシでアクセス可能である反面,その容量は DIMM のそれを超えることはできない.KVS は SNS などに用いられることが多く,読出し・書込みの比率が 1:1 となっており,書込みに対しても高いスループットが求められている.本論文では,書込みに対しても高いスループットを達成できる Log-Structured Merge-Tree(LSM-tree) に着目し,NVDIMM を用いて LSM-tree の性能向上を実現する.LSM-tree では,二次記憶上のデータ構造を再構成するコンパクションという処理が頻繁に行われるため,コンパクション時のアクセス遅延が増大する.LSM-tree の管理情報のみを NVDIMM 上に保存することで,コンパクション時の二次記憶へのアクセスを削減し,アクセス遅延の増大を抑える手法を示す.
著者
安野 直樹 石黒 健太 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2019-OS-145, no.15, pp.1-6, 2019-02-21

仮想化環境では物理 CPU の個数よりも多くの仮想 CPU を利用することが一般的になっている.ゲスト環境は仮想 CPU がプリエンプトされることは想定せずに実装されているため,仮想 CPU のプリエンプトにより仮想時間の不連続性が発生する.スピンロック中などに仮想時間がとぎれると Pause Loop Exit (PLE) というイベントが発生し,仮想マシンモニタに通知が行われる.現状の仮想化環境では PLE が多発することがあることが知られており,本研究では KVM を対象にその要因を定量的に分析する.その結果,1) プロセッサ間割込み (IPI) 処理におけるバリア同期,2) スピンロックの獲得待ち,3) タイムスタンプベースの待機処理.という 3 つのケースで PLE が多発していることを示す.さらに,KVM では PLE の多発を避けるように仮想 CPU スケジューリングを行っているものの,現状では十分に機能していないことを示す.
著者
窪田 貴文 鈴木 勇介 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2018-OS-143, no.9, pp.1-7, 2018-05-14

大規模なソフトウェアプロジェクトでは多くの開発者が修正 ・ 機能追加を行っており,膨大なファイルをコンパイルする機会が頻繁に生じている.例えば,オープンソースのブラウザエンジンである WebKit のビルドボットでは 31 日間のうち 26 日で 2000 秒超えるビルドが実行されており,その時のコンパイルしているファイル数は平均 1000 を超える.本研究では,まず,webkit を含むオープンソースの C/C++ プロジェクトのコンパイル時間を分析した結果を示す.その結果,コンパイラのフロントエンドにおいて冗長な処理が多く含まれていることがわかった.そこで本研究では,コンパイル結果を再利用することでコンパイラのフロントエンドの実行を高速化する手法を提案する.
著者
杉本 学 窪田 貴文 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2018-OS-143, no.14, pp.1-8, 2018-05-14

コンピュータシステムの信頼性を損なう要因の一つに,オペレーティングシステムのカーネルフェイラがある.実際,Linux には 700 以上のフォールトが存在し,半年間に 187,000 件以上の障害レポートが報告されている.カーネルにおけるフェイラでは,エラーがカーネル全体に伝播する場合は少なく,多くはカーネル内のプロセスコンテキストに閉じたプロセスローカルエラーとなっている.そして,フェイラの約 73 % はこのプロセスローカルエラーによるものである.本論文では,プロセスローカルエラーによるカーネルフェイラを検知しエラー状態を取り除くことで,カーネルの実行を継続する手法を提案する.プロセスローカルエラーでは,エラー状態がプロセスコンテキストに閉じているため,フェイラの発生したプロセスを強制終了することでカーネル内のエラー状態を回復させることができる.これにより,従来のカーネルではフェイラとなっていた場合でも,カーネルを停止させずに他のプロセスの実行を継続することができる.
著者
河野健二著
出版者
岩波書店
巻号頁・発行日
1959
著者
山崎 修平 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2016-OS-138, no.12, pp.1-7, 2016-08-01

近年,仮想化環境は広く使用されるようになっている.複数のマシンを動かすためにはハードウェア等の物理資源を仮想化して使用する必要があり,ハイパーバイザ型の仮想化ではハイパーバイザが物理資源を管理する.この様な環境ではスピンロックを獲得することができない仮想 CPU (仮想 CPU) が長期間ビジーウェイトしたままになってしまう Lock-Holder Preemption (LHP) という問題が発生することが知られている.この様な問題に対して,いくつかのハードウェアでは一定時間以上のビジーウェイトした場合にはハイパーバイザに制御を移すような機能が追加されている.Intel ではこれを Pause Loop Exiting (PLE) という.しかし,PLE を利用するだけでは LHP の完全な対策になっておらず,PLE が頻発することによってオーバーヘッドが掛かることがある.本論文では PLE の発生状況と,それに対するスピンロックの獲得状況を分析し,より効率よく PLE を使用するための新しい仮想 CPU スケジューリングの方法について提案する.
著者
岩田 聡 河野 健二
出版者
情報処理学会
雑誌
情報処理学会論文誌コンピューティングシステム(ACS) (ISSN:18827829)
巻号頁・発行日
vol.3, no.3, pp.221-234, 2010-09-17

ウェブアプリケーションの性能異常が重要な問題となりつつあり,性能異常の発生をいち早く検出し,被害が致命的になるのを防ぐことが求められている.しかし,性能指標の1つとして用いられるリクエストの処理時間は,正常時でも揺らぎが大きいため,その微妙な変化から性能異常の兆候を検出することは難しい.そこで,本論文では管理図という統計的手法を利用して,リクエストの処理時間に表れる微妙な変化から性能異常兆候の検出を試みる.その際,検出の精度向上や検出後の原因究明に有益な情報を得るために2つの工夫を行っている.1つは,監視対象の値として個々のリクエストの処理時間ではなく,一定時間ごとのリクエストの処理時間に関する4種類の統計値を用いている点である.もう1つはウェブアプリケーション全体ではなく,リクエストの種類ごとに管理図を作成する点である.実際にRUBiSというウェブアプリケーションに管理図を適用した結果,性能異常の兆候をつかむことができた.管理図によって検出されたいくつかの性能異常の兆候を詳細に調査した結果,(1)データベースへのインデックスの追加および,(2)性能パラメータの調整などを行うことによって,検出された性能異常が解決できることを確認した.Performance anomaly is becoming a serious problem in web applications. To prevent performance anomaly, it is useful to detect a symptom of performance anomaly to proactively take action against it. Unfortunately, a symptom of performance anomaly is a slight change in processing time in a web application. Thus it is difficult to detect the symptoms without being confused by natural fluctuations in processing time. In this paper, we apply control charts, a statistical method to detect deviations from the standard quality of products, to detecting symptoms of performance anomaly. In applying control charts, we devise some means to improve detection accuracy and gain useful information for debugging performance anomaly. To demonstrate the usefulness of control charts, we conducted case studies with RUBiS, an auction site modeled after ebay.com. Control charts detected some symptoms of performance anomaly: (1) the increase in processing time due to inappropriate design of database index, and (2) the increase in processing time due to improper setting of performance parameters. We confirmed that the detected anomalies can be fixed by modifying database design and performance parameters.
著者
佐久間 亮 吉村 剛 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2015-OS-135, no.16, pp.1-8, 2015-11-17

オペレーティングシステムカーネルには多くのバグが存在している.Windows や Linux にも多くのバグが存在しており,Microsoft では Windows Error Reporting (WER) と呼ばれるシステムを用いてクライアントからバグによって障害が起きた際の情報を集めている.集めたクラッシュログを WER システムを用いてバグごとに分類し,多くのユーザで発現するバグからデバッグを行っている.バグの分類にはコールスタックに注目して類似度を計算する事によって分類を行う ReBucket が知られている.しかし,Linux では ReBucket のようなバグの分類をおこなっていないため,適用できれば,開発者がクラッシュレポートを分類する負担を軽減することができる.しかし,Linux ではフレームポインタの最適化によりコールスタックが正確ではない場合があり,同じバグでも異なる情報を出力することがある.本研究は事前調査として ReBucket を Linux に適用した場合の効果について,定量的に評価をおこなった.調査の結果,f-measure が 0.75 と Microsoft 製品に比べ,低いことが分かった.そのため,我々は分類精度を向上するため,Linux カーネルのコールグラフを生成し,正確なコールトレースを取得した.正確なコールトレースを用いて分類した場合,f-measure が 0.75 と以前と変わらないことがわかった.そのため,我々はその結果を分析しリアルバグのコールトレースの性質についての考察をおこなった.
著者
落合 淳 嶋村 誠 河野 健二
出版者
情報処理学会
雑誌
研究報告システムソフトウェアと オペレーティング・システム(OS) (ISSN:09196072)
巻号頁・発行日
vol.2009, no.8, pp.1-8, 2009-07-29

現在,ユーザの個人情報を不正に収集するスパイウェアを検出する手法としてTaint Analysis が注目されている.Taint Analysis では,パスワードなどのデータに taint と呼ばれる情報を付加し,taint 情報を持つデータが操作されたときに伝播規則に基づいて taint 情報を伝播する.そして,taint 情報を含むデータが外部に流出した場合にスパイウェアとして検出する.既存のスパイウェアは Taint Analysis を回避していない.そのため,Taint Analysis はスパイウェアが回避手法を用いた場合を考慮していない.本論文では,Taint Analysis の回避手法への耐性を向上させるため,既存の Taint Analysis に対する回避手法を示し,taint 情報の伝播規則の問題点を指摘する.回避手法を検証するため,一般的な伝播規則を用いた Taint Analysis を実装し実験を行った.実験の結果,回避コードを組み込むことで,Taint Analysis による検出ができなくなることを確認した.これにより,taint 情報の伝播規則を改良する必要があることを示した.<i>Taint analysis</i> is a promising approach to detecting malicious behavior of a leaking users' sensitive data. In taint analysis, we label data as <i>tainted</i> such as password. When a program processes tainted data, we propagate taint attribute in the program, based on a given taint propagation rule. If tainted data is output to untrusted sources, we can recognize that the computer system is compromised. Evasion techniques to taint analysis have not been explored adequately. This means that taint propagation rules are not studied as well. To make taint analysis more powerful, we study current tainting rules and point out the weakness of the rules by using our evasion techniques. We implemented a taint tracker with the well-used propagation rule. Our experimental results demonstrate that the well-used taint propagation rule does not detect the data leak of test programs including our evasion techniques.
著者
吉村 剛 山田 浩史 吉田 哲也 河野 健二
雑誌
研究報告システムソフトウェアと オペレーティング・システム(OS)
巻号頁・発行日
vol.2011, no.6, pp.1-8, 2011-04-06

コンピュータには高い信頼性が求められている.信頼性を脅かす要因としてオペレーティングシステムのカーネルフェイラがある.カーネルフェイラが発生すると,カーネル上で動作している全てのアプリケーションの動作異常につながり,サービス提供者やユーザに大きな損害を与えてしまう.カーネルフェイラの原因はソフトウェアやハードウェアにおけるバグであり,こうしたバグを開発段階で除去することは難しい.そのため,カーネルフェイラが運用時に発生したらできるだけ早くフェイラから復旧する方法が求められている.カーネルフェイラから素早く復旧する手法を検討するために,本研究はバグの発生からフェイラに至る過程で発生するエラー伝播を調査する.実用 OS のバグの調査結果に基づいて作成されたフォールトインジェクタを利用して,Linux カーネルに対してフォールトインジェクションを行い,その結果発生するエラー伝播を KDB によって追跡した.調査した結果,フォールトインジェクション 500 回に対してエラーを 150 回,エラー伝播を 18 回確認した.エラー伝播はプロセス間では発生しにくく,バグの挿入された関数内で収束する確率が非常に高いことを確認した.Kernel failures have a considerable impact on the overall availability of software systems. Even if the applications running on the operating system are highly available, a bug inside the kernel may result in a failure of the entire software stack. However, modern operating systems are far from bug-free. Guided by this fact, we need to recover from kernel failures as quickly as possible when they occur in a service operation. To explore the quick recovery mechanism, in this work, we investigate error propagation of kernel bugs in a commodity operating system kernel. In our investigation, we use a fault injector that is implemented based on a survey of commercial operating system bugs. We inject faults into Linux 2.6.18.8 with the injector, and trace error propagation with KDB. Our experimental result shows that 150 of 500 faults make the kernel error, which means that almost all the error is not propagated. Our result also shows that 18 of 150 errors are propagated, and the errors are not propagated from the faulted process to the other.
著者
益田 隆司 河野 健二 千葉 滋
出版者
東京大学
雑誌
基盤研究(B)
巻号頁・発行日
1996

本研究の目的は,近年になって注目されている次世代のオブジェクト指向技術である自己反映計算の技術を応用して,新たなソフトウェアの部品化の手法を開発することであった.本研究は,我々の研究グループで既に開発した自己反映計算に基づいた言語処理系OpenC_<++>を研究開発の基盤として利用した.まず,プログラムの部品間の依存関係をあらわすメタ情報を記述しやすくなるよう,OpenC_<++>の改良をおこなった.さらに部品化の対象となるソフトウェアの範囲を広げ,現状の自己反映計算の能力でもうまく部品化できないソフトウエアを部品化するのに必要な基礎技術の開発を行った.そのひとつとして,フランスの国立研究所LAASの研究グループと協力し,ソフトウェアの耐故障性を高める機能を部品化する研究,オペレーティング・システム(OS)のサブシステムを部品化する研究,分散ミドルウェアを部品化する研究を行った.OS機能の部品化では,実行時性能の他に,故障時の安全性が重要であり,実行時性能と安全性とを両立させる手法の開発を行った.また,OpenC_<++>のようにコンパイル時にメタプログラムを解釈実行する方式では,プログラムの実行時にしか行うことのできないソフトウェア部品間の保護を行うのは難しい.そのため,互いに保護を必要とするようなソフトウエア部品では,部品化することによって性能の劣化が起ってしまう.この性能劣化を押さえるため,部品間の保護を実現しながらも部品間の呼び出しによるオーバヘッドを削減できるような,仮想記憶機構を新たに開発を行った.

1 0 0 0 OA 研究紹介

著者
河澄 響矢 河野 健二 塚田 捷 桑島 邦博 山本 智 吉村 宏和 中村 正人
出版者
東京大学大学院理学系研究科・理学部
雑誌
東京大学大学院理学系研究科・理学部廣報
巻号頁・発行日
vol.31, no.1, pp.13-22, 1999-06

リーマン面のモジュライ空間の上で新しい「テンソル解析」をめざして/安全な分散環境を目指して/第一原理電子状態計算による水のプロトンリレー型解離の解明/タンパク質のフォールディングの分子機構/見えてきた星間分子雲形成:富士山頂サブミリ波望遠鏡による観測から/太陽輻射変動メカニズムの解明に挑戦する/電離層内電場の観測
著者
嶋村 誠 河野 健二
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.50, no.9, pp.2371-2381, 2009-09-15

バッファオーバフロー攻撃に代表されるリモートコードインジェクション攻撃が大きな問題となっている.このような攻撃を検知するため,近年ではメッセージ中に機械語命令列に相当するバイト列が含まれているかどうかを検査するネットワーク侵入検知システム(NIDS)が提案されている.しかし,これらのシステムでは検知した攻撃コードが実際にサーバ上でどのように振る舞うかは分からない.このため,NIDSが攻撃を検知すると,管理者は適切な対策をとるため,人手で攻撃コードの振舞いを調査しなければならない.本論文では攻撃メッセージを解析し,攻撃コードの振舞いを抽出するシステムであるYataglassを提案する.Yataglassでは,NIDSが検知したメッセージを機械語命令列と見なして擬似的に実行し,攻撃が成功したときに実行されるシステムコール列を抽出する.実際にIntel x86アーキテクチャのLinuxおよびWindowsに対する攻撃メッセージを対象としたYataglassのプロトタイプを作成し,実験を行った.実験の結果,Sambaを対象とする攻撃メッセージや,Metasploit Frameworkから生成された攻撃メッセージが実行するシステムコールを抽出することができた.
著者
小藤 哲彦 河野 健二 竹内 郁雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.44, no.13, pp.84-99, 2003-10-15
被引用文献数
3

具象構文と抽象構文は対応関係が強く,これらを別々に記述するのは無駄が多い.この無駄を省くために,具象構文と抽象構文を一体として記述する手法がいくつか提案されている.本論文では,具象構文と抽象構文を一体として記述し,抽象構文木を出力するパーザを生成するコンパイラ・コンパイラ?<>< ∪∪(notavaCC )の設計と実装について述べる. ?<>< ∪∪は,継承,ラベル付け,エイリアスの構文記法を用い,オブジェクト指向に基づいた抽象構文を記述することができる. ?<>< ∪∪は,算術式のような従来の研究では表現できない抽象構文を記述することができ,表現力が高い.本論文では?<>< ∪∪が実用的な性能を持っていることも示す.Because of the similarity between abstract syntax and concrete syntax, it is wasteful to write these syntax descriptions individually. The paper describes the design and implementation of a compiler compiler named ¬<>< ∪∪(notavaCC), which has an integrated notation that can represent both of abstract syntax and concrete syntax, and generates a parser that builds an object-oriented abstract syntax tree. Using the notation for inheritance, labeling and aliases, ¬<>< ∪∪enables us to generate an object-oriented syntax tree of an arithmetic expression, which existent compiler compilers cannot generate. The paper also describes the practicability of ¬<>< ∪∪.
著者
杉木 章義 河野 健二 岩崎 英哉 Akiyoshi Sugiki Kenji Kono Hideya Iwasaki 電気通信大学大学院電気通信学研究科情報工学専攻 慶應義塾大学理工学部情報工学科 電気通信大学電気通信学部情報工学科 Department of Computer Science Graduate School of Electro-Communications The University of Electro-Communications Department of Information and Computer Science Keio University Department of Computer Science The University of Electro-Communications
出版者
Japan Society for Software Science and Technology
雑誌
コンピュータソフトウェア = Computer software (ISSN:02896540)
巻号頁・発行日
vol.24, no.2, pp.68-78, 2007-04-24
参考文献数
27
被引用文献数
7

インターネットサーバの手動による性能パラメータ調整は,多くの経験や時間を必要とし,管理コストの増大を招くことが知られている.ウェブサーバの主要な性能パラメータであるkeep-alive時間は,適切に設定しない場合,サーバのスループットや応答性を低下させることがある.本論文では,ウェブサーバのkeep-alive時間の自動設定機構を提案する.本機構は管理者の介入を必要とせず,手動設定で求めた値に近いkeep-alive時間に自動設定する.本機構はリクエスト待機間隔を監視しながら,データを送受信していない接続を切断し,データを頻繁に送受信している多くのクライアントからの接続を保つようにkeep-alive時間を設定する.本機構をApacheウェブサーバを対象としたライブラリとして実装し,実験を行った.その結果,異なる2つの負荷に対して,それぞれkeep-alive時間を自動的に設定し,サーバの性能を適切に維持することを確認した.Manual parameter-tuning of Internet servers causes high administrative costs because it requires administrator's expertise and huge amounts of time. The keep-alive parameter, which is one of major parameters in web servers, may cause severe degradation if it is not set properly. In this paper, we present an automatic tuning technique of the keep-alive parameter. Our mechanism adjusts the parameter without administrator's intervention so as to maintain active connections between clients and a server while closing inactive connections by observing request-waiting intervals. We implemented a prototype for Apache web server. Experimental results show that our prototype automatically adjusted the parameter and successfully yielded the nearly optimal server performance on two different workloads.