Finding heterogeneous-unsafe configuration parameters in cloud systems

Finding heterogeneous-unsafe configuration parameters in cloud systems
复制标题

DOI:
10.1145/3447786.3456250
复制
发表时间:
2021-04
期刊:
Proceedings of the Sixteenth European Conference on Computer Systems
影响因子:
--
通讯作者:
Sixiang Ma;Fang Zhou;Michael D. Bond;Yang Wang
Sixiang Ma;Fang Zhou;Michael D. Bond;Yang Wang
中科院分区:
其他
文献类型:
--
作者:
Sixiang Ma;Fang Zhou;Michael D. Bond;Yang Wang

文献摘要

被引文献

相似文献

随着异构硬件的日益普及和在线重新配置需求的不断增长,对异构配置的需求也在不断增长。但是,允许不同的节点具有不同的配置可能会在这些节点通信时导致错误,即使每个节点的配置使用有效值。为了测试哪些配置参数在以异构方式配置时是不安全的,这项工作重用现有的单元测试,但使用异构配置运行它们。为了解决单元测试经常在不同节点之间共享配置的挑战,我们结合了几种方法来准确地将配置对象映射到节点。为了解决有太多测试要运行的挑战,我们(1)“预运行”单元测试来确定每个配置参数的有效单元测试,(2)引入池测试来一起测试几个参数。我们的评估在Flink,HBase,HDFS,MapReduce和YARN中发现了41个异构不安全的配置参数。我们进一步提出了建议和解决办法,使这些参数的子集异构安全。
With the increasing prevalence of heterogeneous hardware and the increasing need for online reconfiguration, there is increasing demand for heterogeneous configurations. However, allowing different nodes to have different configurations may cause errors when these nodes communicate, even if the configuration of each node uses valid values. To test which configuration parameters are unsafe when configured in a heterogeneous manner, this work reuses existing unit tests but runs them with heterogeneous configurations. To address the challenge that unit tests often share the configuration across different nodes, we incorporate several heuristics to accurately map configuration objects to nodes. To address the challenge that there are too many tests to run, we (1) "pre-run" unit tests to determine effective unit tests for each configuration parameter and (2) introduce pooled testing to test several parameters together. Our evaluation finds 41 heterogeneous-unsafe configuration parameters in Flink, HBase, HDFS, MapReduce, and YARN. We further propose suggestions and workarounds to make a subset of these parameters heterogeneous safe.