MemVerge Memory Machine是一款大内存算例加速软件,它可以将DRAM和PMEM进行虚拟化,实现无需更改代码即可访问新的PMEM内存介质,支持可横向扩展的内存节点集群,以提供实时分析和 AI/ML、HPC应用程序所需的大规模内存容量,以及内存系统的企业级数据服务和数据高可用性。本文介绍如何在E-HPC集群中部署和使用Memory Machine。
背景信息
在HPC生命科学和EDA等领域,业务流程涉及到的大量应用算例都强依赖于大内存计算资源。这些算例会将数据先Load到内存,然后作计算分析,完成后将数据存储到存储设备中。因此该类场景对算力的内存和存储IO规格都有着较高要求,使得一些通用的单ECS实例仅能实现该类算例的单作业并发,无法充分利用CPU资源,导致大量CPU资源浪费。
基于上述场景,E-HPC引入了大内存计算领域的MemVerge Memory Machine。通过对MemVerge Memory Machine的集成,能极大优化对内存的使用管理、减少存储I/O、并充分利用CPU资源,实现单实例的多作业并发运行,提升生产环境的性价比。
步骤一:创建部署Memory Machine的E-HPC集群
以下步骤主要介绍部署Memory Machine需要注意的一些配置。创建集群的详细配置说明,请参见使用向导创建集群。
进入集群创建页面。
登录弹性高性能计算控制台。
在顶部菜单栏左上角处,选择地域。
在左侧导航栏,单击集群。
在集群页面右上角,单击创建集群。
在硬件配置页,完成硬件配置,然后单击下一步。
配置硬件时,由于Memory Machine基于Intel Optane PMEM,因此计算节点规格必须选择相应的规格。目前支持以下两种规格族:
性能增强型本地盘实例规格族i4p
持久内存型实例规格族re6p
本文以ecs.i4p.2xlarge规格作为示例,其它配置参数请根据需要进行配置。
在软件配置页,配置软件,然后单击下一步。
配置软件时,镜像需选择E-HPC与MemVerge的集成镜像,镜像版本由MemVerge自行更新并在计算巢中进行维护。参数说明如下:
镜像类型:选择计算巢部署物。
计算巢部署物:选择MemoryMachine_EHPC。
镜像:选择计算巢部署物对应的镜像。该镜像由ISV提供,对应不同的MemVerge软件版本。
调度器:请根据需要进行选择,本文使用opengridscheduler(即SGE调度器)作为示例。
域账号服务:请根据需要进行选择,本文使用nis作为示例。
在基础信息页,配置基本信息和登录信息。
在右侧配置清单区域确认集群配置信息,阅读并选中服务条款,然后单击确认。
创建完成后,返回集群页面,等待集群状态由创建中变更为运行中,则表示创建成功。
步骤二:配置并访问Memory Machine管理页
创建部署Memory Machine的E-HPC集群后,需要配置安全组规则,才能访问Memory Machine管理页。
配置安全组规则。
访问Memory Machine需要通过8081端口,您需要为集群所属安全组添加对应的入方向规则。
在集群列表中单击目标集群的详情。
在集群详情页,单击安全组ID。
单击安全组规则,然后添加入方向规则,放开8081端口的访问。具体操作,请参见添加安全组规则。
访问并登录Memory Machine管理页。
查看集群管控节点的公网IP。
在节点与队列页面,选择目标集群,节点类型选择管控节点,即可在下方节点列表中获取管控节点的公网IP。
打开浏览器,输入Memory Machine管理页的访问地址。
访问地址为
https://集群管控节点公网IP:8081
,例如https://47.116.XX.XX:8081
。使用root用户和创建集群时设置的登录密码,登录Memory Machine管理页。
步骤三:申请并上传Memory Machine License
E-HPC集群中部署Memory Machine后,默认未加载License,您需要在云市场购买License,然后上传。
访问云市场Memory Machine购买页,购买License。
请根据自身需求选择版本和购买时长。
在Memory Machine管理页面上传License。
访问并登录Memory Machine管理页。
在左侧导航栏,单击图标,然后选择License。
单击右上角的Change Mode。
在弹出的对话框中,单击Upload License File,然后单击Change。
在Upload License对话框中,完成License上传。
步骤四:使用Memory Machine
上传License后,您可以使用Memory Machine。常用使用方式如下,详细使用方式请参见Memory Machine User Guide。
配置内存大页,供Memory Machine使用。
以将vm.nr_hugepages配置为50GB(1024*50/2=25600)为例:
sysctl -w vm.nr_hugepages=25600
修改配置文件/etc/memverge/mvmalloc.yml。
DramCacheGB: 50 HugePageDram: true AccessDetector: advanced
应用会优先使用DramTier配置的内存,超出后使用PMEM内存继续使用。
运行应用。
/usr/local/share/memverge/sbin/mm [-c|--config config_file] app_name app_cl_parms
基于SGE调度器提交作业的示例如下:
#!/bin/bash #$ -cwd #$ -N sge-demo #$ -q pmemq #$ -pe smp 8 #$ -o /home/xiaofan/ #$ -e /home/xiaofan/ echo "demo start, sleep 10s and ping localhost" sleep 10 ping -c 10 localhost echo "run memverge cases" /usr/local/share/memverge/sbin/mm [-c|--config config_file] app_name app_cl_parms echo "demo complete"
动态调整DramTier大小。
/usr/local/share/memverge/sbin/mvmcli -h mvmcli dram resize -s new-size -p pid -g true|false
查看DRAM和PMEM。
mvmcli show-usage -v
相关文档
您也可以使用计算巢来部署EHPC+MemVerge方案,更多信息,请参见MemVerge服务计算巢模式部署文档。