执行流程

下图展示了 Pilot 系统中量子计算任务的端到端工作流。

../_images/calculate_process-3.png

任务提交: 用户可以通过以下方式提交量子计算任务:

  • QPandaLite:构建在 Pilot Web 管理界面之上的 Python SDK(通过 Nginx 服务);

  • PilotOSMachine:提供 Python 和 C++ 版本;

  • Origin Cloud Platform(本源云平台):供外部访问的公共 HTTP API。

所有任务均由 QCloudServer 层接收并进行持久化管理。

任务预处理与路由: 对于专用任务(如量子态层析 (QST)、期望估计、EM 计算),QCloudServer 会将其转发给专用的计算服务进行预处理,然后再通过系统 API 调用 Pilot 内核。

Pilot中的任务编排: - OSServerManager 模块作为中央协调器,管理内部模块并维护任务队列。 - 每个任务的状态通过共享的状态映射表进行跟踪。随着任务在各模块间的流转,其状态更新会在 OSServerManager 中汇总。 - 任务完成(成功、失败或取消)后,所有状态数据将传输至 QCloudServer 进行持久化存储,并从 OSServerManager 中移除——确保 OSServerManager 仅保留活动任务的状态。 - OSServerManager 还提供资源预估功能,预测所需的量子比特数、线路深度和运行时间,以支持调度决策。

调度: 经过预估的任务进入调度队列。调度器根据以下因素分配资源: - 任务资源/运行时间需求, - 当前后端的可用性。

支持的策略包括:

  • 先来先服务 (FCFS),

  • 最高响应比优先 (HRRN),

可通过 Pilot 的配置文件进行配置。

编译与执行: 调度后的任务通过优化通道被编译为特定后端的指令。 后端服务随后: - 将任务分发至目标量子硬件(支持多种架构), - 获取结果和后端状态, - 应用结果修正算法以减轻硬件噪声并提高准确性。

这种精简的架构确保了跨多样化量子计算工作负载的稳定性、可扩展性和高效的资源利用。