并行加权随机抽样 从一组加权项进行有效采样的数据结构是许多应用程序的重要构建块。然而,已知的并行解决方案很少。我们缩小了共享内存和分布式内存机器的许多差距。我们给出了有效、快速和实用的算法,用于采样单个项目、有/无替换的k个项目、排列、子集和水库。我们还针对别名表构造和替换抽样给出了改进的序列算法。在具有多达158个线程的共享内存并行机上进行的实验表明,构造和查询的速度都接近线性。 分类分布 多努利分布 并行算法 别名方法 婴儿车 高效通信算法 子集抽样 水库采样 计算理论~素描和采样 计算理论~并行算法 计算理论~数据结构设计与分析 59:1-59:24 普通纸张 用于我们实验的代码和脚本在GPLv3下提供,网址为https://github.com/lorenzs/wrs。 该论文的完整版本可在https://arxiv.org/abs/1903.00227。 洛伦兹 Hübschle-Schneider公司 洛伦茨·Hübschle-Schneider 德国卡尔斯鲁厄理工学院 彼得 桑德斯 彼得·桑德斯 德国卡尔斯鲁厄理工学院 10.4230/LIPIcs公司。欧洲安全局2019.59 Joachim H.Ahrens和Ulrich Dieter。顺序随机抽样。ACM数学软件汇刊(TOMS),11(2):157-1691985年6月。 理查德·阿拉提亚(Richard Arratia)。关于均匀随机整数素因式分解中的依赖量。当代组合学,10:29-912002。第36页。 Timo Bingmann、Michael Axtmann、Emanual Jöbstl、Sebastian Lamm、Huyen Chau Nguyen、Alexander Noe、Sebastian Schlag、Matthias Stumpp、Tobias Sturm和Peter Sanders。Thrill:使用C++进行高性能算法分布式批处理数据。2016年IEEE国际大数据会议,第172-183页。IEEE,2016年。 盖伊·布莱洛赫。作为基本并行操作进行扫描。IEEE计算机汇刊,38(11):1526-15381989年11月。 Karl Bringmann和Kasper Green Larsen。离散分布的简洁抽样。在第45届ACM计算理论研讨会(STOC)上,第775-782页。ACM,2013年。 Karl Bringmann和Konstantinos Panagiotou。离散分布的有效采样方法。《算法》,79(2):484-5082017。 M.T.Chao。一种通用的不等概率抽样方案。《生物统计学》,69(3):653-6561982年。 理查德·科尔。并行合并排序。SIAM计算机杂志,17(4):770-7851988。 吕克·德夫罗耶。非均匀随机变量生成。施普林格,1986年。 Pavlos S Efraimidis公司。数据流上的加权随机采样。《算法、概率、网络和游戏:保罗·G·斯皮拉基斯60岁生日时的科学论文和论文》,第183-195页。斯普林格,2015年。 Pavlos S Efraimidis和Paul G Spirakis。快速并行加权随机采样。技术报告TR99.04.02,CTI Patras,1999年。 Pavlos S Efraimidis和Paul G Spirakis。水库加权随机采样。信息处理快报,97(5):181-1852006。 马克·加拉西(Mark Galassi)、吉姆·戴维斯(Jim Davies)、詹姆斯·泰勒(James Theiler)、布莱恩·高夫(Brian Gough)、杰拉尔德·荣曼(Gerard Jungmann)、帕特里克·阿尔肯(Patrick Alken)、迈克尔·布斯(Michael Booth)、法布里斯·罗西。GNU科学图书馆:参考手册。网络理论,2009年第3版。 托本·哈格鲁普。随机排列的快速并行生成。在第18届国际自动化、语言和编程学术讨论会(ICALP)上,第405-416页。施普林格,1991年。 托本·哈格鲁普(Torben Hagerup)、库尔特·梅尔霍恩(Kurt Mehlhorn)和J伊恩·蒙罗(J Ian Munro)。以最佳方式保持离散概率分布。第20届自动机、语言和程序设计国际学术讨论会(ICALP),第253-264页。施普林格,1993年。 Lorenz Hübschle-Schneider和Peter Sanders。Top-k选择问题的通信效率算法。第30届国际并行和分布式处理研讨会(IPDPS),第659-668页。IEEE,2016年。 英特尔。2019年英特尔数学内核库。英特尔,2019年。网址:https://software.intel.com/en-us/mkl-reference-manual-for-c。 https://software.intel.com/en-us/mkl-reference-manual-for-c 约瑟夫·贾贾(Joseph JáJá)。并行算法简介。艾迪森·卫斯理,1992年。 维平·库马尔(Vipin Kumar)、阿南斯·格拉玛(Ananth Grama)、安舒尔·古普塔(Anshul Gupta)和乔治·卡里皮斯(George Karypis)。并行计算导论。算法设计与分析。本杰明/卡明斯,1994年。 Kevin J Lang。生成加权集元素随机顺序的实用算法。计算系统理论,54(4):659-6882014。 George Marsaglia,Wai Wan Tsang,Wang Jingbo,等。离散随机变量的快速生成。统计软件杂志,11(3):1-112004。 Yossi Matias、Jeffrey Scott Vitter和Wen-Chun Ni.离散随机变量的动态生成。计算系统理论,36(4):329-3582003。 M.Matsumoto和T.Nishimura。梅森扭曲器:623维均匀伪随机数生成器。ACMTMCS:《ACM建模与计算机仿真汇刊》,1998年8月3日至30日。 Jens Maue和Peter Sanders。近似加权匹配的工程算法。第六届实验算法研讨会(WEA),第242-255页。施普林格,2007年。 库尔特·梅尔霍恩和彼得·桑德斯。算法和数据结构-基本工具箱。施普林格,2008年。 Rajeev Motwani和Prabhakar Raghavan。随机算法。剑桥大学出版社,1995年。 基里尔·米勒。加速加权随机抽样,无需替换。Arbeitsberichte Verkehrs and Raumpanung,2016年11月11日。 弗兰克·奥尔肯和多伦·罗特姆。数据库随机抽样:调查。统计与计算,5(1):25-421995。 R核心团队。R: 统计计算语言和环境。R统计计算基金会,奥地利维也纳,2019年。网址:https://www.R-project.org。 https://www.R-project.org Sanguthevar Rajasekaran和John H Reif。最优和亚对数时间随机并行排序算法。SIAM计算机杂志,18(3):594-6071989。 阿比拉姆·拉纳德(Abhiram G Ranade)。如何模拟共享内存。《计算机与系统科学杂志》,42(3):307-3261991年。 彼得·桑德斯。随机静态负载平衡的竞争分析。S.Rajasekaran,编辑,《随机并行算法第一次研讨会》,夏威夷檀香山,1996年。http://algo2.iti.kit.edu/sanders/papers/rand96.pdf。 http://algo2.iti.kit.edu/sanders/papers/rand96.pdf 彼得·桑德斯。分布式、外部和分层存储器上的随机排列。信息处理信函,67(6):305-3101998。 彼得·桑德斯(Peter Sanders)、塞巴斯蒂安·拉姆(Sebastian Lamm)、洛伦斯·胡布施勒·施奈德(Lorenz Hübschle-Schneider)、伊曼纽尔·施拉德(Emanuel Schrade)和卡斯滕·达赫斯巴赫(Carsten Dachsbache。高效随机采样-并行、矢量化、缓存效率和在线。ACM数学软件交易,44(3):29:1-29:14,2018。 彼得·桑德斯(Peter Sanders)、塞巴斯蒂安·施拉格(Sebastian Schlag)和英戈·米勒(Ingo Müller)。基本大数据问题的通信高效算法。2013年IEEE国际大数据会议,第15-23页。IEEE,2013年。 朱利安·顺(Julian Shun)。改进了小波树和秩/选择结构的并行构造。2017年数据压缩会议(DCC),第92-101页。IEEE,2017年。 迈克尔·D·沃斯。生成具有给定分布的随机数的线性算法。IEEE软件工程学报(TSE),17(9):972-9751991。 阿拉斯泰尔·沃克。生成具有一般分布的离散随机变量的有效方法。ACM数学软件汇刊(TOMS),3(3):253-2561977年。 Wikichip.org。Intel Xeon Gold 6138。https://en.wikichip.org/w/index.php?title=intel/xeon_gold/6138&oldid=71062,2019年。访问日期:2019年4月26日。 https://en.wikichip.org/w/index.php?title=intel/xeon_gold/6138&oldid=71062 Chak-Kuen Wong和Malcolm C.Easton。一种无需替换的有效加权抽样方法。SIAM计算机杂志,9(1):111-1131980。 马泰·扎哈里亚(Matei Zaharia)、如来·达斯(Tathagata Das)、李浩源(Haoyuan Li)、蒂莫西·亨特(Timothy Hunter)、斯科特·申克(Scott Shenker)和伊恩·斯托伊卡(Ion。离散流:大规模容错流计算。第24届ACM操作系统原理研讨会(SOSP),第423-438页。ACM,2013年。 Matei Zaharia、Reynold S Xin、Patrick Wendell、Tathagata Das、Michael Armbrust、Ankur Dave、Xiangrui Meng、Josh Rosen、Shivaram Venkataraman、Michael J Franklin等。Apache Spark:大数据处理的统一引擎。ACM通讯,59(11):56-652016。 Lorenz Hübschle-Schneider和Peter Sanders Creative Commons Attribution 3.0未出口许可证 https://creativecommons.org/licenses/by/3.0/legalcode