Skip to content

【新手必读】超级计算机

本文介绍了超级计算机(下称:超算)的基本概念,以及与本地服务器(或工作站、或笔记本)计算流程的异同点,以帮助您快速认识超算。如果您已经拥有超算的使用经验,可跳过本文内容。

一、超算基本概念

超算通常由成百上千台计算节点组成,计算节点之间通过高速的计算网络(目前主流带宽大于100Gb/s)彼此相连,以应对频繁的节点之间的数据交互。一般来说,超算包括如下几个基本概念:

计算节点:顾名思义,计算节点是超算中用来执行计算任务的服务器,数量一般在几十到几千甚至上万不等

登陆节点:登陆节点是您与超算沟通的桥梁,在您将计算任务提交给超算之前,往往需要进行一些前置工作,如脚本编辑、软件安装或编译等,这部分工作就可以在登陆节点上进行。登陆节点上不允许用户许进行大规模的求解计算任务,因为这会影响到其他用户的正常使用。超算的登陆节点数量一般在数个到数十个不等。

家目录/共享存储:当您在超算中运行计算任务时,需要有存储空间来存放安装的软件和输入输出文件, 这块存储空间在物理上位于超算的共享存储中,在逻辑上表现为您的家目录。您对自己的家目录拥有100%的控制权限,但超算的安全防护机制会使您无法访问其他用户的家目录。

调度系统:调度系统是超算的操作系统,您和超算交互的本质,就是和调度系统的交互。例如:当您想使用512核心进行汽车气动外形仿真模拟时,您需要将512核心这个要求“告诉”调度系统,之后调度系统才能将512核心分配给你的计算任务。

二、超算擅长的任务

超算的计算节点数量在几十到几千甚至上万不等,因此,无论您的计算任务使用自研软件、开源软件还是商业软件,只要您的计算任务可以扩展到多台服务器上且具有一定加速效果时,超算就是您的最佳选择。这类计算任务的典型代表是:天气预报、石油物探、CAE仿真、蛋白质计算、第一性原理计算、人工智能训练等。

三、超算上的计算流程

1. 与本地服务器的相同点

如果您本地有一台专属的服务器,那么计算流程大体会分为如下步骤:

步骤本地服务器计算流程
步骤一:上传输入文件将输入文件上传到目标服务器中
步骤二:安装软件登录到服务器,安装您需要的软件
步骤三:提交计算登录到服务器,运行您的计算脚本、或者打开软件的图形界面提交计算作业

如果您在超算上提交计算任务,那么您的计算流程和本地服务器的计算流程完全相同。

2. 与本地服务器的不同点

在实际操作时,超算和本地服务器有一些差异,典型差异如下:

(1)上传输入文件

本地服务器:因为您具有本地服务器的完全控制权限,所以您可以使用root权限登录本地服务器的Linux系统,并能将您的输入文件放置在任何目录下。

超算:超算面向多用户提供服务,因此您只有超算的普通用户权限,只能将所需文件放置在您的家目录下。具体操作可参考《新手指南-上传算例或输入文件》。

(2)安装软件

本地服务器:因为您具有本地服务器的完全控制权限,所以您可以使用root权限将您的软件安装在任何目录下,包括系统目录。

超算:超算面向多用户提供服务,因此有两个特点:a. 超算会预置绝大多数用户使用的常用软件或工具,如编译器、数学库、高频应用软件等,此时您可以选择预置软件进行计算,无需重复安装;b. 因为您只有超算的普通用户权限,所以只能将应用软件安装在您的家目录中。具体操作可参考《新手指南-软件安装》。

(3)提交计算

本地服务器:当您登录本地服务器后,一般打开软件的图形界面交互式的提交计算任务,或者通过shell来提交您的作业脚本。此时您的任务会由服务器中的操作系统(OS)调度分发给CPU核心或GPU加速卡进行计算。

超算:超算拥有众多计算节点,面对多用户的计算请求,需要有一个“仲裁者”来实现计算资源统一的分配,这个“仲裁者”被称为调度系统,他是超算的操作系统。因此,用户跟超算的交互,实际上是和调度系统的交互。只有当您的计算任务成功被调度系统投递到某计算节点上时,您才可以获得该计算节点的访问权限,此时您可以像登录本地服务器那样,登录到该计算节点进行您需要的交互操作。具体的计算操作可参考《新手指南-提交作业》。