← 返回项目索引

云计算 / Python 可移植性实验 / 已验证

Azure Compute Portability V1

在 Azure Linux VM 上验证确定性 Python workload 的可移植执行,并在固定配置下比较 1 worker 与 2 workers。

AzureLinux VMPythonNumPymultiprocessingBenchmarkReproducibility

项目重点固定 workload 下 2 workers 的 mean throughput 比 1 worker 低 6.265131%,结果仅适用于本次实验配置。

项目背景

Azure Compute Portability V1 是一个范围固定的云计算与 Python 可移植性实验。项目在 Azure Linux VM 上验证确定性 Python workload 的可移植执行,并在相同 workload、输入、Python 环境和 VM 下比较 1 worker 与 2 workers;正式比较中只改变 worker count。

本项目使用 synthetic ECG-like workload 作为工程计算输入。它是确定性合成工程数据,没有真实患者数据,不用于临床诊断,也不代表医疗器械性能。

问题与目标

目标是把一次可复核的 Azure Linux VM 计算实验整理成公开、脱敏且边界清楚的项目条目:固定输入与环境,分别测量单进程和多进程配置的 elapsed 与 throughput,并保留确定性验证和公开材料入口。

实验不试图回答 Azure VM 的普遍性能问题,也不把一次 workload 的结果包装成云厂商、VM SKU 或 Python multiprocessing 的通用结论。

范围与边界

  • workload 固定为 32 signals,每个 signal 持续 10.0 s,sample rate 为 250 Hz。
  • 每次 invocation 处理 80,000 samples,seed 为 202607。
  • Python 为 3.12.3,NumPy 为 2.5.2;比较配置为 1 worker 和 2 workers。
  • 结果只适用于本次 workload、输入、Python 环境和 VM,不代表其他 Azure VM SKU 或 Azure VM 的普遍性能。
  • 结果不代表 Python multiprocessing 的普遍性能,不用于云厂商性能排名,不构成成本/性能结论,也不代表网络、磁盘或数据库 benchmark。
  • synthetic ECG-like workload 仅为确定性合成工程数据;没有真实患者数据,不用于临床诊断,不代表医疗器械性能。

我的工作

本人贡献

本人负责:

  • 项目目标和范围定义;
  • Azure 学生订阅费用与权限边界;
  • workload 与实验条件确认;
  • benchmark 方案确认;
  • 正式执行监督;
  • PASS / FAIL 判断;
  • evidence 归档;
  • 公开副本脱敏与边界审核;
  • 结果解释与作品集整理。

AI/Codex 辅助

AI/Codex 辅助脚本组织、执行流程、数据整理、验证、图表、文档和工程检查。本人负责实验范围、真实执行监督、结果审核和公开表达边界;本条目不把本人描述为独立完成全部代码。

技术方案

输入和环境保持固定,只把 worker count 作为比较变量。单进程模式使用 1 worker,多进程模式使用 2 workers;两种模式都经过同一套 workload、计时、throughput 计算和 deterministic verification 流程。

架构或流程

固定 workload → warm-up → 1-worker measured runs → 2-worker measured runs → elapsed / throughput → deterministic verification → aggregate statistics → public package。

正式执行共完成 12 / 12 formal invocations,其中 10 / 10 measured PASS,deterministic verification = PASS。公开包只保留可公开的汇总结果、方法说明和对比图。

结果与证据

Mode Workers Mean elapsed Mean throughput Relative speedup
single-process 1 0.1372885618 s 233.1026732 signals/s 1.000000×
multi-process 2 0.1464722926 s 218.4984844 signals/s 0.937300559×

相对于 1 worker,2-worker mean elapsed delta = +6.689363%,2-worker mean throughput delta = -6.265131%。本次较小、固定的 workload 下,multiprocessing 的进程创建、调度、IPC/序列化等固定开销可能足以抵消并行收益,因此本次测量中 2 workers 略慢于 1 worker。

这些结果仅说明本次配置下的测量现象,不表示“多进程无效”,也不表示 Azure 多进程性能差。

局限

本实验的 workload、输入规模、seed、Python/NumPy 版本、worker 数量和 VM 环境均已固定,样本范围较小,不能外推到其他 workload、Azure VM SKU、区域、资源配置或运行时版本。结果也不包含网络、磁盘、数据库、成本模型或长期稳定性评价,不用于云厂商性能排名或医疗器械性能判断。

当前状态与限制

当前状态为“已验证”。本页复用已经完成的正式 benchmark 事实,不重新执行 workload 或 benchmark;页面接入本身也不重新访问 Azure、不创建资源、不部署、不进行 SSH 操作。后续如需研究其他 workload、SKU 或资源配置,应建立新的实验范围并重新留痕,不能直接继承本次结论。

相关材料

公开材料位于同一目录,提供结果摘要、方法说明、对比图和可下载的公开副本:

公开材料不包含内部运行日志或私人证据目录;本页面不建立额外 manifest,也不复制图片到其他目录。

隐私与数据说明

公开页面只描述通用的 Azure、Python、workload、实验配置和汇总结果,不公开 Subscription ID、Tenant ID、资源 ID、IP 地址、邮箱、密钥、令牌、SAS Token、Access Key 或任何私人路径。页面内容没有真实患者数据,synthetic ECG-like workload 仅用于确定性工程验证;本项目不用于临床诊断,不代表医疗器械性能。本项目仅供教学、实验和辅助分析,不可替代医生诊断。