Lablup Backend.AI 元包
项目描述
Backend.AI
Backend.AI是一个基于容器的计算集群编排器,它支持多种编程语言和流行的计算/ML 框架,包括可插拔的异构加速器支持,如CUDA和ROCM。它可以根据需求或批量分配和隔离底层计算资源,用于多租户计算会话。所有功能都通过REST/GraphQL/WebSocket API公开。
服务器端组件
如果您想在您的机器上运行Backend.AI集群,您需要安装和配置以下服务器端组件。所有服务器端组件都采用LGPLv3许可,以促进开源社区中的非专有开放式创新。
如果您只是以原样运行服务器端组件(例如,作为守护进程运行或在不修改代码的情况下导入组件),则没有义务公开您的服务/系统代码。有关商业咨询和有关个人用例的更多许可详情/选项,请联系我们(contact-at-lablup-com)。
有关服务器安装和配置的详细信息,请访问我们的文档。
带API网关的管理器
它将前端服务的API请求路由到各个代理。它还监视和扩展由多个代理(几十到几百个)组成的集群。
- https://github.com/lablup/backend.ai-manager
- 包命名空间:
ai.backend.gateway
和ai.backend.manager
- 插件接口
backendai_scheduler_v10
backendai_hook_v10
backendai_webapp_v10
backendai_monitor_stats_v10
backendai_monitor_error_v10
- 包命名空间:
代理
它管理单个服务器实例,并在REPL守护进程(内核)运行的地方启动/销毁Docker容器。每个代理在新的EC2实例上通过心跳自我注册到实例注册表。
- https://github.com/lablup/backend.ai-agent
- 包命名空间:
ai.backend.agent
- 插件接口
backendai_accelerator_v12
backendai_monitor_stats_v10
backendai_monitor_error_v10
backendai_krunner_v10
- 包命名空间:
- https://github.com/lablup/backend.ai-accelerator-cuda(CUDA加速器插件)
- 包命名空间:
ai.backend.acceelrator.cuda
- 包命名空间:
- https://github.com/lablup/backend.ai-accelerator-cuda-mock(CUDA模拟插件)
- 包命名空间:
ai.backend.acceelrator.cuda
- 该插件在没有实际CUDA设备的情况下模拟CUDA设备的存在,以便开发人员可以在没有真实GPU的情况下进行CUDA集成。
- 包命名空间:
- https://github.com/lablup/backend.ai-accelerator-rocm(ROCM加速器插件)
- 包命名空间:
ai.backend.acceelrator.rocm
- 包命名空间:
服务器端通用插件(适用于管理器和代理)
- https://github.com/lablup/backend.ai-stats-monitor
- 基于Datadog API的统计收集器
- 包命名空间:
ai.backend.monitor.stats
- https://github.com/lablup/backend.ai-error-monitor
- 基于Sentry API的异常收集器
- 包命名空间:
ai.backend.monitor.error
内核
一套基于ZeroMQ的REPL守护进程,支持各种编程语言和配置。
- https://github.com/lablup/backend.ai-kernel-runner
- 包命名空间:
ai.backend.kernel
- 代理处理各种语言运行时的通用接口
- 包命名空间:
- https://github.com/lablup/backend.ai-kernels
- 构建Docker镜像(Dockerfile)的特定于运行时的食谱
牢房
使用基于ptrace的系统调用过滤实现的Go编程的可编程沙箱。
钩子
一组用于资源控制和基于Web的交互式stdin(与代理配对)的libc覆盖。
通用
一套在Backend.AI项目中广泛共享的实用模块。
- 包命名空间:
ai.backend.common
- https://github.com/lablup/backend.ai-common
客户端组件
客户端SDK库
我们提供流行的编程语言的客户端SDK。这些SDK以MIT许可证免费提供,以便轻松与商业和非商业软件产品和服务的集成。
- Python(提供命令行界面)
pip install backend.ai-client
- https://github.com/lablup/backend.ai-client-py
- Java
- 目前仅通过GitHub发行版提供
- https://github.com/lablup/backend.ai-client-java
- JavaScript
npm install backend.ai-client
- https://github.com/lablup/backend.ai-client-js
- PHP(准备中)
composer require lablup/backend.ai-client
- https://github.com/lablup/backend.ai-client-php
媒体
处理多媒体输出(例如,SVG图表、动画矢量图形)的前端支持库。
- Python包(
lablup
)安装在内核容器内。 - 为了解释和显示Python包生成的媒体,您需要在前端加载JavaScript部分。
- https://github.com/lablup/backend.ai-media
与计算会话交互
Backend.AI 提供了将 WebSocket 隧道连接到各个计算会话(容器)的功能,使用户能够通过浏览器和客户端 CLI 以安全的方式直接访问容器中的应用程序。
- Jupyter 内核:数据科学家的首选工具
- 大多数容器会话都内置了 Jupyter 和 JupyterLab 支持。
- 基于网页的终端
- 所有容器会话都内置了 ttyd 支持。
- SSH
- 所有容器会话都内置了 SSH/SFTP/SCP 支持,并自动生成每个用户的 SSH 密钥对。PyCharm 和其他 IDE 可以使用 SSH 远程解释器按需会话。
- VSCode(即将推出)
- 大多数容器会话都内置了基于网页的 VSCode 支持。
与 IDE 和编辑器的集成
- Visual Studio Code 扩展
- 在 VSCode 扩展中搜索“Live Code Runner”。
- https://github.com/lablup/vscode-live-code-runner
- Atom 编辑器插件
- 在 Atom 插件中搜索“Live Code Runner”。
- https://github.com/lablup/atom-live-code-runner
存储管理
Backend.AI 在现有的基于网络的存储(例如,NFS/SMB)之上提供了一个抽象层,称为 vfolders(虚拟文件夹)。每个 vfolder 都像是一个云存储,可以被挂载到任何计算会话中,并允许用户和用户组之间以不同的权限共享。
许可
请参阅 LICENSE 文件。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。