研究会 運用技術

第12回インターネットと運用技術シンポジウム(IOTS2019)で多環境での運用性を考慮した自律適応型オートスケーリング制御系についてポスター発表をしました

研究会 運用技術

ペパボ研究所 研究員/プリンシパルエンジニアの三宅(@monochromegane)です。 2019年12月5日から2日間に渡って開催された、第12回インターネットと運用技術シンポジウム(IOTS2019)で、ペパボ研究所からポスター発表を行いましたので論文とポスターと共に紹介します。

Kaburaya AutoScaler: 多環境での運用性を考慮した自律適応型オートスケーリング制御系

情報システムのスケーラビリティを確保するためオートスケーリング機能が普及する一方で、開発運用者は情報システムの処理性能を保つ必要最小限のサーバ数を、経験と地道なチューニングを通して個別に求めています。 管理対象の情報システムが継続的に更新され、かつ複数となる場合、これらを網羅・追従することは困難となります。

情報システムの性能を把握するため、自動的な性能測定が行われています。 しかしながら評価環境での測定では本番環境との誤差を考慮せねばなりませんし、かと言って本番環境に対する継続的な負荷試験もサービス品質の観点からは避ける必要があります。 そこで、本番環境の状況に応じて実行時にフィードバック制御を用いてサーバ台数を決定する方式が提案されています。 この方式では情報システムの変化に対する追従性が高い一方、制御量となるサーバ台数を処理性能の過不足のみから探索的に求めるため時間がかかってしまいます。 処理性能が不足すると情報システムの不安定性が増大することから、サーバ台数は即時に定まることが望ましいです(フィードバック制御の収束性能を向上させるためのゲインのチューニングが発生することは運用負荷の軽減という目的からはやや遠ざかります)。

また、オートスケーリングには要求処理量の増加を検知するまでと、検知してから処理能力が投入され稼働するまでの二種類の時間差が発生します。 情報システムの安定性を保つためには、この「入力の遅れ」と「出力の遅れ」に伴う未処理の処理要求の蓄積に対処しなければなりません。 変化点検出やサーバ起動高速化の技術によって遅れを少なくすることはできますが、ゼロにはできないため依然として対策は必要です。

そこで、本研究では継続的に変更されうる複数の情報システムに対し、運用負担を抑えながらオートスケーリング機能を安定して運用するため、サーバの処理性能を実行時に自動かつ継続的に推定し、オートスケーリングの遅れも考慮した最適なサーバ数を算出する制御系を提案しました。

提案手法では、サーバの処理性能として単位時間あたりの上限を用います。 処理数の上限が得られない低負荷時には単位時間の平均レスポンスタイムの逆数も用いること、これらから推定したサーバ性能に対し、遅れによる未処理の要求数を推定し、必要なサーバ台数を算出します。 算出の詳細は論文ならびに以下のポスターを参照ください。

シミュレーションによる予備評価では、対象の情報システムが一般的な待ち行列モデルであるM/M/Sモデルに従っていると仮定した上で、サーバ性能とサーバ台数の継続的な推定が行えること、遅れによる未処理の要求が速やかに解消することを確認しました。

今後は、実用化に向けて並列処理を前提としたサーバ適用や実環境の要求処理量,遅れ時間での評価を進めて行きます。

論文

ポスター

発表を終えて

今回、ファーストオーサーの論文では、はじめてポスターセッションに参加しました。 投稿においては丁寧な査読もあり、論文の質が向上したのはもちろんのこと、当日も手法の良さを強調するための評価手法や手法自体の拡張など様々な意見交換を行うことができ、非常に有意義な時間となりました。

次回のシンポジウムは論文投稿を行い、優秀賞にも挑戦していければなと思います。

iots2019

ポスターの前で説明をする筆者(左)


【PR】パートナー積極採用中!

ペパボ研究所では、新しいパートナーを求めています。詳細については、当研究所のトップページをご覧ください。