When faced with changing environment, highly configurable software systems need to dynamically search for promising adaptation plan that keeps the best possible performance, e.g., higher throughput or smaller latency -- a typical planning problem for self-adaptive systems (SASs). However, given the rugged and complex search landscape with multiple local optima, such a SAS planning is challenging especially in dynamic environments. In this paper, we propose LiDOS, a lifelong dynamic optimization framework for SAS planning. What makes LiDOS unique is that to handle the "dynamic", we formulate the SAS planning as a multi-modal optimization problem, aiming to preserve the useful information for better dealing with the local optima issue under dynamic environment changes. This differs from existing planners in that the "dynamic" is not explicitly handled during the search process in planning. As such, the search and planning in LiDOS run continuously over the lifetime of SAS, terminating only when it is taken offline or the search space has been covered under an environment. Experimental results on three real-world SASs show that the concept of explicitly handling dynamic as part of the search in the SAS planning is effective, as LiDOS outperforms its stationary counterpart overall with up to 10x improvement. It also achieves better results in general over state-of-the-art planners and with 1.4x to 10x speedup on generating promising adaptation plans.
翻译:在面对不断变化的环境时,高度可配置的软件系统需要动态地寻找有希望的适应计划,以保持最佳性能,例如,更高的吞吐量或较小的延缓度 -- -- 这是自我适应系统(SAS)的一个典型的规划问题。然而,鉴于搜索场面崎岖而复杂,多处局部选择,这种SAS的规划特别在动态环境中具有挑战性。在本文件中,我们提议LIDOS系统,一个终身动态优化框架,用于SAS规划。使得LIDOS的独特之处是处理 " 动态 ",我们将SAS规划作为一个多式优化问题,目的是保存有用的信息,以便在动态环境变化的情况下更好地处理本地的opima问题。这与现有的规划者不同,因为 " 动态 " 在规划过程中没有明确地处理,因此,SAS的搜索和规划工作在SAS的一生中持续进行,只有在离线或搜索空间正在形成时才会结束。我们三个现实世界的SASSSAS的实验结果显示,明确处理动态的概念是SAS系统总体搜索和40度计划的一部分。