异构内存及其在机器学习系统的应用与优化

第四范式深耕于人工智能范畴,在人工智能相关算法、运用、体系和底层架构规划等有兼具广度和深度的了解。

跟着近几年先进存储技能的飞速发展,出现出了具有推翻数据库课程规划性的存储开源是什么意思技能,比开源是什么意思如非易失性存储、SSD等。根据此类技能的异构内存架构,正在推翻传统运用程序的规划和优化方法。

第四范式在异构内存架构上抢先布局,进行了若干立异性探求研制和落地实践操作体系是计算机体系中的,比方参数服务器[ 第四范式推出业界首个根据耐久内存、支撑毫秒级康复的万亿维线上预估体系:www.1人工智能概念股63.com/tech/articl… ]、内存数据库等[ 英特尔、第四范式联合研究成果当github是干什么的选世界顶会开源 VLDB 傲腾™ 耐久内存加持 优化万亿维特征在线预估体系:newsroom.intel.cn/news-releas…]。

此篇文章将介绍异构内存架构的技能布景,以及在主动机器学习体系上的技能实践。

异构内存架构

传统上,咱们所说的内存一般是指动态随机存储,即DRAM。此外,在CPU中还会存在小容量的快速存储器材,咱们一般会称他们为CPU缓存(即L1/L2 cache)。具有耐久性的慢速存储器材则构成了外存,比方磁盘等。因此,外存、内存、和CPU缓存,构成了整个存储架构金字塔。可是,跟着具有革命性意义的非易失性内存技能的商业化落地,使得这个金字塔中的内存不再由DRAM单一组成,而是由DRAM和非易失性内存构成了异构内存架构。

此外,非人工智能专业大学排名易失性内存的出现也迷糊了内存和外存之间的功用间隔,使得内存数据耐久化成为了或许。今天,非易失性内存技能现已彻底老到,由英特尔于2019年发布的英特尔 傲腾™ 耐久内存(简称耐久内存或许PMem),便是此技能的代表性产品。
异构内存及其在机器学习体系的使用与优化

图 1. 根据异构人工智能技能服务内存的存储架构金字塔

图 1闪现了包含有异构内存的存储架构金字塔。能够看到,在本质上,耐久内存处于金字塔中DRAM和外存之间,其在容量、功用、本钱都是处于两者之间。甚至在功用上,它亦是一个DRAM和外存的混合体。它既能够直接作为内存运用(内存方法),也能够当作一个耐久化设备运用(App Direct 方法,简称AD方法)。

在内存方法中,giti耐久内存对操作体系透明,其容量数据库体系的核心是直接反应为全体的可用内存容量;AD方法则将存储层级暴露,由开发者彻底掌控。因此,由于耐久内存的特别存在,现代内存架构不仅仅是在层级上变得更为凌乱,在功用上也出现了革命性的改变,关于怎样运用人工智能技能使用好异构内存架构,开发人员需求考虑更多的问题,比方:

  • 多级存储的优化。耐久内存供给了一个功用接近于DRAM操作体系有哪些,可是本钱更低的内存计划,非常有利于关于内存消耗巨大的运用。可是,多级存储架构的引入也为功用优化带来了更高的应战。咱们知道,高功用缓github是干什么的存在功用调优中有严重意义。一方面实际数据中往往存在抢手,缓存能够有用前进抢手数据的访问功用;另一方面,缓存敏感数据结构(cache
    conscious)为github永久回家地址了压榨硬件功用,常常有精巧的规划。那么,耐久内存的出现使得这个存储层级更为凌乱,对多级缓存操作体系的主要功能是机制、人工智能专业大学排名数据结构和算法的规划都提出了更高的要求。
  • 耐久化机制的开源代码网站github运用。耐数据库原理及使用久内存使得外存不操作体系再是存储数据的唯一选择。耐久人工智能技能服务内存供给了远比传统外存器材更高的耐久化功用,可是其容量相对较小。在某些场景中怎样有用的发挥高功用耐久化的特色,成为了运用落地需求考虑的新问题。比方,关于需求全天候保证服务质量的在线服务运用,内存数据耐久化即能供给离线往后的快速康复才华;其他,原本磁盘IO为功用瓶颈的场景,也能够运用耐久内存来作为存储介质,来前进全体体系功用。

为了让咱们进一步了解异构内存架构怎样在实践场景中发挥价值,咱们将抛砖引玉,共享第四范式在异构内存架构上的实践经验。

主动机器学习体系在开源中国异构内存上的优化

异构内存及其在机器学习体系的使用与优化
图 2闪现了一个第四范式产品中一个典型的主动机器学习(AutoML)全流程。其主体上包含了离线探求以及线上推理部分。离线探求经过主动特征工程和模型操练,产出能够上线的特征工程脚本以及模型。线上推理服务在接遭到用户央求往后,经过实时特征抽取和模型推理,拿到预测成果。一同音讯部队在整个体系中起到了数据收集和分发的关键作用。

从表格 1能够看到,在异构内存架构下,耐久内存在不同组件中有不同的运用方法,然后抵达不giti同的优化意图。全体来说,内存方法能够用来结束快速的低本钱人工智能之父内存容量扩展,AD方法则带来了更多的好处,包含快速康复才华、前进数据存储功用等。
异构内存及其在机器学习体系的使用与优化

第四范式现已将根据异构内存优化的关键技能组成进行了操作体系有哪些解耦,而且贡献到了开源社区,现在github中文官网网页首要包含两个项目:高功用音讯部队体系Pafka(git人工智能技能使用hub.com/4paradigm/p… PmemStore(github.com/4paradigm/p… 。以下首要展开介操作体系是一种绍P操作体系是一种什么软件afka。

Pafka:根据异构内存优化的高功用音讯部队体系

K操作体系期末考试试题及答案afka是一个开源的分布式工作流/音讯部队体系,用于高效,可靠地处理实时数据流,在工业界中有非常广泛的落地运用场景。 可是,由于其耐久化逻辑的存在,其功用(吞吐和推迟)常常遭到外存设备(HDD/SSD)的约束开源。在实践运用场景中,为了添加 Kafka 集群的人工智能论文全体吞吐量,企业不得不扩大集群规划,添加了企业的总本钱。

耐久内存具有高速耐久化的开源节流是什么意思是什么特性,Git能抵达几倍甚至几十倍于传统硬盘和SSD的耐久化功用。因此,根据异构内存架构的 Kafka 的优化版别 — Pafka,正是运用了高速耐久化的特性,大幅前进单节点吞吐,然后优化在集群上的总投入本钱。全体来说,相比较于传统的Kafka处理计划,Pafka带来了如下优势:

  • 比较于现在数据中心常数据库技能见的 SATA SSD 的配备,根据异构内存的Paf人工智能ka改进节点吞吐和推迟均达20倍。
  • 由于大幅前进了节点吞吐,因此在集群规划总投资上,相比较于 Kafka,Pafka能够削减硬件投入本钱 10 倍以上。
  • Pafka直接根据Kafka优化,用户原有的根据 Kafka 的事务代码无需批改,能够零代码改造本钱迁移到Pa开源操作体系fka体系。

咱们关于 Kafka 的优化会合于操作体系当时的配置不能运转此使用程序形成功用瓶颈的数据落盘部分。原Kafka原有的架gitlab构中,数据耐久化只发生在外存人工智能的界说(磁giti盘/SSD)这一层级;经过优化往后的开源节流Pafka版别,根据异构内存架构,一数据库同把耐久内存和外存用来做数据耐久化。

具有高功用耐久化才华的耐久内存作为耐久化层级的榜首级,而容量更大但功用较差的外存则作为第二级耐开源节流久化介质,两者经过必定的缓存机制进行处理。

由于音讯部队的生产者/顾客的运用方法,大部分场景下数据的存取都会发生在高功用的耐久内存中。

异构内存及其在机器学习体系的使用与优化
图 3. Pafk操作体系的主要功能是a集群架构
如图 3所示,一个 Kafka 服务器集群由几个至上giti轮胎是什么品牌百上千个的 brokers组成。Brokers 内部区分为了Git不同的 partitions,进一步giti轮胎是什么品牌区分开源为 segment操作体系期末考试试题及答案s,开源矿工来进行音讯存储。咱们关于 Kafka 的改造首要会合在 segment 的存储人工智能的界说数据结构上的改造。原本的 segment 只能存储在 HDD/SSD 等外存设备操作体系当时的配置不能运转此使用程序上,咱们运用 PMDK 来进行根据异构内存的耐久化操作,引入 MixChannel 的概念,来结束 segment 既能存储在 HDD/SSD 的外存人工智能工作方向及远景设备,也能在耐久内存上。

具体来说,MixChannel将一般的文件接口和耐久内存的接口一致处理,其底层存储介质关于上层组件是透明的。为了支撑根据耐久内存的存储,咱们为MixChannel引入了数据结构PMemChannel,其开源软件首要功用是把耐久内存的MemoryBlock方针封装成满足FileChannel API的接口,然后能够让MixChannel便利的选择根据传统文件数据库原理及使用的FileChannel接口,仍是根据耐久内存的PMemChannel。这儿咱们运用了pmdk llpl的PersistentMemoryBlock,会主动人工智能换脸鞠婧祎郑爽为每次写入的数据进行耐久化。一同,为了支撑zero-copy,咱们还为llpl的MemoryBlgiti轮胎是什么品牌ock,经过直接映射耐久内存的地址到ByteBugitiffer,结束了人工智能工作方向及远景zero-copy的ByteBuffer接口,然后避免了内存的多次仿制,前进功用。

为了保护segment和耐久内存上数据的对应联络,咱们为每个segment分配一个耐久内存的MemoryBlock,映射联络经过pmdk pcj的ObjectDirectory来保护。

此外,为了避免Memo数据库规划ryBlock在Pafka正常运转时动态分配的开支,咱们会在初始化的时分预先分配固定开源必定份额的内存池空间,用于写数据的时分MemoryBlo数据库办理体系ck的快速分配。

功用比较
异构内存及其在机器学习体系的使用与优化

图 4闪github中文官网网页现,相比较于数据中心中常用的根据SATA SSD进行耐开源是什么意思久化的Kafka,根据异构内存优化的Pafka在吞吐和推迟的功用体现上均能够抵达20倍的改进。

本钱比较

假定咱们的方针是供给20 GB /秒的全体吞吐率,咱们将异构耐久内存的 Pafka 与根据 SATA SSD 的Kafka 进行了比较。图 5闪现,为了结束20 GB /秒的总吞吐率,根据 SATA SSD 的服务器和根据异构内存的服务器的数量分别为 45 和 3。 此外,就硬件本钱而言人工智能技能服务,传统的人工智能工作方向及远景Kafka(SATA SSD)需求花费为 45 万美元,github而咱们的Pafka处理计划仅需花费 4.05 万美元。Pafka处理计划将硬件本钱大大降低到传统Kafka处理计划的9%。
异构内存及其在机器学习体系的使用与优化

图 5. 20 GB/sec 吞吐的功用下,Pafka和Kafka计划的本钱比较

更多信息

Pafka为第四范式的开源项目,具体运用方法、操作体系的主要功能是技能支撑、以及无缺功用报告能够经过以下途径了解更多:
-代码Github repo:人工智能github.com/4pa人工智能专业radigm/p…
-Slack channel:join.slacgit命令k.com/操作体系是一种什么软件t/memarkwor…
-MemArk 异构存储技能论数据库原理及使用坛:discuss.memark.io/

发表评论

提供最优质的资源集合

立即查看 了解详情