云计算 / Python 可移植性实验 / 已验证
Azure Compute Portability V1
在 Azure Linux VM 上验证确定性 Python workload 的可移植执行,并在固定配置下比较 1 worker 与 2 workers。
项目重点固定 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 仅用于确定性工程验证;本项目不用于临床诊断,不代表医疗器械性能。本项目仅供教学、实验和辅助分析,不可替代医生诊断。