中文

knor:面向NUMA架构的内存分布式和准外部内存k-means库

分布式、并行与集群计算 2017-06-27 v6

摘要

k-means是最具影响力和应用最广泛的机器学习算法之一,其计算限制了许多统计分析和机器学习任务的性能和可扩展性。我们重新思考并在现代NUMA架构下对k-means进行优化,开发出一种新颖的并行方案,以延迟和最小化同步屏障。\textit{k-means NUMA Optimized Routine} (\textsf{knori}) 库包含(i)内存模式 (\textsf{knori})、(ii)分布式内存模式 (\textsf{knord}) 和(iii)准外部内存模式 (\textsf{knors}) 三个模块,显著提升了在不同内存和硬件预算下k-means的性能。\textsf{knori} 对于单机数据集提升性能可达一个数量级或更多。\textsf{knors} 在SSD内存预算下提升了k-means的可扩展性,\textsf{knors} 能在单机上扩展到数十亿数据点,所需资源远少于分布式内存系统。\textsf{knord} 保持\textsf{knori} 的性能特征,同时通过分布式计算在云端扩展内存模式。\textsf{knor} 修改了Elkan的三角不等式修剪算法,使其能在数十亿数据点上使用,而不必像原始算法那样付出显著的内存开销。我们展示\textsf{knor} 在 10710^710910^9 数据点的规模上,比H2_2O、Turi(前身为Dato、GraphLab)和Spark的MLlib等商业产品快一个数量级以上。

关键词

引用

@article{arxiv.1606.08905,
  title  = {knor: A NUMA-Optimized In-Memory, Distributed and Semi-External-Memory k-means Library},
  author = {Disa Mhembere and Da Zheng and Carey E. Priebe and Joshua T. Vogelstein and Randal Burns},
  journal= {arXiv preprint arXiv:1606.08905},
  year   = {2017}
}