跳转至

主页

简介

banner

MatrixDL (Matrix Deep Learning) 是一个算力市场平台,帮助管理本地私有服务器集群,并以容器化的方式来为多用户提供计算服务

本项目的灵感主要来源于AutoDL算力云,同时也是数据库大作业作品

MatrixDL致力于提供简单易用的云端算力,为用户的炼丹保驾护航:

  • 提供预装cuda、pytorch的镜像,环境配置便捷
  • 提供jupyter、ssh等多种容器访问方式
  • 支持tensorboard端口转发
  • 提供实时展示设备状态的grafana仪表盘
  • 容器间能够共享常用数据集,如ImageNet, ucf101等

体验 MatrixDL

您可以在线体验 MatrixDL 的功能

借助cloudflare的内网穿透服务,可以在公网通过 https://matrixdl.fuusen.space/ 访问MatrixDL界面,但是在MatrixDL上创建的容器实例只能在中大校园网内访问。

开源

MatrixDL完全开源,所有开发仓库位于 SysuMatrixDL 组织下,若干仓库如下:

frontendbackend 均使用 github actions 自动化打包上传镜像到 ghcr.io/sysumatrixdl 下。它们的镜像发布为:

  • ghcr.io/sysumatrixdl/frontend

  • ghcr.io/sysumatrixdl/backend

开发和部署中还需要两个镜像为:

  • ghcr.io/sysumatrixdl/opengauss

  • ghcr.io/sysumatrixdl/grafana

架构

MatrixDL由单个控制结点(controller)和多个工作结点(worker)组成,架构图如下

structure

控制结点

用户的所有网页请求会发往控制结点,由caddy实现反向代理,分别发往前端和后端处理

在控制结点上,前端由react实现,后端由python的FastAPI库实现

在控制结点上运行有一个openGauss数据库,管理整个系统运行的必要数据

控制节点通过ssh安全连接到工作结点,执行容器、镜像的管理指令

工作结点

工作结点以docker容器的形式运行用户创建的实例,容器中运行jupyter, ssh等服务,并且提供tensorboard的端口转发,用户可以通过工作结点的ip和指定端口访问容器

为了便于用户了解工作结点的运行状态,每个工作结点上都运行有一个openGauss数据库。本工作结点的实时运行状态数据,包括CPU,内存,网络,IO,GPU等,会以固定的时间间隔存到数据库中。

借助grafana,可以为用户提供美观的前端仪表盘。每个工作结点上的grafana会连接到本结点的数据库,执行查询操作,并绘制图表展示实时运行数据。

开发者

如果您对本项目有任何疑问,或者有部署需求,欢迎联系开发者:2743880348@qq.com