使用模式¶
模式对比¶
为了满足全校师生复杂多样的个性化计算需求,适应新型计算模式如人工智能训练等对运行环境的复杂要求,高性能计算平台的建设除了在硬件设备的选型上充分考虑了计算的多样性,提供了包含CPU节点、GPU节点等的丰富算力组合,在软件平台的建设上也采用了区别于传统超算中心的作业调度系统的解决方案,在不损失计算性能的前提下以灵活多样的方式提供服务。
注意
资源多≠速度快,无论使用以下哪种方式申请计算资源,并不意味着申请的资源越多,计算速度就会越快。程序必须经过并行计算优化,才能取得更快的计算速度,比如,CPU程序要经过多核优化,GPU程序要利用CUDA加速。
公共集群 |
独占集群 |
独占/共享实例 |
|
适用人群 |
对Linux命令行和作业调度系统比较熟悉。 |
对Linux命令行和作业调度系统比较熟悉,计算量非常大。 |
不熟悉Linux,习惯交互式图形界面,计算量相对较小,使用图形界面快速实验验证一些想法。无计算机背景的新用户建议使用这种模式。 |
应用场景 |
全校共享一个计算集群,多用户排队提交作业 |
个人/院系独占集群资源,可自定义集群内部运行环境,自主安装系统应用 |
个人独占/多人共享单节点资源 |
执行方式 |
SLURM作业提交 |
自主安装作业调度系统或直接多节点并行 |
交互式提交 |
节点数量 |
预分配固定节点 |
规模可伸缩 |
单节点 |
应用类型 |
绝大多数计算任务 |
绝大多数计算任务 |
CentOS、Ubuntu系统,Jupyter、RStudio、MATLAB等有交互界面的计算任务。 |
申请资源 |
编写资源申请脚本,使用作业调度软件提交作业 |
Web页面申请集群,编写资源申请脚本,登录集群后提交作业 |
在Web界面申请资源,使用Linux命令行或者VNC操作服务器 |
计费方式 |
从作业启动后开始计费,直到作业结束,作业结束后资源自动释放。 |
从启动计算资源开始计费,直到资源释放为止。有最长使用期限,超过最长使用期限后系统自动释放资源,用户也可以自己手动释放资源。 |
从启动计算资源开始计费,直到资源释放为止。有最长使用期限,超过最长使用期限后系统自动释放资源,用户也可以自己手动释放资源。 |
图形界面 |
不支持 |
支持 |
支持 |
客户端ssh |
支持 |
支持 |
不支持 |
root权限 |
否 |
是 |
是 |
如上表所示,计算云主要支持三种模式:
对于计算资源使用量较大、有一定Linux命令行基础的用户,可以考虑使用公共集群或者独占集群模式。这两种模式都使用作业调度系统提交作业。不同在于公共集群按作业运行时长来计费,独占集群的计费从分配资源开始到资源释放,如果中间并未运行作业,依然计费。
如果对Linux命令行不熟悉,我们提供了独占/共享实例模式,可以在“申请资源”处申请有交互界面的计算资源,提供了Jupyter等有交互界面的工具,上手简单,无需学习Linux,适用于无计算机背景的新用户。此模式优点是学习成本低,缺点是计费方式粒度粗,不适合有大量计算任务的用户。用户也可以前期使用这类交互界面实例,如发现计算量较大,建议逐渐迁移到公共集群模式上,该模式计费更准确。
对于想独占计算资源的用户,可以使用独占集群模式。
综上,无计算机背景的新用户建议使用独占/共享实例模式。下面将分别简述三种模式的使用方法。
公共集群¶
公共集群以传统的作业调度方式提供公共共享的计算资源,所有用户无需申请即可直接登录使用。每位用户进入平台后就已经自动分配到公共集群的项目组内,“共享资源”中的第一个项目就是公共集群。
用户在公共集群内使用资源时以作业提交的方式申请计算资源,通过作业调度系统将任务分发到计算节点上。用户在公共资源里只具有普通用户权限,可通过ssh客户端直接 登录集群。
公共集群的登录节点配置了资源限制,请勿在公共集群的登录节点执行大的计算任务。
独占集群¶
独占集群提供了一种用户独占或多人共享的多节点虚拟集群,用户在自己申请的独占集群中具有虚拟的超级用户权限,可以对系统进行定制化修改,用户可以在虚拟集群中安装配置自定义的作业调度系统或者直接使用应用程序自带的调度模块进行任务管理。 用户在申请到独占集群资源后,可以随时登录到独占集群上使用资源。独占资源配置有使用期限,到期后系统会自动对资源进行回收。用户也可以手动释放资源。
注意
独占集群分为两种,一种为个人独占集群,只允许个人使用,一种为项目独占集群,可以团队共享。
独占集群申请流程如下:
要申请项目独占集群,必须先创建共享的项目,项目名称不允许包含特殊字符。如果是个人独占集群请跳过本步。项目管理请参考此处。
在申请资源界面选择项目独占集群的应用模板,点击“创建实例”。
在创建实例窗口中填写信息。
名称: 为该集群名称,用于分辨同一用户创建的不同实例。
通知邮箱: 用于发送平台通知,例如使用最长到时间即将到期时,将发送邮件通知用户。
共享到项目: 共享到已创建的项目中,项目中其他成员均可以使用该集群。个人独占集群没有此选项。
用途备注: 为该实例的科研用途。
节点资源设置: 用于设置实例的节点资源。根据实例的不同,可选的资源也不同。
BindCPU
是指让一个任务跑在指定的cpu上,防止缓存切换,提升性能。
到我的资源中可使用新创建的独占集群资源。
点击具体的实例,可对实例进行管理。可以通过伸缩集群按钮进行集群规模的调整。
关于独占集群多节点任务使用方法,请参考此处。
独占实例¶
独占实例是用户独占的单机计算资源,用户在自己的独占实例中具有虚拟超级用户权限,这种资源使用方式可以提供远程桌面以满足图形化交互计算的需求。除了可以使用到普通的物理计算节点资源,这种实例可以使用到KNL节点等计算资源。
独占实例的申请流程如下:
点击“申请资源”,进入资源库,根据需要在过滤条件处选出自己所需的计算资源,比如Jupyter等,点击“创建实例”。
填写该实例的必备信息。
名称: 为该实例名称,用于分辨同一用户创建的不同实例。
用途: 为该实例的科研用途。
通知邮箱: 用于发送平台通知,例如使用最长到时间即将到期时,将发送邮件通知用户。
选择账户: 选择计费账户。如果选择“无”,则在个人项目账户中计费。
节点资源设置: 用于设置实例的节点资源。根据实例的不同,可选的资源也不同。
备注
BindCPU
是指让一个任务跑在指定的CPU上,防止缓存切换,提升性能。BindCPU为”False”的时候,进程的CPU使用是按照份额的方式调度的,在没有竞争的情况下,可以用所有的CPU资源。如果为”True”,就只能用分配的那几个CPU。对于跑WEB服务,或者Jupyter那样不是一直跑满的,选择”False”会更好一点。
CPU
是指实例要使用的CPU核数。
GPU
是指实例要使用的GPU卡数。如果卡数为0.x的小数点,意为共享GPU。例如0.2卡,则系统会分配给实例1/5的GPU卡。
Memory
是指实例需要的内存数。
注意
使用周期是该实例默认最长使用期限。超过该期限后,平台会自动释放该实例的计算资源。在该期限内用户可以自由使用该实例,但该实例会一直计费。用户也可以手动释放该实例的计算资源,结束对该资源的计费。
注意
该模式从创建开始计费,直到自动或手动释放资源停止计费。为避免申请到资源不进行计算或者正在进行计算时超时系统自动回收资源,用户一定要注意“使用周期”和“通知邮箱”项,并定期查看邮箱中来自平台的通知邮件。
在“我的资源”中选择申请的实例,启动该实例。
注意
如果平台当前可用资源已经全部分配完毕,该实例申请后需要排队等待分配,此时无法启动实例。
点击“远程桌面”图标可以登录桌面。
点击“控制台”可进入终端界面,输入
sudo -i
可切换至虚拟超级用户对系统进行修改、安装软件或开发包。
注意
不同实例所能支持的操作不同。