论文标题
阵列感知匹配:驯服大规模仿真模型的复杂性
Array-Aware Matching: Taming the Complexity of Large-Scale Simulation Models
论文作者
论文摘要
基于方程式的建模是一种强大的方法,可以驯服大规模仿真问题的复杂性。基于方程式工具会自动将模型转化为命令性语言。然而,当面对当今的问题时,经过评估的模型翻译技术表现出可扩展性问题,当模型包含非常大的阵列时,这些问题特别严重。实际上,通过将方程式封闭到循环结构中,可以使这些模型非常紧凑,但是将相同的紧凑性反映到翻译的命令式代码中并不是一个小问题。在本文中,我们通过专注于方程式转换的关键步骤,即方程/变量匹配来面对这个问题。我们首先表明,通过定义一个功绩来衡量沿翻译的循环构建体的数量,对具有(大)阵列的模型的有效翻译需要对它们的存在的认识。然后,我们表明,所述功绩允许定义最佳阵列吸引的匹配,并且作为我们的主要结果,所述的最佳阵列吸引匹配问题是NP完整的。作为另一个结果,我们提出了一种能够在多项式时间内执行阵列了解匹配的启发式算法。模型转换器开发人员可以熟练地使用所提出的算法,以实现大规模系统仿真的有效工具。
Equation-based modelling is a powerful approach to tame the complexity of large-scale simulation problems. Equation-based tools automatically translate models into imperative languages. When confronted with nowadays' problems, however, well assessed model translation techniques exhibit scalability issues, that are particularly severe when models contain very large arrays. In fact, such models can be made very compact by enclosing equations into looping constructs, but reflecting the same compactness into the translated imperative code is not trivial. In this paper, we face this issue by concentrating on a key step of equations-to-code translation, the equation/variable matching. We first show that an efficient translation of models with (large) arrays needs awareness of their presence, by defining a figure of merit to measure how much the looping constructs are preserved along the translation. We then show that the said figure of merit allows to define an optimal array-aware matching, and as our main result, that the so stated optimal array-aware matching problem is NP-complete. As an additional result, we propose a heuristic algorithm capable of performing array-aware matching in polynomial time. The proposed algorithm can be proficiently used by model translator developers in the implementation of efficient tools for large-scale system simulation.