10 用户服务

10.1 用户手册

交我算平台用户手册

图10.1: 交我算平台用户手册

“交我算”平台秉承用户至上的服务理念,建立完善的超算平台使用在线文档docs.hpc.sjtu.edu.cn(如图10.1所示),旨在帮助用户高效地访问和利用平台资源。通过提供详细的指导和资源介绍,大大降低了新用户上手的难度,同时也为经验丰富的用户提供了参考资料。

10.1.1 用户手册内容简介

该在线文档包含的内容主要包括以下部分:

全面的资源介绍

文档详细介绍了平台的各类硬件资源,包括不同的超算集群(如”思源一号”、“Pi 2.0”、AI平台、ARM平台等),为用户提供了关于这些高性能计算资源的全面了解。

账号管理指导

文档提供了关于如何申请和管理HPC账号的详细信息,包括主账号和子账号的介绍,对于确保计算资源的有效管理和分配至关重要。

详尽的使用说明

文档包含了从基础到高级的所有必要信息,涵盖如何登录集群、使用文件系统、提交作业、运行容器、使用软件等的详细指南,有助于用户快速掌握如何高效地使用超算资源。同时,为那些需要使用图形界面的用户提供了可视化平台的使用指南。

软件和工具的详细信息

文档介绍了平台上可用的软件和工具,包括各种编译器、库和应用程序,以及如何使用它们,有助于用户选择并上手自己需要的软件和工具。

常见问题解决方案

文档包括一个常见问题解答部分,帮助用户快速解决在使用平台时可能遇到的问题。

参考教学视频

文档内插入了相应内容的教学视频,方便用户根据视频演示来熟悉操作流程,协助用户快速上手使用平台各项功能。

作为在线资源,用户可以随时访问这些信息,并根据自己的需求快速找到相关的帮助和指导。此外,用户还可以通过网站下载PDF版(546页)和简明手册(15页),以方便离线的时候查阅。随着超算平台技术的发展和用户需求的变化,这些文档将会持续更新和完善,确保用户始终可以访问最新的信息和指南。

10.1.2 用户手册建设方案

方案简介

Sphinx是一个开源的文档生成工具,最初是为Python项目而设计的,但也可以用于其他编程语言或一般文档的编写。它允许使用标记语言编写文档,并将其转换为多种输出格式,包括HTML、PDF和ePub等。Sphinx提供了强大的功能,如自动化文档生成、交叉引用、索引生成和多种主题选择等。交我算的用户手册文档使用reStructuredText(rst)格式书写,通过Sphinx编译为Web站点和PDF文档。

用户手册的项目托管于GitHub网站(https://github.com/SJTU-HPC/docs.hpc.sjtu.edu.cn.git),可供交流分享。

此外,我们通过GitLab CI/CD,为项目集成了自动化部署流程。GitLab CI/CD是GitLab平台提供的持续集成/持续交付(CI/CD)功能。CI代表持续集成(Continuous Integration),CD代表持续交付(Continuous Delivery)或持续部署(Continuous Deployment)。通过配置项目根目录下的.gitlab-ci.yml文件,指定了项目的构建、测试和部署步骤,以及在何种条件下触发这些步骤。配置完成后,GitLab将自动执行这些步骤,并提供详细的构建和部署日志,以便开发团队监视和调试整个过程。

Sphinx项目部署流程

  • 安装Sphinx:首先需要在系统上安装Python。然后使用pip工具安装Sphinx。
pip install -U sphinx
  • 创建项目目录:创建一个新的目录来存放Sphinx项目并进入该目录。
mkdir my_sphinx_project
cd my_sphinx_project
  • 初始化Sphinx项目:使用Sphinx提供的命令行工具来初始化项目。在执行该命令时,需要提供项目名称、作者、版本号、使用的标记语言、文档目录等,以配置项目。
sphinx-quickstart
  • 编写文档和配置文件:项目初始化完成后,会在目录自动生成一些文件和目录,包括conf.py配置文件和index.rst主文档文件。
    • conf.py配置文件位于Sphinx项目的根目录下,其中包含了各种配置选项和设置,用于指定文档生成的方式、输出格式、主题样式以及其他相关设置。
    • 我们可以在index.rst中编写主页的文档内容,也可以创建其他的.rst文件来编写文档。文档之间通过.. toctree::命令来链接。.. toctree::是Sphinx中用来构建文档目录树的指令,其作用是将多个文档链接在一起,形成一个文档目录。通常情况下,.. toctree::指令会跟随一个列表,列出要包含在文档目录中的其他文档。我们通过这个指令来组织和管理大型文档项目,让用户可以更方便地浏览和导航整个文档集合。
  • 编译文档:在文档编写完成后,可以使用Sphinx提供的命令来构建文档。以下命令将生成HTML格式的文档,也可以选择通过Latex生成pdf格式的文档。
make html

使用GitLab CI/CD进行站点的自动部署

为了使用GitLab CI/CD,需要在项目的根目录下,创建一个名为.gitlab-ci.yml的文件。这个文件用来定义CI/CD管道中的各个阶段、作业和操作。一旦.gitlab-ci.yml文件被推送到Git服务器上,服务器将检测到该文件,并根据其中定义的管道配置,在代码发生变动时自动执行CI/CD管道设定的操作步骤。

在下面这个样例代码中,我们首先定义了构建(build)、测试(test)、部署(deploy)三个阶段的工作。其次,我们编写三个作业。在每个作业中,我们用stage关键词指定了作业所属的步骤,并用script关键词指定了运行该作业时需要执行的命令。额外地,在deploy_job作业中,我们通过only关键词,限制该作业只会在master分支上的提交触发时执行。

stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "Building project..."

test_job:
  stage: test
  script:
    - echo "Running tests..."

deploy_job:
  stage: deploy
  script:
    - echo "Deploying project..."
  only:
    - master

10.2 用户培训

“交我算”每年都有众多新用户,同时也在不断推出新功能、新服务,为了让用户正确合理的使用”交我算”计算资源,“交我算”团队每年举办多场不同类型的用户培训。各类用户培训主要拥有以下几大作用:1、帮助新生和新用户快速上手使用”交我算”计算资源;2、提高用户的高性能计算素养;3、推广新功能、新服务。

“交我算”培训通知通常会提前一至两周在”交我算”用户群以及”交我算”公众号发布培训海报和推文。疫情期间,培训通常以腾讯会议线上直播的方式开展;疫情过后,根据培训内容、场景和受众师生的需求,培训在线下开展的同时,也会开设线上直播或者是视频录播。

10.2.1 春秋季用户培训

为了更好地协助新同学上手使用”交我算”的计算资源,“交我算”每年春秋两季定期举办培训大会(见图10.2),整体介绍”交我算”平台的计算资源和服务,手把手教学如何上手使用”交我算”各大计算平台,以及近期推出的新功能新服务。

用户培训现场

图10.2: 用户培训现场

10.2.2 专题培训

相较于春秋季培训,专题培训将会聚焦于专题领域,更深入的介绍讲解专题内容。专题内容涵盖了新集群和新服务介绍与使用、学科专题、软件专题等等。以下是三种不同的专题培训的具体示例:

10.2.2.1 新集群和新服务介绍与使用:思源一号专题培训

该培训是”思源一号”高性能计算集群上线的专题培训(见图10.3),主要介绍了”思源一号”集群的软硬件配置以及具体使用方法和注意事项。为集群新上线之际,师生们对于新集群使用上的常见问题,例如使用方式、环境配置、数据迁移等问题答疑解惑。

思源一号专题培训

图10.3: 思源一号专题培训

10.2.2.2 学科专题:生信专题培训

该培训是面向生科院、医学院、农生学院等生信相关院系的专题培训(见图10.4),聚焦”交我算”生信云计算平台的使用和生信软件在高性能计算平台的安装方式。

生信培训

图10.4: 生信培训

10.2.2.3 软件专题:MATLAB专题培训

MATLAB是理工科院系科研与教学都常用的数值计算软件,全校使用人数超过2万。相比起个人版电脑有限的算力,“交我算”高性能计算集群可以支持更大规模计算,因此利用并行计算加速MATLAB代码对于提高科研计算效率非常重要,这次培训(见图10.5),从多角度介绍了如何优化MATLAB代码。内容不仅包括如何利用parfor实现MATLAB并行计算,也介绍了如何实现从MATLAB到C的代码重构和GPU计算。

Matlab专题培训

图10.5: Matlab专题培训

10.2.3 “交我算”视频号

“交我算”视频号是由”交我算”团队维护管理的微信视频号(见图10.6)。视频内容包含”交我算”新手入门小视频、计算微课系列视频、生信云平台流程使用指导、“交我算”培训视频录像等等。

“交我算”新手入门系列小视频包含了高性能计算平台、人工智能平台、云计算平台的基本使用方式,每个视频5-10分钟不等,从登录、数据传输到进阶的计算小窍门,一步一步指导新用户上手使用”交我算”计算资源;计算微课系列视频是以微课的形式讲授计算相关的知识,每个视频10-20分钟不等,从Linux入门到mpi编程,为非计算机专业用户带来计算基础知识讲解;生信云平台流程使用指导包含了最常用的生信分析流程和软件的使用方式指导,是生信相关用户上手使用生信云平台的好帮手。

交我算视频号

图10.6: 交我算视频号

10.2.4 走进院系系列讲座

“交我算”走进院系系列活动(见图10.7)旨在分享”交我算”平台的发展历程、用户服务、人才培养、学科应用等内容,意在搭建”交我算”团队与院系之间的互动交流平台,为学科交叉合作研究奠定基础。同时,走访院系进行调研,也促进了”交我算”团队了解各个院系的计算与服务需求,能更好的支持全校科研、教学、管理与创新发展。

走进院系系列讲座

图10.7: 走进院系系列讲座

10.3 特色案例1:可视化平台

上海交通大学可视化平台(studio.hpc.sjtu.edu.cn,见图10.8)提供了一个便捷易用的界面,用户能够轻松地访问和使用HPC资源,而无需深入了解底层的技术细节。用于满足校内不同学科的老师和学生进行科学计算、科研、教学以及集成开发环境的需求。本文将从可视化平台建设背景、平台架构、建设方案、功能、使用情况等方面进行介绍。

可视化平台

图10.8: 可视化平台

10.3.1 建设背景

随着科学技术的不断发展,对于海量数据和复杂计算的需求也越来越大。高性能计算能够提供强大的计算能力和存储资源,但是由于其复杂的设置和管理,对于一般用户来说并不容易上手。为了让更多的用户能够充分利用HPC资源,提高科研效率,可视化平台应运而生。

10.3.2 平台架构

Open OnDemand的架构包含服务前端、服务后端和客户端(见图10.9)。Apache作为服务前端接收客户端的请求,服务四大主要功能:

  1. 用户验证
  2. 启动每个用户的NGINX进程(PUNs)
  3. 通过Unix域套接字将每个用户反向代理到其PUN
  4. 通过TCP套接字反向代理在计算节点的交互式应用程序(RStudio,Jupyter,VNC桌面)

服务后端由PUN和交互式应用构成,控制着用户如何提交作业和启动交互式应用程序。

平台架构

图10.9: 平台架构

10.3.3 建设方案

方案简介

可视化平台基于Open OnDemand项目进行建设。Open OnDemand由俄亥俄州超级计算机中心(OSC)进行开发维护,是一个基于Web的开放框架,可用于部署和管理高性能计算(HPC)资源。

环境配置

服务需要运行在x86架构的Linux系统中,资源需求参考表10.1

表10.1: 可视化平台资源需求
CPU核数 8核
内存 16GB
存储 共享NFS、并行文件系统、根目录50GB
计算节点依赖 nmap-ncat、TurboVNC 2.1+、websockify 0.8.0+

部署流程

  1. 添加源,并安装ondemand及依赖
dnf install epel-release
dnf module enable ruby:3.0 nodejs:14
yum install https://yum.osc.edu/ondemand/3.0/ondemand-release-web-3.0-1.noarch.rpm
yum install ondemand
  1. 开启服务
systemctl start httpd
systemctl enable httpd
  1. 接入认证,以KeyCloak为例

修改/etc/ood/config/ood_portal.yml文件,添加重定向与OIDC地址

logout_redirect: '/oidc?logout=https%3A%2F%2Fstudio.hpc.sjtu.edu.cn'
oidc_uri: '/oidc'
host_regex: '[^/]+'
node_uri: '/node'
rnode_uri: '/rnode'

新建/etc/httpd/conf.d/auth_openidc.conf文件,添加KeyCloak信息

OIDCProviderMetadataURL https://keycloak.hpc.sjtu.edu.cn/auth/realms/XXX/.well-known/openid-configuration
OIDCClientID        "studio.hpc.sjtu.edu.cn"
OIDCClientSecret    "XXXXX-XXXXX-XXXXX"
OIDCRedirectURI      https://studio.hpc.sjtu.edu.cn/oidc
OIDCCryptoPassphrase "XXXXX"
# Keep sessions alive for 8 hours
OIDCSessionInactivityTimeout 28800
OIDCSessionMaxDuration 28800
# Set REMOTE_USER
OIDCRemoteUserClaim preferred_username
# Don't pass claims to backend servers
OIDCPassClaimsAs environment
# Strip out session cookies before passing to backend
OIDCStripCookies mod_auth_openidc_session mod_auth_openidc_session_chunks mod_auth_openidc_session_0 mod_auth_openidc_session_1

重启服务systemctl restart httpd.service后即可跳转KeyCloak进行认证。

  1. 配置集群,接入SLURM调度系统

/etc/ood/config/clusters.d/目录下新建cluster.yml

---
v2:
  metadata:
    title: "HPC Cluster"
  job:
    adapter: "slurm"
    bin: "/usr/bin"
    conf: "/etc/slurm/slurm.conf"
  1. 异地集群支持

为了支持调用异地超算资源,实现统一入口。需要在可视化平台及所有计算节点挂载同一NFS共享存储,并通过OOD_DATAROOT变量设置数据目录为NFS存储。 同时,还要修改交互式应用程序script.sh.erb脚本以兼容不同的存储路径。

<%- if context.version == "r2022a" -%>
APP_IMAGE="/lustre/share/img/matlab_r2022a.sif"
if [ -d "/lustre/share/img/ood-app" ]; then
  echo "Run in /lustre !"
else
  APP_IMAGE="/dssg/share/imgs/matlab/matlab_r2022a.sif"
  echo "Run in /dssg !"
fi
<%- end -%>

<%- if context.version == "r2022b" -%>
APP_IMAGE="/lustre/share/img/matlab_r2022b.sif"
if [ -d "/lustre/share/img/ood-app" ]; then
  echo "Run in /lustre !"
else
  APP_IMAGE="/dssg/share/imgs/matlab/matlab_r2022b.sif"
  echo "Run in /dssg !"
fi
<%- end -%>

10.3.4 平台功能

可视化平台提供了丰富的功能,以方便用户管理和使用HPC资源。

文件管理:

文件管理功能(见图10.10)兼容了Linux系统的权限,用户可以通过浏览器上传、下载、新建、移动和删除文件和文件夹。支持显示文件属主、权限、隐藏文件及常见文件的预览。左侧导航栏通过配置,可以实现异地集群家目录的切换。

文件管理

图10.10: 文件管理

文本编辑器:

文本编辑器(见图10.11)集成到了文件管理和作业提交模板等功能中,可以编辑和保存文本文件,而无需启动Shell会话。编辑器界面简洁但功能强大,有主题设置、语法高亮、编辑习惯等功能。

文本编辑器

图10.11: 文本编辑器

Shell访问:

可视化平台支持从Web门户访问Shell(见图10.12),有主题设置,支持免密登录、复制和粘贴剪贴板信息。

Shell访问

图10.12: Shell访问

作业管理:

作业管理功能(见图10.13)对接了作业调度系统,可以查看作业、显示作业详情、管理作业。

作业管理

图10.13: 作业管理

作业提交:

用户可以通过作业提交功能(见图10.14)来提交作业,支持了队列预设、文件编辑、作业提交和管理。可视化平台预设了一些常用软件的作业模板,在简单修改输入输出参数后即可使用,为用户上手超算带来了便利。

作业提交

图10.14: 作业提交

交互应用:

交互应用(见图10.15)是平台的核心功能,通过noVNC支持了Xfce、KDE、GNOME等多种桌面环境。在上面可以部署MATLAB、RELION等GUI应用。另外,通过反向代理可以实现访问计算节点的各类Web服务,如Jupyter、RStudio等,大大丰富了可视化平台的应用场景。

RStudio

图10.15: RStudio

10.3.5 平台情况

可视化平台目前已部署21个常用的工具及科学软件,涉及生物医学、航空航天、机械动力等多个学科领域,支持调度π2.0、思源一号、AI平台的资源。平台上使用频率较高的依次是RStudio、Jupyter、远程桌面。可视化平台不仅解决了GUI应用和Web服务类应用的使用问题,也非常受到没接触过超算用户的喜爱。

10.4 特色案例2:“交我算”定制版客户端

10.4.1 背景

随着“交我算”集群和用户规模的不断扩大,用户在使用现有的客户端连接“交我算”平台过程中存在着以下问题:

  1. 多套集群并存,用户使用不同的集群需要登录不同的管理节点,地址容易混淆;
  2. 使用终端远程连接“交我算”平台时经常会遇到无法登录的问题,可能原因有多种,包括客户端网络设置错误、账户状态异常、密码错误、服务器端负载过大等,用户只能手工一一排查,诊断错误原因开销较大。
  3. 在连接“交我算”计算平台各集群的登录节点或使用数据传输节点进行文件传输时,用户需要根据节点名、IP地址、文件传输目录等信息进行动态配置,操作步骤较为繁琐。

针对以上问题,交我算用户服务团队基于开源的客户端Tabby,设计并开发了面向高性能计算平台的定制化客户端,即“交我算”定制版Tabby(简称“交我算”Tabby)。该客户端具有良好的跨平台能力,用户可以根据使用习惯进行主题和快捷键定制,并能够对连接错误的原因进行分类诊断,方便用户快速解决问题。此外,该客户端通过与“交我算”平台交互,能够动态配置节点名、IP地址、文件传输默认路径等信息,有效地提升了用户使用终端完成计算任务的效率。

10.4.2 客户端技术选型

Putty作为一款集成了SSH、Telnet的开源客户端,具有安全、轻量、简单易用的特点,但是PuTTY缺乏个性化设置,界面不够美观且跨平台支持较差。

开源客户端Tabby提供了现代化的用户界面且具有高可定制化的特点,允许用户可以根据自己的喜好和需求进行个性化设置,如配置外观主题和自定义快捷键等。同时,Tabby具有良好的跨平台特性,可在主流的Windows、macOS和Linux操作系统上运行,支持PowerShell、WSL、Git-Bash和Cygwin等多种命令行环境。由于其具有高度可定制化和跨平台特性,提供了很高的易用性,因此选择了Tabby作为基准软件来实现进一步开发。

10.4.3 客户端主要功能设计

10.16展示了“交我算”Tabby的架构图。在Tabby的基础上,我们扩展了连接错误诊断模块,对SSH连接错误进行智能分类诊断。同时目录跟踪模块、节点信息跟踪模块分别使用SSH客户端和HTTP客户端与“交我算”计算平台交互,跟踪相关动态配置信息,自动帮助用户修改配置文件。

“交我算”Tabby的架构图

图10.16: “交我算”Tabby的架构图

10.4.3.1 SSH连接错误智能分类诊断

为了帮助用户清楚地了解连接失败的原因,“交我算”Tabby扩展了连接错误诊断模块,将SSH连接错误原因进行分类诊断并向用户报告。根据诊断时机,可以将SSH连接错误分为以下三类:

  1. 连接前错误是在发起SSH连接前可以被诊断出的错误,包括:网络连接错误,表示当前设备无法正常连接互联网;未使用校园网错误,表示客户端没有使用校园网连接只能由校园网进行访问的集群;域名解析错误,表示客户端无法解析指定网络域名。

  2. 连接失败错误是在发起SSH连接失败时可被诊断出的错误,包括:节点负载过高错误,表示被访问节点负载过高无法服务新的SSH连接;密码不匹配错误,表示客户端输入的账号或密码不正确;账号暂时封禁错误,表示用户输入错误密码多次后账号暂时封禁不能继续尝试登录;集群停机错误,表示服务器端集群可能停机,因而拒绝任何连接请求。

  3. 连接断开错误是指SSH成功连接后被立刻断开的错误,包括:账号冻结错误,表示SSH连接因用户账号被冻结而被断开;用户连接数过多错误,表示服务器已连接用户过多无法接入新的用户;配置文件设置错误,SSH会话连接建立后会自动运行若干脚本,该类脚本的运行可能产生错误导致连接被中断。

10.4.3.2 集群信息动态配置

为了减少用户对集群节点名、IP地址、文件传输默认目录等动态配置信息进行繁琐的配置操作,“交我算”Tabby提供了节点信息跟踪模块和文件目录跟踪模块,对常用的配置信息进行跟踪,使得用户能够一键完成以下两类配置的修改,并能扩展到其他集群配置信息。

  1. “交我算”平台节点名和IP地址

“交我算”平台包括多个集群,用户在连接时需要自己指定连接集群的节点IP地址。节点信息跟踪模块在每次用户启动客户端时,通过HTTP请求从“交我算”计算平台获取当前正常工作的集群的节点IP信息,并将结果显示在用户界面上。用户能够直接选择需要连接的集群节点名与IP地址,无需手动配置。

  1. SFTP文件传输路径

SFTP(SSH File Transfer Protocol)是一个基于SSH的文件传输协议,提供文件存取、传输和管理等功能,并保证了上述功能的安全性。在Linux系统中使用SFTP传输文件指定文件的默认路径是系统的根目录,而用户的文件大多保存在自己的工作目录下,非Linux系统用户可能缺乏该认识而难以找到自己的文件。为了使用户在使用SFTP传输文件时快速找到需要传输的文件,“交我算”Tabby提供了目录跟踪模块。该模块跟踪并记录SSH连接当前的工作目录,并在使用SFTP传输文件时,将该目录设置为SFTP文件操作的默认目录,减少了用户配置文件访问目录的开销。

10.4.4 技术实现

10.4.4.1 诊断机制实现

连接错误分类诊断的总体流程如图10.17所示。连接错误诊断模块按顺序分别检测连接前错误、连接失败错误以及连接断开错误。

SSH连接错误诊断流程示意图

图10.17: SSH连接错误诊断流程示意图

  1. 对于连接前错误,客户端按顺序分别诊断网络连接错误、未使用校园网错误和域名解析错误。对于网络连接错误,“交我算”Tabby会假设百度域名可用,并尝试PING百度域名,如果失败则认为是客户端的网络未连接成功。对于未使用校园网错误,“交我算”Tabby会访问上海交通大学的IP查询服务,查询校园网的IP地址范围,并检测客户端的IP地址是否在查询的IP地址范围中。如果不在,则报告未使用校园网错误。如果客户端网络可用并且正在使用校园网(仅针对需要通过校园网访问的集群),“交我算”Tabby会尝试解析用户指定的服务器域名。

  2. 如果没有检测到连接前错误,“交我算”Tabby会向服务器发起SSH连接,并在连接失败的情况下诊断连接失败错误。首先,“交我算”Tabby会预置一个检测连接失败错误的时间阈值。如果用户已经输入密码并且在该时间阈值内仍无法成功连接,则认为当前使用的节点过于繁忙,向用户报告节点负载过高错误。否则,如果连接失败的原因是SSH 会话发起失败,则根据会话发起失败的异常信息向用户报告失败原因。如果会话发起失败的原因是因为登录认证失败,则向用户报告密码不匹配错误。如果SSH连接错误信息和网络有关,则向用户报告可能是集群停机。如果原因是用户多次登录认证失败,则报告由于输入密码错误次数过多而封禁,需一小时后重试。

  3. 如果用户可以成功连接“交我算”计算平台,但在使用过程中连接异常断开,“交我算”Tabby会诊断连接断开错误。首先查看计算平台最近一次连接是否提醒账号当前不可用。如果是,则向用户报告账号冻结错误,提醒用户发送邮件申请解封。否则,向用户报告可能配置文件设置错误,提醒用户向“交我算”平台发送邮件申请重置。

10.4.4.2 动态信息跟踪实现

目录跟踪模块使用终端转义码来跟踪用户当前工作目录。终端转义码是一些由终端应用程序输出到标准输出的具有特殊含义的字符串。其中,“交我算”Tabby使用“OSC 1337”这一终端转义码来获取当前终端工作目录。在用户通过SFTP协议传输文件时,将当前工作目录设置为SFTP文件操作所使用的目录。因此,用户可以更轻松地管理和传输文件,提高工作效率。

节点信息跟踪模块使用HTTP请求获取“交我算”集群机器的节点名和IP地址等信息。当用户启动“交我算”Tabby、SSH连接失败或异常断开时,集群跟踪模块会向“交我算”计算平台的HTTP服务端发送请求获取并加载集群信息,并将结果写入本地配置。用户准备发起SSH连接时,SSH连接界面会读取上述本地配置并将集群信息展示给用户。用户只需点击想要连接的集群节点名,即可对相应集群发起SSH会话。

10.4.5 实现效果

如图10.18(1)、(2) 所示,用户可首先通过主页面进入设置界面,定制其想要的应用、外观、终端、快捷键等参数。接着,用户可通过图10.18(3)所示的主页面,进入配置和连接页面,发起SSH连接。用户可以在图10.18(4)所示下拉菜单中选择“交我算”Tabby预先加载的集群,一键连接指定集群。如果连接失败,则会收到图10.18(5)所示的SSH连接错误诊断信息示例。

如图10.18(6)所示,用户SSH连接成功后,即可通过终端在集群节点上提交计算任务。如果需要传输文件,则点击SFTP键,将进入图10.18(7)所示的文件传输界面。“交我算”Tabby会检测当前目录位置,并支持用户从当前位置开始查找或传输文件。此外,界面还提供了创建文件夹、上传等按钮,使用户操作更加便捷。

用户使用“交我算”定制版客户端登录及传输文件流程

图10.18: 用户使用“交我算”定制版客户端登录及传输文件流程