man4ish/omnibioai-hpc-policy-engin
GitHub: man4ish/omnibioai-hpc-policy-engin
OmniBioAI HPC策略引擎是一个计算治理服务,用于在分布式生物信息学和AI工作负载中执行资源配额、访问控制和零信任策略。
Stars: 0 | Forks: 0
# OmniBioAI HPC 策略引擎
`omnibioai-hpc-policy-engine` 是一个面向生产的计算治理与配额执行服务,专为 OmniBioAI 生态系统设计。
它提供:
* HPC 感知型授权
* GPU/CPU 配额执行
* 集群分区访问控制
* 计算治理
* 工作负载策略评估
* 零信任执行决策
* 调度器感知型工作负载验证
该服务设计用于跨以下环境运行的分布式生物信息学、AI 和 HPC 工作流程:
* 本地基础设施
* Slurm 集群
* DGX 系统
* Kubernetes
* 云批处理系统
# 架构角色
该服务**不是**一个身份验证系统。
身份验证与身份管理属于:
* `omnibioai-auth`
* `omnibioai-iam-client`
授权逻辑属于:
* `omnibioai-policy-engine`
本服务具体处理:
# 核心职责
HPC 策略引擎评估工作负载是否可以在治理约束内安全执行。
示例:
* GPU 访问限制
* CPU 小时配额执行
* DGX 分区授权
* 项目计算预算
* 并发作业限制
* 集群路由策略
* 昂贵工作负载预防
# 决策流程示例
```
User Request
↓
API Gateway
↓
IAM Authentication
↓
Policy Engine (RBAC/ABAC)
↓
HPC Policy Engine
↓
TES / Scheduler
```
# 功能特性
## 计算治理
* CPU 配额验证
* GPU 配额验证
* 内存治理
* 并发作业控制
## HPC 感知型策略
* DGX 分区限制
* Slurm 分区治理
* GPU 角色执行
* 集群特定访问策略
## 分布式架构
* 基于 FastAPI 的异步 API
* Redis 兼容架构
* 可扩展的无状态设计
* 调度器抽象层
## 零信任执行
每个工作负载请求均被独立评估。
服务之间不存在隐式信任。
# 仓库结构
```
omnibioai-hpc-policy-engine/
│
├── app/
│ ├── api/
│ │ ├── routes_policy.py
│ │ ├── routes_quota.py
│ │ └── deps.py
│ │
│ ├── core/
│ │ ├── config.py
│ │ ├── gpu.py
│ │ ├── policies.py
│ │ ├── quota.py
│ │ └── scheduler.py
│ │
│ ├── db/
│ │ ├── models.py
│ │ └── session.py
│ │
│ ├── models/
│ │ ├── decision.py
│ │ ├── job.py
│ │ └── quota.py
│ │
│ ├── services/
│ │ ├── quota_service.py
│ │ ├── scheduler_service.py
│ │ └── usage_service.py
│ │
│ └── main.py
│
├── tests/
├── requirements.txt
└── README.md
```
# API 端点
## 健康检查
### GET 请求 `/`
返回服务状态。
响应示例:
```
{
"service": "omnibioai-hpc-policy-engine",
"status": "running"
}
```
# 配额 API
## POST `/quota/check`
评估工作负载是否超出计算配额。
### 请求
```
{
"user_id": "u123",
"cpu_hours": 12,
"gpu_hours": 2,
"gpus": 1
}
```
### 响应
```
{
"allow": true,
"reason": "quota ok",
"remaining_cpu_hours": 108,
"remaining_gpu_hours": 22
}
```
# 作业评估 API
## POST `/jobs/evaluate`
评估 HPC 特定的执行策略。
### 请求
```
{
"user_id": "u123",
"partition": "dgx-a100",
"gpus": 1,
"memory_gb": 128
}
```
### 响应
```
{
"allow": true,
"reason": "job approved",
"partition": "dgx-a100"
}
```
# 策略示例
## GPU 访问控制
```
if request.gpus > 0:
if "gpu_user" not in roles:
deny("GPU access denied")
```
## DGX 分区执行
```
if request.partition == "dgx-a100":
if "dgx_access" not in roles:
deny("DGX partition denied")
```
## CPU 配额执行
```
if request.cpu_hours > remaining_cpu:
deny("CPU quota exceeded")
```
# 调度器集成
调度器层通过以下方式抽象:
```
app/core/scheduler.py
```
这为将来的集成提供了可能,例如:
* Slurm
* Kubernetes
* AWS Batch
* Azure Batch
* PBS/Torque
* 自定义 HPC 调度器
# 数据库
当前实现使用 SQLAlchemy。
支持的数据库:
* MySQL
* MariaDB
* PostgreSQL
# 环境变量
| 变量 | 描述 | 默认值 |
| --------------------- | ---------------- | ---------------------- |
| `MYSQL_HOST` | 数据库主机 | `mysql` |
| `MYSQL_PORT` | 数据库端口 | `3306` |
| `MYSQL_DB` | 数据库名称 | `omnibioai_hpc` |
| `MYSQL_USER` | 数据库用户 | `root` |
| `MYSQL_PASSWORD` | 数据库密码 | `root` |
| `REDIS_URL` | Redis URL | `redis://redis:6379` |
| `DEFAULT_CPU_HOURS` | 默认 CPU 配额 | `120` |
| `DEFAULT_GPU_HOURS` | 默认 GPU 配额 | `24` |
| `MAX_CONCURRENT_JOBS` | 并发作业限制 | `5` |
# 安装说明
## 克隆仓库
```
git clone git@github.com:man4ish/omnibioai-hpc-policy-engine.git
cd omnibioai-hpc-policy-engine
```
## 安装依赖
```
pip install -r requirements.txt
```
# 本地运行
```
uvicorn app.main:app --reload
```
默认 URL:
```
http://localhost:8000
```
# Docker 示例
```
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
```
# 未来路线图
## 计划功能
* Redis 决策缓存
* Redis Pub/Sub 失效
* 调度器遥测集成
* Prometheus 指标
* 成本感知路由
* 项目预算
* 团队配额
* 分布式配额聚合
* 公平份额调度
* GPU 内存治理
* HPC 使用分析
# 生态系统集成
设计用于与以下组件集成:
* `omnibioai-auth`
* `omnibioai-policy-engine`
* `omnibioai-api-gateway`
* `omnibioai-security-audit`
* `omnibioai-tes`
* `omnibioai-workbench`
# 安全模型
该服务遵循零信任架构:
* 每个请求均被独立评估
* 无隐式调度器信任
* 执行前强制策略执行
* 分布式计算治理
* 集中式执行审计
# 许可证
Apache License 2.0
# OmniBioAI 生态系统
OmniBioAI 是一个模块化、AI 原生的生物信息学平台,专为以下领域设计:
* 基因组学
* 转录组学
* 代谢组学
* 多组学
* AI 辅助生物医学分析
* 可扩展的 HPC 工作流
* 分布式科学计算
本服务提供生态系统中的计算治理层。
标签:AV绕过, CPU配额, DGX系统, FastAPI, GPU配额, Redis, Slurm, Streamlit, Yelp, 云批处理, 人工智能, 作业控制, 分布式计算, 子域名突变, 安全策略, 工作负载管理, 异常处理, 提示注入, 提示词设计, 搜索引擎查询, 测试用例, 生物信息学, 用户模式Hook绕过, 策略引擎, 网络安全挑战, 计算治理, 计算资源治理, 访问控制, 请求拦截, 调度策略, 资源配额, 逆向工具, 配额执行, 集群管理, 零信任安全, 高性能计算