In modern computing environments, users may have multiple systems accessible to them such as local clusters, private clouds, or public clouds. This abundance of choices makes it difficult for users to select the system and configuration for running an application that best meet their performance and cost objectives. To assist such users, we propose a prediction tool that predicts the full performance-cost trade-off space of an application across multiple systems. Our tool runs and profiles a submitted application on a small number of configurations from some of the systems, and uses that information to predict the application's performance on all configurations in all systems. The prediction models are trained offline with data collected from running a large number of applications on a wide variety of configurations. Notable aspects of our tool include: providing different scopes of prediction with varying online profiling requirements, automating the selection of the small number of configurations and systems used for online profiling, performing online profiling using partial runs thereby make predictions for applications without running them to completion, employing a classifier to distinguish applications that scale well from those that scale poorly, and predicting the sensitivity of applications to interference from other users. We evaluate our tool using 69 data analytics and scientific computing benchmarks executing on three different single-node CPU systems with 8-9 configurations each and show that it can achieve low prediction error with modest profiling overhead.
翻译:在现代计算环境中,用户可能可以访问多个系统,例如本地集群、私有云或公共云。这种选择的丰富性使得用户难以选择最符合其性能和成本目标的系统和配置来运行应用程序。为了帮助这样的用户,我们提出了一个预测工具,可以预测跨多个系统的应用程序的整个性能成本权衡空间。我们的工具在一些系统的少量配置上运行和分析提交的应用程序,并使用该信息来预测所有系统中所有配置的应用程序性能。预测模型是离线训练的,使用从在广泛的配置上运行大量应用程序收集的数据。我们工具的显著特点包括:提供不同范围的预测,具有不同的在线分析要求,自动选择用于在线分析的少量配置和系统,使用部分运行来执行在线分析,从而使无需运行完整应用程序即可进行预测,并使用分类器区分良好扩展性的应用程序和扩展性较差的应用程序,以及预测应用程序对来自其他用户的干扰的敏感性。我们使用在三个具有8-9个配置的单节点CPU系统上执行的69个数据分析和科学计算基准来评估我们的工具,表明它可以实现低预测误差,并带有适度的分析开销。