对快速并行可交换更新的灵活支持
分布式、并行与集群计算
2017-09-28 v1 硬件体系结构
摘要
数据私有化是在共享内存多线程程序中增加并行性的有效策略。独立的核心可以在共享数据的副本上独立计算,并在计算结束时合并它们的结果。然而,传统的私有化方法依赖于显式的静态或动态内存分配来复制状态,增加了内存占用和缓存资源的争用,尤其是在共享缓存中。在这项工作中,我们描述了 CCache,一个用于按需私有化由可交换操作处理的数据的系统。CCache 获得了私有化的好处,而没有增加内存占用或缓存占用。CCache 中的每个核心动态地私有化可交换操作的数据,在副本上进行操作。周期性地或在计算结束时,核心将其值与驻留在内存中的值合并,当所有核心都合并后,内存中的副本包含最新的值。我们描述了 CCache 的一个低复杂度架构实现,它扩展了传统多核以支持按需私有化,而无需为私有副本使用额外的内存。我们在几个高价值应用上评估了 CCache,包括随机访问键值存储、聚类、广度优先搜索和图排序,显示出高达 3.2 倍的加速。
引用
@article{arxiv.1709.09491,
title = {Flexible Support for Fast Parallel Commutative Updates},
author = {Vignesh Balaji and Dhruva Tirumala and Brandon Lucia},
journal= {arXiv preprint arXiv:1709.09491},
year = {2017}
}