Object stores are widely used software stacks that achieve excellent scale-out with a well-defined interface and robust performance. However, their traditional get/put interface is unable to exploit data locality at its fullest, and limits reaching its peak performance. In particular, there is one way to improve data locality that has not yet achieved mainstream adoption: the active object store. Although there are some projects that have implemented the main idea of the active object store such as Swift's Storlets or Ceph Object Classes, the scope of these implementations is limited. We believe that there is a huge potential for active object stores in the current status quo. Hyper-converged nodes are bringing more computing capabilities to storage nodes --and viceversa. The proliferation of non-volatile memory (NVM) technology is blurring the line between system memory (fast and scarce) and block devices (slow and abundant). More and more applications need to manage a sheer amount of data (data analytics, Big Data, Machine Learning & AI, etc.), demanding bigger clusters and more complex computations. All these elements are potential game changers that need to be evaluated in the scope of active object stores. In this article we propose an active object store software stack and evaluate it on an NVM-populated node. We will show how this setup is able to reduce execution times from 10% up to more than 90% in a variety of representative application scenarios. Our discussion will focus on the active aspect of the system as well as on the implications of the memory configuration.
翻译:使用范围很广的软件仓库是使用范围很广的软件堆叠,能够以明确界定的界面和稳健的性能实现极佳的扩展。然而,传统的获取/点界面无法充分利用数据位置,无法充分利用数据位置,并限制其峰值性性能。特别是,有一个方法可以改善尚未实现主流采纳的数据位置:活动对象仓库。虽然有些项目已经实施了活动对象仓库的主要想法,如Swift的Storrlets 或Ceph对象类,但执行范围有限。我们认为,在当前状态下,活动对象仓库有巨大的潜力。超相趋异的节点正在给存储节点 -- -- 和逆差性性性能带来更多的计算能力。非动态内存(NVM)技术的扩散正在模糊系统存储存储(快和紧缺)和块设备(低和丰富)之间的线条线。越来越多的应用程序需要管理大量数据(数据分析、大数据、机器学习和AI等),要求更大的集群和更复杂的计算。所有这些元素都是存储器中的潜在的计算能力,我们需要在数据库中进行一个积极的游戏变现的游戏焦点,我们需要在存储中选择一个系统上,在10个选项上显示一个活跃的选项上,我们将如何显示一个运动的系统将如何显示一个运动的系统将如何显示一个运动的缩缩缩缩缩缩。