Skip to content

Observe aggregate memory in local work probes - #8249

Merged
huangruiteng merged 2 commits into
codex/edgebench-r36-aggressive-20261107from
codex/benchmark-coupled-memory-probe-20261107
Nov 7, 2026
Merged

huangruiteng merged 2 commits into
codex/edgebench-r36-aggressive-20261107from
codex/benchmark-coupled-memory-probe-20261107

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Outcome

The existing local research probe can estimate aggregate memory for a complete representative workload. The optional --memory-limit-bytes supplies a comparison reference and binds the sequential Linux process-group PSS estimate to the candidate, input revision and execution. This is a specialized observation in the existing Python provider. Independent overlap evidence can guide the next comparison through existing Yardstick and Explore.

A stable process group can move memory between PID reads. The sidecar therefore supplies an estimate without a limit verdict or selected action. Its digest enters the primary observation only after a successful write and close. The command's result remains available when the optional file cannot be retained.

Verification

  • Five focused Linux cases passed. The real probe ran the same complete synthetic two-shard workload with three candidates and equal outputs. A separate synchronization barrier confirmed overlapping retained payload in the materialized parallel candidate. A deterministic actor used that fact to author a Yardstick decision, and the next ordinary SQLite work executed and recorded the streamed contender.
  • The exact alternating-allocation reproduction returned a 78.5 MB sequential estimate while each independently read stable phase was 49.2 MB. The estimate was preserved without a limit verdict or method selection.
  • A real Linux file-size limit cut the optional sidecar at 64 bytes. The original exit 7, primary observation, and JSON stdout remained intact. The primary observation omitted a reference to the partial file.
  • Disabled-mode success, failure and timeout match the base apart from elapsed time. Mac focused validation passed three cases and skipped the two Linux-only cases. Candidate change and unavailable samples remain covered.

Linux sampling is bounded to the command's process group and sample windows. PSS differs from container accounting. Live model adoption and benchmark outcomes require separate qualification. The research integration branch is the base.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent gpt-6.1-sol OpenAI runtime_reported max

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

[P2] 顺序采样把不同时存在的内存报告为已观察超限

Linux 实际命令有两个常驻 worker,A 释放独占的 28 MiB 匿名映射后,B 才分配自己的 28 MiB。复现夹具只在读完 A 的真实 smaps_rollup 后触发正常交接,两次读取均由内核提供。独立读取两个稳定阶段的进程组合计分别为 48,131,072 B 和 48,269,312 B。三个 PID 保持一致,探针累加了交接前 A 和交接后 B 的内存,得到 77,535,232 B,在 64 MiB 参考下输出 observed_limit_exceeded: true 和 method:lower-footprint-challenge。普通 Yardstick 写回可以保留这条建议,误导后续工作去替换一条可运行路线。建议将多 PID 顺序读的结果明确标成非原子估计。单凭该估计高于参考值时,提示先验证工作集的实际重叠,或者要求同口径直接证据再产生低足迹挑战建议。回归应保留真正重叠的正例,并加入同 PID 交替持有、合成值跨线的 Linux 负例。采样与建议

[P2] 可选 sidecar 刷盘失败会覆盖原命令退出码

在 Linux 用真实 RLIMIT_FSIZE 将单文件上限设为 687 B。原命令执行完成并退出 7。启用探针时,正常 sidecar 需要 769 B,主回执 606 B。sidecar 缓冲刷新报 EFBIG 并被捕获,主回执随后成功写入退出码 7,但外层缓冲关闭再次抛 EFBIG,CLI 最终退出 1,机器可读 stdout 消失。同约束下关闭该选项的基线返回退出码 7 和有效 JSON。把附属文件的开启、写入、刷新及关闭纳入完整可选故障边界,持久化成功后再附证据引用,保留主退出状态。回归应使用实际文件限制,断言原 stdout、退出码和主回执可读,失败 sidecar 不获得引用。附属路径无法创建也应区分可选诊断不可用和必须拒绝的证据路径冲突。文件生命周期和 CLI 返回 刷盘与退出

动机 / Motivation

运行本地完整工作集的 Agent 需要判断候选在并行 worker 与结果保留重叠时是否值得继续。旧探针只记录耗时与退出,逐一运行分片可能漏掉真实重叠,导致下一次工作沿着容量不足的路线扩大规模。新入口可以给同一候选、输入和执行保留对参考内存的观测,支持下一次验证有意义的低占用路线。适用范围是自选的本地诊断,原生资源资格、评分与任务授权由现有系统负责。稳定重叠的正例成立,交替分配和可选 I/O 失败仍会造成上述误判与错误退出。

改动思路 / Approach

现有 local_probe 已拥有命令执行、候选文件哈希与主退出观测。由同一 Python provider 从 Linux 内核读进程占用、把证据交给既有 Explore/Yardstick,比再建一个执行入口或通用控制面资源状态更贴近使用者。PSS 对共享页按比例分摊。这里的参考上限由调用者显式传入,本地采样与原生容器计费有不同口径。采样摘要随主观测提供可追踪引用,Yardstick 继续通过普通工作附件写回作者采用的动作。方向、停止和预算继续由各自的 owner 决定。

保留现有 Python 探针拥有进程观测的边界,并把采样证据的语义与可选文件错误收紧在这里。当前 PR 可完整交付的范围是本地参考测量、主退出状态和现有 Yardstick 的可选读回。对一个代表性完整工作集,做两次独立分片运行可以提供成本更低的参考,但会漏掉 worker 同时持有数据的场景。现有 native 资源读数也无法替代同一候选和本地执行的观测。

具体改动 / Changes

依据基线 582a57467c32d5f9264894f3af27f5faa7db74b4 的 benchmark/runtime/EXECUTION_OBSERVATIONS.md。Selecting local observations 已验证,省略 producer 时规划提示逐字节相同,直接探针省略新参数时三类退出与主回执保持一致。Measurement and attribution 尚未满足,候选改变会拒绝归因,但可选写入错误仍能覆盖探针调用者看见的命令状态,组合采样还需明确证明边界。Validation and comparison boundary 已验证为工程范围,真实命令和 SQLite 后续工作由确定性执行器驱动,模型采用和原生效果需要后继运行。基线执行观测约定

关键代码讲解

  • execution_observation_guidance 只由已选择 local_probe 的规划和 worker 附加提示读取,新增在内存会影响取舍时采集完整工作集的说明。所测已启用规划首读增加 271 UTF-8 B,缺省提示逐字节相同。指引
  • _group_pss_sample 通过进程组、session 和 starttime 过滤后读各 PID 的实际 PSS。前后成员相等只保护成员身份,没有保护占用时序。 _memory_observation 将目前的汇总峰值转为三态比较并在超线时生成已有 next_action 形状。新证据属于本地诊断投影,当前值需要保留非原子采样边界。采样与投影
  • run_probe 在原命令旁运行有界采样线程,停止所拥有的进程组,重新校验候选文件并保留结果。主观测、候选清单和附属文件各有独立职责。当前附属文件关闭发生在可选异常保护之外。文档同步解释可用平台和限制,三个主要候选的工程测试检查结果一致和后续真实执行。执行和收尾 测试入口

对主干的风险 / Risks

独立在 Linux 精确 head 重跑四个定向用例,均 PASS。完整工作集三个候选得到相同计算结果,实际 PSS 约为 33.9、61.9、21.8 MiB,SQLite 中的后续普通 Turn 实际执行流式方案并写回对应候选哈希。这个正例使用持续重叠,无法覆盖首个反例的交替持有。另用同一真实 CLI 做 base/head 缺省对照,成功、原命令失败和 host timeout 分别返回 0、7、124,除运行耗时外主观测一致,均没有内存 sidecar。两个独立负例均 FAIL,触发与候选内容无关的真实进程采样和文件系统行为。依赖齐备后,精确 head 的 quick premerge 五项直接检查和三项选定检查均 PASS,保留人工评审门。首轮环境缺少 npm 开发依赖。未查 GitHub CI。局部工程验证覆盖进程组与 SQLite,模型自主采用、原生 cgroup 资格和生产求解增益未验证。

语义与 CI 对齐

本 PR 复用现有执行观测和 Yardstick 动作形状,新增值留在本地 provider 的诊断 sidecar。原约定要求可选诊断无法取得时,可靠执行状态仍可交付。真实 EFBIG 反例使该契约的 CLI 结果丢失。定向回归应在本地 native 验证矩阵同时检查真实重叠、交替独占和 sidecar 写入受限,原命令失败和超时保持由实际执行结果决定。

我的整体评价 / Verdict

同一探针持有本地诊断与引用的设计合理,拆出新控制面 owner 会增加维护及采用成本。长程工作目前可能把合成的内存高位当作换机制依据。调用者体验也有实质回退,附属写入错误导致一次真实执行返回错误状态,调用者可能重复付出执行成本。未改用户页面,审阅范围是探针 CLI、规划和普通工作读回。修复这两条后重跑实际进程采样、主回执退出对照和 Linux→SQLite 正例。可选信号有实用价值,当前 head 的两项回归需要修复后再复核。

English verdict: REQUEST_CHANGES at c103345. Real Linux tests reproduce a non-atomic PSS false positive and a diagnostic write error that changes the CLI exit. Focused positive and default-off controls pass.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent gpt-6.1-sol OpenAI runtime_reported max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

当前 head 无阻塞发现。前一 head 的两项 P2 在本次独立 Linux 复跑中均已解决。真实同时占用、模型采用和原生运行收益仍各有自己的验证口径。

动机 / Motivation

运行本地完整工作集的 Agent 需要判断候选在并行 worker 与结果保留重叠时是否值得继续。旧探针只记录耗时与退出,逐一运行分片可能漏掉真实重叠,导致下一次工作沿着容量不足的路线扩大规模。现有探针提供绑定本次候选和输入的内存估计,执行者可核对真实重叠,再选择下一次完整工作集比较。适用范围是自选的本地诊断,原生资源资格、评分与任务授权由现有系统负责。仍需在匹配的真实求解轨迹中验证模型是否采用及结果收益。

改动思路 / Approach

由已有 Python provider 管理本地进程、读取系统采样并绑定原候选来源。PSS 将共享页按比例分摊,本 PR 的 Linux 读数按 PID 顺序采集。输入的参考上限与计算出的诊断估计分开保留,由工作执行者独立核对实际重叠后再通过现有 Explore/Yardstick 写入所选动作。已有原生命令退出、超时和 Goal 决策仍各有一个 owner。只做原来的单进程耗时测量会漏掉并行保留,另建资源策略层会扩大权限和维护成本。

保留现有 Python 探针读取操作系统的职责,由既有 Yardstick 接收执行者有证据的下一决定。当前交付是本地估计、可靠的命令返回和普通工作采用入口,真实模型与原生效果由后继匹配试验验证。

具体改动 / Changes

依据基线 582a57467c32d5f9264894f3af27f5faa7db74b4 的 benchmark/runtime/EXECUTION_OBSERVATIONS.md。Selecting local observations 已实现,缺省规划提示和直接探针主行为一致。Measurement and attribution 已实现,候选变化拒绝归因,可选文件错误保留真实退出,仅在成功写入并关闭后附摘要。Validation and comparison boundary 已实现,真实 Linux 命令与 SQLite 后续工作由确定性执行者驱动,工程结果限定为路径验证。基线执行观测约定

关键代码讲解

  • execution_observation_guidance 仅在既有 local_probe 选择下追加。当内存估计足以影响取舍时,提示独立查真实工作集重叠,然后在同工作负载和验收要求下比较路线。省略 producer 时既有规划和 heartbeat 附录保持一致。指引
  • _group_pss_sample 校验同 session、进程组和 starttime,逐 PID 读取实际 PSS 并复核成员。_memory_observation 将数值标记为顺序采样估计,缺测保持未知,且没有超限布尔值或机器选路。English 与中文说明均标出组外进程、采样间峰值和容器计费差异。采样和投影
  • run_probe 在同一受管命令旁启动采样,仍验证候选文件和写出主观测。独占、无缓冲的可选写入包住开启、短写、刷盘和关闭,故障不给该文件引用。已占用的证据路径在执行前拒绝,执行中出现的路径冲突只令可选诊断不可用。保留与隔离

对主干的风险 / Risks

独立复跑正负例均 PASS。两个常驻 worker 严格交接 28 MiB 映射,两个独立稳态约为 48.10 MB 和 48.09 MB,顺序读产生 77.45 MB 估计,跨过 64 MiB 参考值仍无超限判定和选路。真实 64 B 文件上限使可选 sidecar 短写,原命令和探针都返回 7,主文件与 stdout JSON 一致,且没有资源引用。运行期间出现附属路径冲突的负例也保留原结果。预先存在的悬空符号链接在进程启动前被拒绝,旧路径得到保留。

同一 Linux 缺省 CLI 的成功、失败和超时在 base/head 分别返回 0、7、124,除实际耗时外主观测一致。省略 producer 时真实规划渲染逐字节一致,heartbeat 的共享附录仍为空。精确 head 的五项 Linux 定向测试全过。完整工作集正例以独立同步屏障确认真实分片重叠,确定性执行者基于该证据采用流式方案,实际写回候选哈希。没有模型调用和 GitHub CI 读取。组内时间差、外部组和短峰仍限制估计,且附属文件可能部分存在,可靠消费从原观测中有引用的完整文件开始。

我的整体评价 / Verdict

前一版把估计用作已观察超限、让可选故障影响退出,两点均已收回,并各有实际反例。长程工作现在可据真实重叠改路线,同时维持已有选择和工作权限。调用者能读到原退出状态及可选观测是否成功留存。未改用户页面,审阅范围是探针 CLI、规划和普通工作读回。该工具是可回退的本地诊断增量,仍需在匹配的真实求解轨迹中验证模型是否采用及结果收益。原生资源资格应由原评分环境独立提供。

English verdict: APPROVE at 3216cfe. Independent Linux timing and file-limit replays resolve both prior P2 findings. The actual probe and SQLite followthrough pass with a deterministic actor, and default-off behavior matches the base.

@huangruiteng
huangruiteng merged commit 5754db1 into codex/edgebench-r36-aggressive-20261107 Nov 7, 2026
19 of 33 checks passed
@huangruiteng
huangruiteng deleted the codex/benchmark-coupled-memory-probe-20261107 branch November 7, 2026 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants