knor: A NUMA-Optimized In-Memory, Distributed and Semi-External-Memory k-means Library

Disa Mhembere, Da Zheng, C. Priebe, J. Vogelstein, R. Burns
{"title":"knor: A NUMA-Optimized In-Memory, Distributed and Semi-External-Memory k-means Library","authors":"Disa Mhembere, Da Zheng, C. Priebe, J. Vogelstein, R. Burns","doi":"10.1145/3078597.3078607","DOIUrl":null,"url":null,"abstract":"k-means is one of the most influential and utilized machine learning algorithms. Its computation limits the performance and scalability of many statistical analysis and machine learning tasks. We rethink and optimize k-means in terms of modern NUMA architectures to develop a novel parallelization scheme that delays and minimizes synchronization barriers. The k-means NUMA Optimized Routine knor) library has (i) in-memory knori), (ii) distributed memory (knord), and (ii) semi-external memory (\\textsf{knors}) modules that radically improve the performance of k-means for varying memory and hardware budgets. knori boosts performance for single machine datasets by an order of magnitude or more. \\textsf{knors} improves the scalability of k-means on a memory budget using SSDs. knors scales to billions of points on a single machine, using a fraction of the resources that distributed in-memory systems require. knord retains knori's performance characteristics, while scaling in-memory through distributed computation in the cloud. knor modifies Elkan's triangle inequality pruning algorithm such that we utilize it on billion-point datasets without the significant memory overhead of the original algorithm. We demonstrate knor outperforms distributed commercial products like H2O, Turi (formerly Dato, GraphLab) and Spark's MLlib by more than an order of magnitude for datasets of 107 to 109 points.","PeriodicalId":436194,"journal":{"name":"Proceedings of the 26th International Symposium on High-Performance Parallel and Distributed Computing","volume":"162 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 26th International Symposium on High-Performance Parallel and Distributed Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3078597.3078607","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 12

Abstract

k-means is one of the most influential and utilized machine learning algorithms. Its computation limits the performance and scalability of many statistical analysis and machine learning tasks. We rethink and optimize k-means in terms of modern NUMA architectures to develop a novel parallelization scheme that delays and minimizes synchronization barriers. The k-means NUMA Optimized Routine knor) library has (i) in-memory knori), (ii) distributed memory (knord), and (ii) semi-external memory (\textsf{knors}) modules that radically improve the performance of k-means for varying memory and hardware budgets. knori boosts performance for single machine datasets by an order of magnitude or more. \textsf{knors} improves the scalability of k-means on a memory budget using SSDs. knors scales to billions of points on a single machine, using a fraction of the resources that distributed in-memory systems require. knord retains knori's performance characteristics, while scaling in-memory through distributed computation in the cloud. knor modifies Elkan's triangle inequality pruning algorithm such that we utilize it on billion-point datasets without the significant memory overhead of the original algorithm. We demonstrate knor outperforms distributed commercial products like H2O, Turi (formerly Dato, GraphLab) and Spark's MLlib by more than an order of magnitude for datasets of 107 to 109 points.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
knor:一个numa优化的内存,分布式和半外部内存k-means库
K-means是最具影响力和最常用的机器学习算法之一。它的计算限制了许多统计分析和机器学习任务的性能和可扩展性。我们根据现代NUMA架构重新思考和优化k-means,以开发一种新的并行化方案,延迟和最小化同步障碍。k-means NUMA优化例程knor)库具有(i)内存knori), (ii)分布式内存(knord)和(ii)半外部内存(\textsf{knors})模块,这些模块从根本上提高了k-means的性能,以适应不同的内存和硬件预算。Knori将单个机器数据集的性能提高了一个数量级或更多。\textsf{knors}在使用ssd的内存预算上提高了k-means的可伸缩性。Knors可以在一台机器上扩展到数十亿个点,使用的资源只是分布式内存系统所需资源的一小部分。Knord保留了knori的性能特征,同时通过云中的分布式计算在内存中进行扩展。knor修改了Elkan的三角不等式修剪算法,这样我们就可以在十亿点数据集上使用它,而不需要原始算法的大量内存开销。我们证明,对于107到109点的数据集,knor比H2O、Turi(以前的Dato、GraphLab)和Spark的MLlib等分布式商业产品的性能要好一个数量级以上。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Deep Learning in Cancer and Infectious Disease: Novel Driver Problems for Future HPC Architecture LetGo: A Lightweight Continuous Framework for HPC Applications Under Failures Explaining Wide Area Data Transfer Performance IOGP: An Incremental Online Graph Partitioning Algorithm for Distributed Graph Databases Better Safe than Sorry: Grappling with Failures of In-Memory Data Analytics Frameworks
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1