研究課題/領域番号 |
21K11878
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60060:情報ネットワーク関連
|
研究機関 | 大同大学 |
研究代表者 |
君山 博之 大同大学, 情報学部, 教授 (10757644)
|
研究期間 (年度) |
2021-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,160千円 (直接経費: 3,200千円、間接経費: 960千円)
2023年度: 390千円 (直接経費: 300千円、間接経費: 90千円)
2022年度: 390千円 (直接経費: 300千円、間接経費: 90千円)
2021年度: 3,380千円 (直接経費: 2,600千円、間接経費: 780千円)
|
キーワード | 分散メッセージキュー / Apache Kafka / 疑似クラウド / VM / KVM / 性能モデル / NFV / 仮想システム |
研究開始時の研究の概要 |
クラウドとして世の中数多く利用されている仮想マシン(VM)については,その性能が精度良く評価できないという問題があることから,多くのユーザは必要数以上のVMを利用し,処理を行っているのが現状である.VMの性能を正しく評価できない原因として,VMがCPUやメモリなどのハードウェアを他のVMと共有して利用しており,共有に起因する性能劣化を精度よく評価できていないことが挙げられる.そこで,本研究では,実測データを元にしたモデル化とシミュレーションとの組み合わせによって,ハードウェア共有による性能劣化を高精度に推定する手法を確立し,VMを使った無駄のないシステム設計法の確立を目指す.
|
研究実績の概要 |
複数VM上で同時に処理を行った場合のVM負荷のVM数に対する関係を評価するために,2022年度は,2021年度に導入したPCサーバを用いて,大同大学内に構築した疑似的なクラウド環境に立ち上げた複数のVMそれぞれに対して,オープンソースソフトウェアのメッセージキューイングシステムであるApache Kafkaを導入し,複数VMを使った並列分散型のメッセージキューイングKafka Brokerシステムを実現した.さらに,そのKafka Brokerシステム内の任意の数のKafka Brokerに対してメッセージの分散書き込みを行うためのKafka Producerアプリケ-ション,および,任意の数のKafka Brokerから分散書き込みされたメッセージを読み出すためのKafka Cunsumerアプリケーションの設計およびその実装を行った. これらのシステムを使って,分散されたKafka Brokerに対してKafka Producerアプリケーションからほぼ均等にメッセージを書き込めること,および,Kafka Brokerに対して分散書き込みされたメッセージをKafka Consumerアプリケ-ションで読み出せることを確認した. 一方で,Kafka Producerアプリケ-ションによる書き込み処理実行時のVMおよびKafka Producerアプリケ-ションを実行したPCについてCPU負荷を測定したところ,Kafka Brokerの数に対してほとんどの変動のないことが確認され,複数のKafka Brokerに対するメッセージの書き込みが並列に行われず,1VMずつシリアライズされて実行されていることが判明した.これらのことから,同時に実行するVM数に対する負荷を計測したい場合には,並列化のための実装がKafka ProducerアプリケーションおよびKafka Consumerアプリケ-ションの両方に必要であることが判った.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
Apache Kafkaがバージョン3に更新されたときに複数のVMを使った分散環境の構築方法の変更があり,さらに,公開されているドキュメントにそのことがほとんど書かれておらず,環境構築に大幅な時間を費やしてしまった.さらに,並列書き込みおよび並列読み出しを行うためには,ドキュメントには無い実装が必要であることが判明するまでにも,相当な時間を費やしてしまった.
|
今後の研究の推進方策 |
2023年度は,Apache Kafkaで利用できる並列書き込みと並列読み出しができる,Kafka ProducerアプリケーションおよびKafka Consumerアプリケ-ションを設計実装し,大同大学内に構築した擬似的なクラウド環境上に複数のVMを設定し,そこで,Apache Kafkaを使った分散メッセージキューシステムを使った場合,VMでの処理負荷がVM数に対してどのように変化するかを実測する.それと並行して,並列書き込みと並列読み出しができる簡易な複数VMを使ったデータベースシステムを実装し,Mでの処理負荷がVM数に対してどのように変化するかを実測する.これらの実測結果を元にVMの処理負荷を記述することが出来る数学モデルを提案し,その実証を行っていく予定である.
|