Many applications in important problem domains such as machine learning and computer vision are streaming applications that take a sequence of inputs over time. It is challenging to find knob settings that optimize the run-time performance of such applications because the optimal knob settings are usually functions of inputs, computing platforms, time as well as user's requirements, which can be very diverse. Most prior works address this problem by offline profiling followed by training models for control. However, profiling-based approaches incur large overhead before execution; it is also difficult to redeploy them in other run-time configurations. In this paper, we propose Sonic, a sampling-based online controller for long-running streaming applications that does not require profiling ahead of time. Within each phase of a streaming application's execution, Sonic utilizes the beginning portion to sample the knob space strategically and aims to pick the optimal knob setting for the rest of the phase, given a user-specified constrained optimization problem. A hybrid approach of machine learning regressions and Bayesian optimization are used for better overall sampling choices. Sonic is implemented independent of application, device, input, performance objective and constraints. We evaluate Sonic on traditional parallel benchmarks as well as on deep learning inference benchmarks across multiple platforms. Our experiments show that when using Sonic to control knob settings, application run-time performance is only 5.3% less than if optimal knob settings were used, demonstrating that Sonic is able to find near-optimal knob settings under diverse run-time configurations without prior knowledge quickly.
翻译:在诸如机器学习和计算机视觉等重要问题领域的许多应用中,许多重要的问题领域,例如机器学习和计算机视觉,正在流出各种应用,这些应用需要一定的时间输入顺序。找到能够优化这些应用的运行时间性能的Knob设置是困难的,因为最佳的 knob 设置通常是投入、计算平台、时间以及用户要求等功能的功能,这些功能可能非常多样化。大多数先前的工作都通过离线剖析来解决这个问题,然后以培训模式来控制。然而,基于剖析的方法在实施之前需要大量的间接费用;在其他运行时段配置中,也很难重新调配它们。在本文中,我们建议为长运行的流流应用设置建立一个基于抽样的在线控制器,这个设置不需要提前进行剖析。在流应用执行的每个阶段中,Snoc 使用初始部分来抽样 knob 空间的战略,目的是为该阶段的其余部分选择最佳的 knob 设置。由于用户定义的优化问题,因此只能使用机器学习回归和巴耶斯最优化的混合方法来改进总体采样选择。 Sonic 将应用软件独立应用应用程序、设备、设备、设备、性输入、性、性、性、性目标和性目标和约束在不要求下运行之前的测试中,因此在运行前的进度中,我们用来显示前的进度的进度基准显示。