通过MemVerge Memory Machine扩展内存

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需要注意的一些配置。创建集群的详细配置说明,请参见使用向导创建集群

  1. 进入集群创建页面。

    1. 登录弹性高性能计算控制台

    2. 在顶部菜单栏左上角处,选择地域。

    3. 在左侧导航栏,单击集群

    4. 集群页面右上角,单击创建集群

  2. 硬件配置页,完成硬件配置,然后单击下一步

    配置硬件时,由于Memory Machine基于Intel Optane PMEM,因此计算节点规格必须选择相应的规格。目前支持以下两种规格族:

    • 性能增强型本地盘实例规格族i4p

    • 持久内存型实例规格族re6p

    本文以ecs.i4p.2xlarge规格作为示例,其它配置参数请根据需要进行配置。

    MemVerge1

  3. 软件配置页,配置软件,然后单击下一步

    配置软件时,镜像需选择E-HPC与MemVerge的集成镜像,镜像版本由MemVerge自行更新并在计算巢中进行维护。参数说明如下:

    • 镜像类型:选择计算巢部署物

    • 计算巢部署物:选择MemoryMachine_EHPC

    • 镜像:选择计算巢部署物对应的镜像。该镜像由ISV提供,对应不同的MemVerge软件版本。

    • 调度器:请根据需要进行选择,本文使用opengridscheduler(即SGE调度器)作为示例。

    • 域账号服务:请根据需要进行选择,本文使用nis作为示例。

    MemVerge2

  4. 基础信息页,配置基本信息和登录信息。

  5. 在右侧配置清单区域确认集群配置信息,阅读并选中服务条款,然后单击确认

    创建完成后,返回集群页面,等待集群状态由创建中变更为运行中,则表示创建成功。

步骤二:配置并访问Memory Machine管理页

创建部署Memory Machine的E-HPC集群后,需要配置安全组规则,才能访问Memory Machine管理页。

  1. 配置安全组规则。

    访问Memory Machine需要通过8081端口,您需要为集群所属安全组添加对应的入方向规则。

    1. 在集群列表中单击目标集群的详情

    2. 在集群详情页,单击安全组ID。

    3. 单击安全组规则,然后添加入方向规则,放开8081端口的访问。具体操作,请参见添加安全组规则

      MemVerge4

  2. 访问并登录Memory Machine管理页。

    1. 查看集群管控节点的公网IP。

      节点与队列页面,选择目标集群,节点类型选择管控节点,即可在下方节点列表中获取管控节点的公网IP。

    2. 打开浏览器,输入Memory Machine管理页的访问地址。

      访问地址为https://集群管控节点公网IP:8081,例如https://47.116.XX.XX:8081

      MemVerge5

    3. 使用root用户和创建集群时设置的登录密码,登录Memory Machine管理页。

      MemVerge6

步骤三:申请并上传Memory Machine License

E-HPC集群中部署Memory Machine后,默认未加载License,您需要在云市场购买License,然后上传。

  1. 访问云市场Memory Machine购买页,购买License。

    请根据自身需求选择版本和购买时长。

    MemVerge3

  2. 在Memory Machine管理页面上传License。

    1. 访问并登录Memory Machine管理页。

    2. 在左侧导航栏,单击MemVerge图标,然后选择License

    3. 单击右上角的Change Mode

    4. 在弹出的对话框中,单击Upload License File,然后单击Change

      MemVerge7

    5. Upload License对话框中,完成License上传。

      MemVerge8

步骤四:使用Memory Machine

上传License后,您可以使用Memory Machine。常用使用方式如下,详细使用方式请参见Memory Machine User Guide

  1. 配置内存大页,供Memory Machine使用。

    以将vm.nr_hugepages配置为50GB(1024*50/2=25600)为例:

    sysctl -w vm.nr_hugepages=25600
  2. 修改配置文件/etc/memverge/mvmalloc.yml。

    DramCacheGB: 50
    HugePageDram: true
    AccessDetector: advanced

    应用会优先使用DramTier配置的内存,超出后使用PMEM内存继续使用。

  3. 运行应用。

    /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" 
     
  4. 动态调整DramTier大小。

    /usr/local/share/memverge/sbin/mvmcli -h
    mvmcli dram resize -s new-size -p pid -g true|false
  5. 查看DRAM和PMEM。

    mvmcli show-usage -v

相关文档

您也可以使用计算巢来部署EHPC+MemVerge方案,更多信息,请参见MemVerge服务计算巢模式部署文档