Persistent Memory (PMEM), also known as Non-Volatile Memory (NVM), can deliver higher density and lower cost per bit when compared with DRAM. Its main drawback is that it is typically slower than DRAM. On the other hand, DRAM has scalability problems due to its cost and energy consumption. Soon, PMEM will likely coexist with DRAM in computer systems but the biggest challenge is to know which data to allocate on each type of memory. This paper describes a methodology for identifying and characterizing application objects that have the most influence on the application's performance using Intel Optane DC Persistent Memory. In the first part of our work, we built a tool that automates the profiling and analysis of application objects. In the second part, we build a machine learning model to predict the most critical object within large-scale graph-based applications. Our results show that using isolated features does not bring the same benefit compared to using a carefully chosen set of features. By performing data placement using our predictive model, we can reduce the execution time degradation by 12\% (average) and 30\% (max) when compared to the baseline's approach based on LLC misses indicator.
translated by 谷歌翻译
长期负载请求继续限制高性能处理器的性能。为了提高处理器的潜伏能力,建筑师主要依赖两种关键技术:复杂的数据预脱水和较大的芯片固定缓存。在这项工作中,我们表明:1)即使是先进的先进预摘要,也只能预测一半的外芯片负载请求,平均在广泛的工作负载中,而2)由于尺寸的增加,并且片上缓存的复杂性,花片载荷请求的延迟的很大一部分用于访问片上缓存层次结构。这项工作的目的是通过从其关键路径上删除片上缓存访问延迟来加速片外负载请求。为此,我们提出了一种称为爱马仕(Hermes)的新技术,其关键想法是:1)准确预测哪些负载请求可能会偏离芯片,2)猜测预测的芯片外载荷直接从主芯片负载所需的数据内存,同时也同时访问此类负载的高速缓存层次结构。为了启用爱马仕,我们开发了一种新的轻巧,基于智障的外芯片加载预测技术,该技术学会使用多个程序功能(例如,程序计数器的序列)来识别芯片外负载请求。对于每个负载请求,预测器都会观察一组程序功能,以预测负载是否会外芯片。如果预计负载将放置芯片,Hermes一旦生成负载的物理地址,就会直接向内存控制器发出投机请求。如果预测是正确的,则负载最终会错过缓存层次结构,并等待正在进行的投机请求完成,从而将芯片上缓存层次结构访问延迟隐藏在离芯片外负载的关键路径中。我们的评估表明,爱马仕显着提高了最先进的基线的性能。我们开源爱马仕。
translated by 谷歌翻译
输入管道,其摄取和转换输入数据,是培训机器学习(ML)模型的重要组成部分。然而,实现有效的输入管道有挑战性,因为它需要推理有关并行性,异步的推理和细粒度分析信息的可变性。我们对谷歌数据中心超过200万毫升工作的分析表明,大量模型培训工作可以从更快的输入数据管道中受益。与此同时,我们的分析表明,大多数工作都不饱和主机硬件,指向基于软件的瓶颈的方向。这些发现的动机,我们提出了水管工,一种用于在ML输入管道中找到瓶颈的工具。管道工使用可扩展和可解释的操作分析分析模型来自动调整Host资源约束下的并行性,预取和缓存。在五个代表性ML管道上,水管工可获得最多46倍的误配置管道的加速。通过自动化缓存,与最先进的调谐器相比,水管工获得超过40%的端到端加速。
translated by 谷歌翻译
近年来,在平衡(超级)图分配算法的设计和评估中取得了重大进展。我们调查了过去十年的实用算法的趋势,用于平衡(超级)图形分区以及未来的研究方向。我们的工作是对先前有关该主题的调查的更新。特别是,该调查还通过涵盖了超图形分区和流算法来扩展先前的调查,并额外关注并行算法。
translated by 谷歌翻译
操作系统包括许多启发式算法,旨在提高整体存储性能和吞吐量。由于此类启发式is不能适用于所有条件和工作负载,因此系统设计人员诉诸用户对用户的众多可调参数揭示 - 基本上负担用户不断优化自己的存储系统和应用程序。存储系统通常负责I / O重型应用中的大多数延迟,因此即使是小的总延迟改善也可能很重要。机器学习(ml)技术承诺学习模式,从它们概括,并实现适应更改工作负载的最佳解决方案。我们提出ML解决方案成为OSS中的一流组件,并更换了动态优化存储系统的手动启发式。在本文中,我们描述了我们所提出的ML架构,称为KML。我们开发了一个原型KML体系结构,并将其应用于两个问题:最佳readAhead和NFS读取大小值。我们的实验表明,KML消耗了很少的操作系统资源,延迟可忽略不计,但可以学习可以分别为两种用例的2.3倍或15倍提高I / O吞吐量的模式 - 即使是复杂的,也不是为了复杂 - 在不同的存储设备上同时运行混合工作负载。
translated by 谷歌翻译
这项工作侧重于特定于域的加速器的有效敏捷设计方法。我们采用垂直开发堆栈的功能逐个功能增强,并将其应用于TVM / VTA推理加速器。我们已经增强了VTA设计空间,并启用了用于额外工作负载的端到端支持。这是通过增强VTA微架构和指令集架构(ISA)来实现的,以及通过增强TVM编译堆栈来支持各种VTA配置。 VTA TSIM实现(基于凿子)已通过ALU / GEMM执行单元的完全流水线版本增强。在TSIM中,内存宽度现在可以在8-64字节之间。对于支持较大的刮板,已经使场宽度更加灵活。已添加新的说明:元素 - WISE 8位乘法,支持深度卷积,并使用焊盘值的选择加载以支持最大池。还添加了对更多层和更好的双缓冲。完全管制的ALU / GEMM有助于显着帮助:4.9倍的循环较少,最小区域更改为在默认配置下运行RESET-18。可以实例化特征在于11.5倍的循环计数的配置,以12倍的循环计数更大的区域。显示了区域性能帕累托曲线上的许多点,展示了执行单元尺寸,内存接口宽度和刻痕尺寸的余额。最后,VTA现在能够运行MobileNet 1.0和所有层进行Resnet,包括先前禁用的池和完全连接的图层。 TVM / VTA架构始终在几分钟内以RTL呈现端到端工作量评估。通过我们的修改,它现在提供了更大的可行配置,具有广泛的成本与性能。所有提到的所有功能都可以在OpenSource叉中提供,而这些功能的子集已经上游。
translated by 谷歌翻译
虽然离散事件模拟器是建筑研究,设计和开发的必备工具,但它们的实用性受到在调查下的现实应用的极长时间的影响。这项工作描述了一项协调一致的努力,其中机器学习(ML)用于加速离散事件仿真。首先,构建了用于静态指令属性和动态处理器状态的基于ML的指令延迟预测框架。然后,基于所提出的指令延迟预测器来实现GPU加速的并行模拟器,并且验证了其模拟精度和吞吐量并针对最先进的模拟器评估。利用现代GPU,基于ML的模拟器显着优于传统的模拟器。
translated by 谷歌翻译
无论是在功能选择的领域还是可解释的AI领域,都有基于其重要性的“排名”功能的愿望。然后可以将这种功能重要的排名用于:(1)减少数据集大小或(2)解释机器学习模型。但是,在文献中,这种特征排名没有以系统的,一致的方式评估。许多论文都有不同的方式来争论哪些具有重要性排名最佳的特征。本文通过提出一种新的评估方法来填补这一空白。通过使用合成数据集,可以事先知道特征重要性得分,从而可以进行更系统的评估。为了促进使用新方法的大规模实验,在Python建造了一个名为FSEVAL的基准测定框架。该框架允许并行运行实验,并在HPC系统上的计算机上分布。通过与名为“权重和偏见”的在线平台集成,可以在实时仪表板上进行交互探索图表。该软件作为开源软件发布,并在PYPI平台上以包裹发行。该研究结束时,探索了一个这样的大规模实验,以在许多方面找到参与算法的优势和劣势。
translated by 谷歌翻译
通常,机器学习应用程序必须应对动态环境,其中数据以潜在无限长度和瞬态行为的连续数据流的形式收集。与传统(批量)数据挖掘相比,流处理算法对计算资源和对数据演进的适应性具有额外要求。它们必须逐步处理实例,因为数据的连续流量禁止存储多次通过的数据。合奏学习在这种情况下取​​得了显着的预测性能。实现为一组(几个)个别分类器,合奏是自然可用于任务并行性的。但是,用于捕获概念漂移的增量学习和动态数据结构增加了缓存未命中并阻碍了并行性的好处。本文提出了一种迷你批处理策略,可以改善多核环境中用于流挖掘的多个集合算法的内存访问局部性和性能。借助正式框架,我们证明迷你批量可以显着降低重用距离(以及缓存未命中的数量)。在六种不同的最先进的集合算法上应用四个基准数据集的六种不同特性的实验显示了8个核心处理器上高达5倍的加速。这些效益牺牲了预测性能的少量减少。
translated by 谷歌翻译
深度学习推荐模型(DLRM)是广泛的,占据了相当多的数据中心足迹,并每年增长超过1.5倍。使用模型尺寸很快在Tberytes范围内,利用存储类(SCM)的推理,可以降低功耗和成本。本文评估将内存层级扩展到DLRM的主要挑战,并提出了通过软件定义内存提高性能的不同技术。我们展示了基础技术,如NAND Flash和3DXP的差异化,并涉及现实世界场景,从而可以节省5%至29%。
translated by 谷歌翻译
K-Nearest邻居搜索是各种应用程序中的基本任务之一,层次可导航的小世界(HNSW)最近在大规模云服务中引起了人们的注意,因为它在提供快速搜索的同时很容易扩展数据库。另一方面,将可编程逻辑和单个板上的可编程逻辑模块结合在一起的计算存储设备(CSD)变得流行,以解决现代计算系统的数据带宽瓶颈。在本文中,我们提出了一个计算存储平台,该平台可以加速基于SMARTSSSD CSD的基于图形的最近的邻居搜索算法。为此,我们更修改算法在硬件上更适合,并使用基于HLS和RTL的方法实现两种类型的加速器,并采用各种优化方法。此外,我们扩展了提议的平台,以拥有4个SMARTSSS,并应用图形并行性以进一步提高系统性能。结果,拟议的计算存储平台在258.66W的功率耗散时,SIFT1B数据集的每秒吞吐量达到75.59个查询,该数据集的功率耗散为12.83倍,比常规CPU和GPU和GPU更快,更快的10.43 x和10.43 x和24.33 x - 基于基于的服务器平台。借助多稳定的存储和自定义加速能力,我们相信所提出的计算存储平台是针对成本敏感的云数据中心的有前途的解决方案。
translated by 谷歌翻译
Video, as a key driver in the global explosion of digital information, can create tremendous benefits for human society. Governments and enterprises are deploying innumerable cameras for a variety of applications, e.g., law enforcement, emergency management, traffic control, and security surveillance, all facilitated by video analytics (VA). This trend is spurred by the rapid advancement of deep learning (DL), which enables more precise models for object classification, detection, and tracking. Meanwhile, with the proliferation of Internet-connected devices, massive amounts of data are generated daily, overwhelming the cloud. Edge computing, an emerging paradigm that moves workloads and services from the network core to the network edge, has been widely recognized as a promising solution. The resulting new intersection, edge video analytics (EVA), begins to attract widespread attention. Nevertheless, only a few loosely-related surveys exist on this topic. A dedicated venue for collecting and summarizing the latest advances of EVA is highly desired by the community. Besides, the basic concepts of EVA (e.g., definition, architectures, etc.) are ambiguous and neglected by these surveys due to the rapid development of this domain. A thorough clarification is needed to facilitate a consensus on these concepts. To fill in these gaps, we conduct a comprehensive survey of the recent efforts on EVA. In this paper, we first review the fundamentals of edge computing, followed by an overview of VA. The EVA system and its enabling techniques are discussed next. In addition, we introduce prevalent frameworks and datasets to aid future researchers in the development of EVA systems. Finally, we discuss existing challenges and foresee future research directions. We believe this survey will help readers comprehend the relationship between VA and edge computing, and spark new ideas on EVA.
translated by 谷歌翻译
计算机架构和系统已优化了很长时间,以便高效执行机器学习(ML)模型。现在,是时候重新考虑ML和系统之间的关系,并让ML转换计算机架构和系统的设计方式。这有一个双重含义:改善设计师的生产力,以及完成良性周期。在这篇论文中,我们对应用ML进行计算机架构和系统设计的工作进行了全面的审查。首先,我们考虑ML技术在架构/系统设计中的典型作用,即快速预测建模或设计方法,我们执行高级分类学。然后,我们总结了通过ML技术解决的计算机架构/系统设计中的常见问题,并且所用典型的ML技术来解决它们中的每一个。除了在狭义中强调计算机架构外,我们采用数据中心可被认为是仓库规模计算机的概念;粗略的计算机系统中提供粗略讨论,例如代码生成和编译器;我们还注意ML技术如何帮助和改造设计自动化。我们进一步提供了对机会和潜在方向的未来愿景,并设想应用ML的计算机架构和系统将在社区中蓬勃发展。
translated by 谷歌翻译
深度学习培训是一个昂贵的过程,可广泛使用GPU,但并非所有模型训练都饱和现代强大的GPU。 Multi-Instance GPU(MIG)是NVIDIA引入的一项新技术,可以分区GPU,以更好地适合不需要所有内存和计算完整GPU的资源的工作负载。在本文中,我们研究了在深度学习工作负载下的三种尺寸工作负载下的MIG启用A100 GPU的性能,这些尺寸重点是使用Resnet模型进行图像识别培训。当在GPU允许的各种MIG实例上孤立运行时,我们还研究了这些工作负载的行为,此外还可以在同一GPU共同列入同类的同质实例上并行运行它们。我们的结果表明,当工作负载太小而无法孤立地利用整个GPU时,使用MIG可以显着改善GPU的利用率。通过并行训练多个小型型号,尽管每单位时间的时间增加了,但每单位时间的GPU可以执行更多的工作,导致$ \ sim $ \ sim $ 3倍吞吐量。相比之下,对于已经很好地利用了整个GPU的中型和大型工作量,MIG仅提供边际性能的改进。然而,我们观察到,使用单独的MIG分区并行的训练模型不会表现出强调具有MIG在现代GPU上具有功能的价值的干扰。
translated by 谷歌翻译
过去的研究提出了许多硬件预取技术,其中大多数依赖于利用一种特定类型的程序上下文信息(例如,程序计数器,Cacheline地址)来预测未来的存储器访问。这些技术完全忽略了整个系统上的预取器的不良影响(例如,内存带宽使用),或将系统级反馈结合为返回为系统 - 不知预取算法。我们表明,由于其固有的无法在预取帐户中占用多种不同类型的程序上下文和系统级反馈信息,因此在广泛的工作负载和系统配置中往往会在广泛的工作负载和系统配置中丢失其性能效益。在本文中,我们进行了设计一个整体预取算法的案例,该算法学习使用多种不同类型的程序上下文和系统级反馈信息来预取。为此,我们提出了Pythia,它将预取器制定为钢筋学习代理。对于每种需求请求,Pythia会观察多种不同类型的程序上下文信息以进行预取决定。对于每个预取决定,Pythia接收数字奖励,该奖励评估当前内存带宽使用情况下的预取质量。 Pythia使用此奖励来加强程序上下文信息和预取决定之间的相关性,以在将来生成高度准确,及时和系统感知的预取请求。我们使用仿真和硬件综合的广泛评估表明,Pythia在各种工作负载和系统配置中优于多种最先进的预取器,同时在桌面类处理器中产生的1.03%的面积开销,并且工作负载中没有软件更改。 Pythia的源代码可以从https://github.com/cmu-safari/pythia自由下载。
translated by 谷歌翻译
最近,Graph神经网络(GNNS)已成为聚光灯作为强大的工具,可以有效地在图形结构化数据上执行各种推理任务。随着现实图表的大小继续扩展,GNN训练系统面临可扩展性挑战。分布式培训是一种流行的方法,可以通过扩展CPU节点来应对这一挑战。但是,对基于磁盘的GNN培训的关注不多,该培训可以通过利用NVME SSD等高性能存储设备来以更具成本效益的方式扩展单节点系统。我们观察到,主内存和磁盘之间的数据移动是基于SSD的训练系统中的主要瓶颈,并且常规的GNN训练管道是不错的选择,而无需考虑此开销。因此,我们提出了Ginex,这是第一个基于SSD的GNN训练系统,可以在单台计算机上处​​理数十亿个图形数据集。受到编译器优化的检查员执行模型的启发,Ginex通过分开样品和收集阶段来重组GNN训练管道。这种分离使Ginex能够实现一种可证明的最佳替换算法,即被称为Belady的算法,用于存储器中的Caching特征向量,该算法是I/O访问的主要部分。根据我们对40亿尺度图数据集的评估,Ginex平均比SSD扩展的Pytorch几何得出了2.11倍的训练吞吐量(最大最高2.67倍)。
translated by 谷歌翻译
最近,图形卷积网络(GCNS)已成为用于分析非欧几里德图数据的最先进的算法。然而,实现有效的GCN训练,特别是在大图中挑战。原因是许多折叠的原因:1)GCN训练引发了大量的内存占用。大图中的全批量培训甚至需要数百到数千千兆字节的内存,以缓冲中间数据进行反向传播。 2)GCN培训涉及内存密集型数据减少和计算密集型功能/渐变更新操作。这种异构性质挑战当前的CPU / GPU平台。 3)图形的不规则性和复杂的训练数据流共同增加了提高GCN培训系统效率的难度。本文提出了一种混合架构来解决这些挑战的混合架构。具体地,GCNEAR采用基于DIMM的存储系统,提供易于级别的存储器容量。为了匹配异构性质,我们将GCN培训操作分类为内存密集型减少和计算密集型更新操作。然后,我们卸载将操作减少到DIMM NMES,充分利用高聚合的本地带宽。我们采用具有足够计算能力的CAE来处理更新操作。我们进一步提出了几种优化策略来处理GCN任务的不规则,提高GCNEAR的表现。我们还提出了一种多GCNEAR系统来评估GCNEAR的可扩展性。
translated by 谷歌翻译
本文调查了股票回购,特别是分享回购公告。它解决了如何识别此类公告,股票回购的超额回报以及股票回购公告后的回报的预测。我们说明了两种NLP方法,用于自动检测股票回购公告。即使有少量的培训数据,我们也可以达到高达90%的准确性。该论文利用这些NLP方法生成一个由57,155个股票回购公告组成的大数据集。通过分析该数据集,本论文的目的是表明大多数宣布回购的公司的大多数公司都表现不佳。但是,少数公司的表现极大地超过了MSCI世界。当查看所有公司的平均值时,这种重要的表现过高会导致净收益。如果根据公司的规模调整了基准指数,则平均表现过高,并且大多数表现不佳。但是,发现宣布股票回购的公司至少占其市值的1%,即使使用调整后的基准,也平均交付了显着的表现。还发现,在危机时期宣布股票回购的公司比整个市场更好。此外,生成的数据集用于训练72个机器学习模型。通过此,它能够找到许多可以达到高达77%并产生大量超额回报的策略。可以在六个不同的时间范围内改善各种性能指标,并确定明显的表现。这是通过训练多个模型的不同任务和时间范围以及结合这些不同模型的方法来实现的,从而通过融合弱学习者来产生重大改进,以创造一个强大的学习者。
translated by 谷歌翻译
图形神经网络(GNNS)在学习从图形结构数据中展示了成功,其中包含欺诈检测,推荐和知识图形推理。然而,培训GNN有效地具有挑战性,因为:1)GPU存储器容量有限,对于大型数据集可能不足,而2)基于图形的数据结构导致不规则的数据访问模式。在这项工作中,我们提供了一种统计分析的方法,并确定了GNN培训前更频繁地访问的数据。我们的数据分层方法不仅利用输入图的结构,而且还从实际GNN训练过程中获得了洞察力,以实现更高的预测结果。通过我们的数据分层方法,我们还提供了一种新的数据放置和访问策略,以进一步最大限度地减少CPU-GPU通信开销。我们还考虑了多GPU GNN培训,我们也展示了我们在多GPU系统中的策略的有效性。评估结果表明,我们的工作将CPU-GPU流量降低了87-95%,并通过数亿节点和数十亿边缘的图表提高了现有解决方案的GNN训练速度。
translated by 谷歌翻译
我们在这项工作中展示了内存密集型计算可能导致由于片上存储器访问和CPU-GPU上下文切换开销导致严重的性能问题,以及各种深度学习模型。对于此问题,当前立即(JIT)内核融合和代码生成技术具有局限性,例如粗融合计划探索策略和有限的代码生成能力。我们提出了FusionStecting,一个能够融合内存密集型运营商的深度学习编译器,具有各种数据依赖性和非同一性并行性,进入大型GPU内核,以减少全局内存访问和上下文切换开销。 FusionStecting通过引入中间值的数据重用来扩大融合可以超越先前JIT工作的操作组合范围。它探讨了大型融合空间,以便通过考虑内存访问成本,内核呼叫和资源使用约束来决定最佳融合计划。 FusionStecting通过有效地调整具有域特定成本模型的最佳拼接方案。实验结果表明,与现有技术相比,FusionStecting可以达到2.21倍的加速,平均为1.45倍。除了这些实验结果之外,我们还将我们的方法集成到编译器产品中,并将其部署到具有数千个GPU的AI工作负载的生产集群。该系统已运行超过4个月,平均节省了7,000 GPU小时,每月约有30,000个任务。
translated by 谷歌翻译