星环人工智能平台sophon平台资源池调优过程
笔者在使用过程中,需要给sophon资源池配置资源
机器资源配置情况
yarn和inceptor资源规划
查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep “cpu cores”| uniq
14
查看逻辑CPU的个数
cat /proc/cpuinfo| grep “processor”| wc -l
56
inceptor资源配置
Inceptor资源分配大概考虑三个因素:
1、节点CPU使用不要超过物理核总数,略微超配会提高计算性能,但可能会影响稳定性。比如这里应该是2路10核,总共20个物理核,40个虚拟核,每个节点可以起2个executor,每个executor使用10个CPU。
2、保证executor内存(GB)和CPU比率在2到3之间。比如这里,每个executor使用10个CPU,可以给每个executor 20到30GB内存。
3、单个executor内存不要超过32GB (高负载情况下,数仓集群据说别超过 24G,容易GC)
yarn资源配置
yarn资源配置, cpu和内存没有比例限制
集群资源分配
考虑到此集群为机器学习集群,机器学习资源要分大点,剩余5-6核给操作系统留着
资源池参数解释
spark的资源使用主要有以下5个参数来控制
spark.driver.memory: driver进程使用的内存
spark.driver.cores: driver进程的cpu核数
spark.executor.instances: executor进程的数量
spark.executor.memory:每个executor进程使用的内存数量
spark.executor.cores:每个executor的cpu核数
资源配置计算方法
5个节点,每个节点分配3-4个executor,每个executor分配6个core,20-30内存
配置的资源
相关手册
https://www.warpcloud.cn/#/documents-support/docs-detail/document/SOPHON-PLATFORM/2.3.2/010SophonWebManual?docType=products%3Fcategory%3DTDH&docName=Sophon%E6%93%8D%E4%BD%9C%E6%89%8B%E5%86%8C