Skip to main content
QUICK REVIEW

[論文レビュー] An Evolutionary Study of Configuration Design and Implementation in Cloud Systems (with Replication Package)

Yuanliang Zhang, Haochen He|arXiv (Cornell University)|Feb 14, 2021
Software System Performance and Reliability被引用数 2
ひとこと要約

本論文は、2.5年間にわたり4つの大規模クラウドシステム(HDFS、HBase、Spark、Cassandra)のバージョン管理履歴から抽出した1,178件の構成関連コミットを対象に、開発者が構成設計および実装をどのように進化させてきたかをソースコードレベルで分析した。研究では、誤構成の結果に起因する繰り返し発生するパターンが明らかになった。これにより、高価な障害を低減するため、構成工学の実践を能動的・予防的に改善する必要があることが示唆された。

ABSTRACT

Many techniques were proposed for detecting software misconfigurations in cloud systems and for diagnosing unintended behavior caused by such misconfigurations. Detection and diagnosis are steps in the right direction: misconfigurations cause many costly failures and severe performance issues. But, we argue that continued focus on detection and diagnosis is symptomatic of a more serious problem: configuration design and implementation are not yet first-class software engineering endeavors in cloud systems. Little is known about how and why developers evolve configuration design and implementation, and the challenges that they face in doing so. This paper presents a source-code level study of the evolution of configuration design and implementation in cloud systems. Our goal is to understand the rationale and developer practices for revising initial configuration design/implementation decisions, especially in response to consequences of misconfigurations. To this end, we studied 1178 configuration-related commits from a 2.5 year version-control history of four large-scale, actively-maintained open-source cloud systems (HDFS, HBase, Spark, and Cassandra). We derive new insights into the software configuration engineering process. Our results motivate new techniques for proactively reducing misconfigurations by improving the configuration design and implementation process in cloud systems. We highlight a number of future research directions.

研究の動機と目的

  • クラウドシステムにおける誤構成の結果に起因する構成設計および実装意思決定の変更方法を調査すること。
  • ソフトウェアの進化プロセス中に生じる構成工学における繰り返し発生する課題と実践を同定すること。
  • 大規模オープンソースクラウドシステムにおける構成変更の背後にある理由を理解すること。
  • 構成設計および実装プロセスの改善によって、誤構成を能動的に低減する新しい技術の開発を支援すること。
  • クラウドシステムにおける構成工学の今後の研究方向性を強調すること。

提案手法

  • 4つの大規模クラウドシステムのバージョン管理履歴から抽出した構成関連コミットを対象に、縦断的かつソースコードレベルでの分析を実施した。
  • 2.5年間にわたる開発活動をカバーする1,178件の構成関連コミットを収集・分析した。
  • 誤構成の修正、パフォーマンス向上、信頼性の向上といった動機に基づいて、構成変更を分類した。
  • 特に障害発生に起因する反応的対応としての構成意思決定の変更に関する繰り返し発生するパターンを同定した。
  • 定性的および定量的分析を用いて、開発者の実践および構成工学の課題に関するインサイトを抽出した。
  • 観察された構成進化のパターンから、設計原則および研究方向性を導出した。

実験結果

リサーチクエスチョン

  • RQ1開発者は、誤構成に起因する障害発生に起因して、どのように構成設計および実装意思決定を変更しているか?
  • RQ2大規模クラウドシステムにおける構成変更の主な動機は何であるか?
  • RQ3構成設計および実装の進化において、どのような繰り返し発生するパターンが顕在化するか?
  • RQ4構成変更は、観察されたシステム障害やパフォーマンス問題とどのように関連しているか?
  • RQ5構成工学実践の能動的改善を支援するインサイトは何か?

主な発見

  • 構成変更の顕著な割合が、誤構成に起因する障害に起因しており、これは予防的設計ではなく反応的設計であることを示している。
  • 開発者は実行時における問題に起因して頻繁に構成パラメータを変更しており、初期段階での堅牢な構成モデル設計の欠如を示唆している。
  • 多くの構成変更が反復的かつ段階的なものであり、事前設計意思決定ではなく継続的なチューニングを反映している。
  • 構成変更は、しばしば性能低下やシステムクラッシュといった運用フィードバックに起因しており、形式的な仕様定義や分析に起因するものではない。
  • 構成設計における標準化された実践の欠如が明らかになり、開発者が構成管理をどのように扱うかに著しいばらつきが見られた。
  • 導入後のデバッグに依存するのを減らすために、能動的構成設計を支援するツールおよび手法の強化が強く求められている。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。