-
Notifications
You must be signed in to change notification settings - Fork 0
WorkFlow
eHPC API 是一套API接口,方便用户通过网站或本地程度,通过REST API 来直接访问 HPC 的资源。
目前 eHPC API 采用 NERSC-NEWT 的基本API 框架
用户可以通过调用这些API 来完成对HPC 资源的访问。
经过考虑,推荐将 eHPC API Server 部署在HPC 集群环境内,这样更方便 eHPC API Server 进行对集群的管理。
核心功能:
通过调用Auth api , 用户可以进行系统的登录,通过用户名和密码认证通过后,用户可以获得认证的Token , 通过Token 来进行其他API 接口的安全访问。
通过File api , 用户可以进行小文件的上传、下载;方便用户进行在线的编译、测试、作业提交的进行。
这个模块目前尚还有些问题,待完善
通过 Job Api , 可以进行 命令的执行(api/command) , 计算任务的提交(api/job)等。
通过(api/command) , 其实就已经可以进行几乎所有对 hpc 环境的操作。
而通过(api/job),可以屏蔽不同HPC集群的调度系统的差异来进行作业的提交和管理。
1, 用户登录系统
调用 API/AUTH 进行登录认证
curl -X POST -D cookie.txt -d "username=xxx&password=xxx" http://hpc-api-server/api/auth
2, 用户编辑好或上传源码文件
调用 API/FILE 进行文件的上传或创建
curl -T ../main.c http://hpc-api-server/api/file/workdir/main.c
3, 编译文件
直接执行简单的编译命令
curl -X POST -d "command=mpicc main.c -o a.out" -b cookie.txt http://hpc-api-server/api/command/localhost
对于较为复杂的编译过程,建议先创建Makefile 通过 api/file 上传上来, 然后再用 api/command 执行 ‘make’ 命令
4, 提交计算任务
根据用户在前端的设置, 先生成提交作业的脚本,然后通过 api/file 上传上来, 然后调用 api/job 来进行任务的提交
curl -X POST -d "jobscript=date" -b cookie.txt http://hpc-api-server/api/job/localhost/
具体的API 的用法见各个版本的说明