著者
牧野 青希 橘 直雪 大越 匡 中澤 仁
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2022-OS-154, no.4, pp.1-8, 2022-03-07

クラウドサーバ型コンピューティングの普及に伴い,アプリケーションプログラムの実行にサーバレスアーキテクチャ(Function as a Service, FaaS)を採用できるようになった.この FaaS プラットフォームでは,一つの物理マシンの上で複数のユーザアプリケーションをホストし,アプリケーション同士の隔離のために Docker 等の Linux コンテナ環境や仮想マシンを用いることが多い.しかし,コンテナや仮想マシンの構築処理(コールドスタート)によるオーバヘッドは大きく,AR/VR/MR,自動運転車など,常に低遅延性を要求する用途で問題となる.その対処としてコンテナ・仮想マシンを常に準備状態にすることは,より多くのメモリ空間を消費し続け,ホスト可能なアプリケーション数の減少につながる.この問題の回避のために,コンテナに代わって WebAssembly を採用する試みがあるが,コンテナに比べて処理速度に劣る.そこで本研究では,準備状態のコンテナ環境を減らしながら短い応答時間を安定して実現する方式として,コンテナと WebAssembly を切り替えながら処理を行う手法を提案する.提案手法では,構築を含めたコンテナの処理時間,WebAssembly の処理時間をそれぞれ記録し,より早く応答できる方式を推測・選択する.これにより,コンテナのコールドスタートの問題,WebAssembly の処理速度の問題を同時に解決する.この提案手法のプロトタイプ実装における評価実験では,コンテナのみ・WebAssembly のみでの実行方式に比べて,常に適切な切り替えを行えること,応答時間に対するコールドスタートによる影響が減少すること,また準備状態で待機するコンテナ数が減少することが確かめられた.
著者
野澤 真伸 今村 智史 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2022-OS-155, no.7, pp.1-8, 2022-05-19

異種プログラミング言語を併用することで,それぞれの長所を活かしてアプリを実装する場合がある.その際,異種プログラミング言語間でデータ構造を共有する処理が必要となる.データ共有を行うためには,データ構造を特定のプログラミング言語やマシンアーキテクチャに依存しない中立なフォーマットを経由してやりとりすることが一般的である.中立なフォーマットへの/からの変換をシリアライズ/デシリアライズといい,特に不揮発性メモリのような高速ストレージを媒介してデータ共有を行う場合,そのオーバーヘッドは無視できない.本論文では異言語間でのデータ共有高速化の手法を提案する.異言語間でのデータ共有を行う場合,あらかじめデータ共有を行う言語やアーキテクチャが特定できる場合も多く,そのような状況に特化した方式を示す.例えば,数値計算の前処理を Julia で行い,その後の計算処理を Python で行う場合などがある.このような状況では,1) 汎用性の高い中立なフォーマットを用いる必要がないため,シリアライズ/デシリアライズが簡略化できることに加え,2) ランダムアクセスが高速であるという永続メモリの特性を活かしたシリアライズ/デシリアライズ処理が可能となる.提案手法を Python と Julia 間のデータ共有に用い,Python と Julia に実装された従来のシリアライズ/デシリアライズ処理と比較したところ,Python から Julia にデータを送信する場合は,配列のシリアライズとデシリアライズがそれぞれ 1.57 倍と 3.03×106 倍,辞書のシリアライズとデシリアライズが最大でそれぞれ 2.38 倍と 1.23 倍の高速化が可能であることがことが確認できた.また Julia から Python にデータを送信する場合は,配列のシリアライズとデシリアライズはそれぞれ 3.26 倍と 4.06×105 倍,辞書のシリアライズとデシリアライズは最大でそれぞれ 1.78 倍と 14.4 倍の高速化が可能であることが確認できた.
著者
山田 真大 林 和宏 鈴木 章浩 岡本 幸太 小林 良岳 本田 晋也 高田 広章
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS)
巻号頁・発行日
vol.2013-OS-126, no.18, pp.1-7, 2013-07-24

組込み向け機器に利用されるハードウェアの高性能化に伴い,組込み OS として Linux などの汎用 OS が搭載されるようになった.組込み機器では,リアルタイム性が重要視されるため,Linux を採用する場合,カーネルに改良を施すことでリアルタイム性を確保している.また,マルチコア CPU を搭載する組込み機器では,Linux が持つ CPU affinity の機能を用いることで,シングルコアでは不可能であった高負荷時におけるリアルタイム性も確保することが可能になった.しかし,CPU コア毎に存在するカーネルスレッドは CPU affinity を適用することができず,また,この処理がまれに引き起こすタイマのカスケード処理には多くの処理時間を必要とし,リアルタイム性を阻害する原因となる.本論文では,マルチコア CPU の各コアを,リアルタイム性を必要とする CPU コアと不要とする CPU コアに分割し,リアルタイム性を必要とする CPU コアでは,タイマのカスケード処理を発生させないよう事前に対策を施すことで,リアルタイム性を確保する手法を提案する.
著者
斎藤 奨悟 追川 修一
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS)
巻号頁・発行日
vol.2012-OS-120, no.1, pp.1-8, 2012-02-21

近年,アプリケーションの動作を高速化するため,プロセッサが SIMD(Single Instruction Multiple Data) ユニットを搭載することが一般的となっている.SIMD ユニットは,動画像など,大きなデータ処理の高速化に用いられるが,システムソフトウェアで利用されることは想定されていない.しかし,OS(Operating System) カーネルは多くのデータを扱う特徴を持つため,SIMD ユニットを活用することで高速化を図る事が出来る箇所があると考えられる.本研究では、システムソフトウェアにおける SIMD ユニットを活用するための考察および,検証を行った.また,実際の適用例として,OS カーネルにおけるデータコピーにまつわる処理の高速化を確認した.
著者
藤枝 崇史 新井 淳也 大村 圭 藤田 智成
雑誌
研究報告システムソフトウェアとオペレーティング・システム(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:21888795)
巻号頁・発行日
vol.2018-OS-142, no.3, pp.1-7, 2018-02-20

ファイルシステムにおけるテール ・ レイテンシ (tail latency) は,サービス品質を保証する上での障壁となることが知られている.現在のファイルシステムにおける最適化は,アクセス性能を平均的に向上させることを主目的としているため,アクセス状況によってはすべての最適化が無効となり,テール ・ レイテンシが増大する傾向にある.テール ・ レイテンシが増大する状況は,メタデータの管理手法,最適化の手法,アクセスパターンによって異なってくる.本研究では,btrfs,ext4,XFS,F2FS という 4 つのファイルシステムを対象に,テール ・ レイテンシが増大する要因を定量的に分析した結果を示す.
著者
菊地 隆文 名取 廣 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2020-OS-150, no.15, pp.1-8, 2020-07-23

現代の情報サービスは,分散システムが基盤となっている.分散システムにおいて,大規模な障害が発生すると,サービスの停止につながる.したがって,分散システムの信頼性を向上させることは重要な課題である.分散システムにおける障害の発生要因の 1 つに,パケット処理のテイル・レイテンシがある.例えば,ハートビートの遅延は,リソースモニタリングの遅延や障害の誤検知を引き起こす.このようなパケットの遅延は,ソフトウェアが要因となり発生することが報告されている.高速なパケット処理を可能とする技術として,DPDK や XDP が挙げられるが,他の割込みによる遅延や既存のシステムへの統合などの課題が残る.本論文では,オペレーティングシステム内において,パケット処理のテイル・レイテンシを削減するシステムを提案する.ハードウェア割込みハンドラ内に,安全にユーザーコードをロードし,パケット処理を可能とすることで,テイル・レイテンシを引き起こす要因を回避する.本システムの有効性を示すため,I/O 負荷がある状態において,パケットのエコープログラムを用いてラウンドトリップタイムを測定した.その結果,DPDK や XDP といった既存の技術と比較して,パケット処理のテイル・レイテンシを削減できることを確認した.
著者
市川 遼 坂本 龍一 中村 宏 並木 美太郎
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2020-OS-148, no.3, pp.1-7, 2020-02-20

メモリアクセスのパターンを解析することは,アプリケーションのパフォーマンス改善において非常に重要である.しかしメモリアクセスは頻繁に発行され,そのログが膨大になってしまうため,実行時間に影響を与えずにトレースを得ることは困難である.そこで本発表では,ハイパーバイザと Intel Optane DC Persistent Memory を用いたメモリトレースシステムを提案する.BitVisor を拡張した LVisor によって,Optane DCPM の持つ高速な大容量ストレージを解析用途に利用する方法を検討した.
著者
中尾 鷹詔 久保田 智規 吉田 英司
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2020-OS-148, no.7, pp.1-6, 2020-02-20

近年,動画データの増大が著しく,どのようにサーバやクラウドに転送・蓄積するかが課題となっている.また,ディープラーニング技術の進化に伴い AI による画像解析の需要が高まっている.そこで,我々は動画像を解析可能かつより小さなデータサイズに符号化する手法を研究している.本稿では物体検出手法の一つである YOLOv3 を対象として,AI が物体を検出するのに必要な領域を解析し,不要な領域のみ画質を劣化させる高効率な動画像符号化方式を提案する.本手法を用いることで,人が解析することを想定した符号化方式と比べて圧縮率と検出率が向上することを確認した.
著者
横山 遼 坂本 龍一 中村 宏
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2020-OS-148, no.9, pp.1-9, 2020-02-20

複数の物理マシンにまたがって動作するマイクロサービスによるアプリケーションで,通信オーバーヘッドが問題となっている.物理マシン間通信削減のためマイクロサービスを少数マシンに集約配置すると,リソース使用量に偏りが生じ一部のマシンがボトルネックとなりスループットが低下しうる.本研究ではリソース使用量の複数マシンへの配分と物理マシン間通信の削減をアプリケーションに合わせたバランスで行う,マイクロサービスの物理マシンへの最適配置アルゴリズムを提案する.その後,既存のマイクロサービスアプリケーションにも容易に導入可能な最適化システムおよび評価環境を実装した.ベンチマークを用いた性能評価では,マイクロサービス動作環境のデファクトスタンダードである Kubernetes スケジューラと比較してより均一なリソース使用量配分および通信時間削減を果たし,スループット・レイテンシ共に改善を果たした.
著者
渡部 聡也 後藤 秀樹 山中 直道 鄭 俊俊 毛利 公一
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2020-OS-148, no.6, pp.1-6, 2020-02-20

近年,様々な製品は,高機能,高性能化が要求されており,内蔵する組込み機器の数が増加している.内蔵する組込み機器が増加することにより,消費電力の増加やコストの増加,製品の内部スペースの圧迫,ネットワークの複雑化といった問題がある.この問題を解決するための方法として,複数の組込み機器で動作するソフトウェアを 1 つの組込み機器に集約する方法がある.しかし,複数のソフトウェアを 1 つに集約するとメモリ空間の競合やデバイスの競合といった問題が発生するため,複数のソフトウェアが互いに影響を及ぼさないように動作させる必要がある.複数のソフトウェアを動かす方法として,仮想化が用いられるが,仮想化ではエミュレーションによるオーバヘッドが発生する.また,仮想化で使用する VMM は規模として大きくなるため組込み機器の限られたメモリ資源を圧迫してしまう.以上の背景から本論文では,マルチコアプロセッサを用いて,複数の組込みソフトウェアを起動してハードウェアを直接割当てることでオーバヘッドを減らす制御基盤ソフトを提案し,提案した基盤ソフト上で複数組込みソフトウェアを動作させる機能について述べる.
著者
Fumiya Shigemitsu Mitsugu Suzuki
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2019-OS-145, no.6, pp.1-9, 2019-02-21

Emerging Non-Volatile Main Memories (NVMMs) are expected to be next-generation storage. These memories promise to enable persistent memory, which can store data persistently at the main memory level with low latency. Therefore, the traditional primary storage hierarchy is extended to the non-volatile part by them. Integrating NVMM into computer systems includes some interesting challenges though they are expected to realize a fast and reliable computer system when using them. We explore NVMMs feature and how to handle them efficiently as main storage through developing a new file system in the Linux kernel which exploits memory hierarchy including NVMMs.
著者
堀江光 浅原理人 山田浩史 河野健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS)
巻号頁・発行日
vol.2014-OS-128, no.11, pp.1-10, 2014-02-27

近年,複数のデータセンタ間を跨いで提供されるクラウド環境が登場している.これは各データセンタで稼働する計算資源を集約することで,クラウド環境の特徴である伸縮性や可用性の向上を図っている.スケーラビリティの観点から,このような多数のサーバを用いた環境での利用に適したストレージのひとつとして分散型キーバリューストアがあるが,データセンタ間を結ぶ狭帯域・高遅延なネットワークにより性能が著しく低下する問題がある.この問題を解決するために,本研究では Local-first Data Rebuilding (LDR), Multi-Layered Distributed Hash Table (ML-DHT) という 2 つの手法を用いてキーバリューストアを構築する方法を提案する.LDR は保存データに冗長性を与えた上で分割することで,ストレージ使用量の増加を抑えつつデータセンタ間通信の量を軽減する.ML-DHT はデータセンタ間通信を最小限に抑えたルーティングにより,通信遅延を抑えたデータ探索を実現する.実験により提案手法が,代表的な DHT である Chord を用いた手法を用いた場合と比較し,データ探索のための通信遅延を約 74%軽減し,ストレージ使用量とデータセンタ間通信量のバランスを柔軟に設定できることを示した.
著者
東 耕平 竹腰 開 深井 貴明 品川 高廣 加藤 和彦
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2016-OS-136, no.9, pp.1-8, 2016-02-22

仮想化技術を用いたクラウドコンピューティングによって提供されるサービスが広く利用されている中,ベアメタルクラウドと呼ばれる新しいサービスが近年注目を集めている.ベアメタルクラウドとは Infrastructure as a Serivce (IaaS) の一種であるが,従来の IaaS がユーザに対して仮想マシンを提供するのに対し,ベアメタルクラウドは物理マシンを提供する.これによって,ユーザは安定して高い性能・機能を発揮するマシンを比較的安価かつ容易に利用することが出来る.しかし物理マシンをユーザにそのまま提供してしまうと,ユーザは物理マシンのハードウェアに直接アクセスすることが可能になるため,重要な情報が記憶されている EEPROM などの不揮発性領域のデータが書き換えられてしまうことによって,マシンが恒久的に起動しなくなったりマルウェアに感染して次のユーザが影響を受けるなどの問題が発生する可能性がある.本稿では,軽量なハイパーバイザを利用して,重要なデータが記憶されている不揮発性領域へのアクセスを遮断する手法を提案する.これにより,ベアメタルクラウドの利点は維持しつつも,クラウド事業者が物理マシンのハードウェアを保護して安全性を確保できるようにする.
著者
迫田 賀章 青田 直大 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(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-146, no.8, pp.1-8, 2019-05-23

近年,クラウドサービスの一つとして,ユーザに仮想マシン(VM)を提供する IaaS 型クラウドが普及している.それに伴い,大容量のメモリを持つ VM が提供されるようになってきている.このような VM のマイグレーションを容易にするために,VM のメモリを複数の小さなホストに分割して転送する分割マイグレーションが提案されている.分割マイグレーション後にはリモートページングを行って VM が必要とするメモリをホスト間で転送する.しかし,従来のリモートページングでは必要とされたメモリの中に使用中のデータがなかったとしても転送を行う必要があった.本稿では,未使用メモリに関連するオーバヘッドを削減することで複数ホストにまたがる VM の高速化を実現するシステム FCtrans を提案する.FCtrans は VM の起動時から未使用メモリを追跡し,分割マイグレーション後も追跡を続ける.この情報を用いて,マイグレーション時には移送先ホストに未使用メモリを転送しないようにする.そして,分割マイグレーション後には未使用メモリに対してリモートページングを行わないようにし,未使用メモリにアクセスした VM の実行を即座に再開する.OS が解放したメモリページも未使用メモリとして扱えるように,VM の外から OS のページ管理情報を取得する.FCtrans を KVM に実装し,従来手法と性能を比較する実験を行った.
著者
下村 剛志 山田 浩史
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2019-OS-146, no.11, pp.1-10, 2019-05-23

メモリは外的要因によるビットフリップやモジュールの故障により保存したデータが呼び出せなくなることがある.特に In-Memory Key-Value Store(In-Memory KVS)はメモリを大量に使用するのでメモリページのエラーに遭遇する可能性が高いアプリケーションの一つである.しかし,In-Memory KVS はメモリ上に全ての key-value を展開しており,再起動にかかるコストが高い.既存研究では ECC などの誤り訂正符号を用いたエラーの回復を行っているが,広範囲に渡るメモリのエラーには対応できていない.本論文では,メモリに部分的な故障が生じたとしても,In-Memory KVS を継続して稼働可能にする手法を提案する.提案手法では OS Kernel と In-Memory KVS を連携させ,メモリページのエラー発生時に破損ページに保存されていたデータオブジェクトの回復処理を行い,動作を継続させる.本研究では Linux Kernel 4.13.9 と memcached 1.4.39 に提案手法の実装を行った.評価実験を行い,メモリエラー発生時でも約 3 秒のダウンタイムでスループットの劣化無しに動作が継続することを確認した.
著者
高杉 頌 佐藤 将也 谷口 秀夫
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2019-OS-146, no.12, pp.1-7, 2019-05-23

不揮発性メモリのアクセス速度が速くなっている.そこで,揮発性メモリと不揮発性メモリが混載された計算機を想定し,プログラム実行を高速化する手法として,新たな実行プログラムのファイル形式(OFF2F: Object File Format consisting of 2 Files)を提案した.OFF2F は,プログラムをメモリ上で実行するときのアクセス形態に着目し,2 つのファイルからなる実行ファイル形式である.本稿では,混載環境として,揮発性メモリのみを搭載した計算機で不揮発性メモリを擬似的に実現する手法を述べる.また,この擬似不揮発性メモリを用いて,OFF2F プログラムを実行する方式を述べる.
著者
水木 航平 廣津 登志夫
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2019-OS-145, no.14, pp.1-8, 2019-02-21

近年,多くの企業でコンテナ型仮想化によるマイクロサービスアーキテクチャが広く使われるようになってきた.コンテナ型仮想化は起動時間が高速でイメージ管理が容易であるという特徴があり,Linux 向けのコンテナ仮想化技術としては Docker が広く使われている.このようなコンテナ型仮想化の利用場面を考えると,誤編集や誤操作によりサービス基盤となる重要な情報を壊してしまう人為的ミスや,攻撃によりコンテナ内のコンテンツが改竄されるリスクに対処する仕組みが必要になってくる.そこで,本研究では Docker のイメージ管理に使用される OverlayFS を改良して任意のタイミングでスナップショットを保存する機能を実現する.ここでは,状態の保存と観測というそれぞれの目的に適したスナップショットの方法として,ノーマルモードと強制書き出しモードの 2 つの方法を用意した.
著者
安野 直樹 石黒 健太 河野 健二
雑誌
研究報告システムソフトウェアとオペレーティング・システム(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 スケジューリングを行っているものの,現状では十分に機能していないことを示す.