Skip to content

[WIP] Add blog post: Benchmarking AI on a simulated KubeEdge cluster with Ianvs - #890

Open
PragnyaKhandelwal wants to merge 6 commits into
kubeedge:masterfrom
PragnyaKhandelwal:blog/ianvs-simulation-sandbox
Open

PragnyaKhandelwal wants to merge 6 commits into
kubeedge:masterfrom
PragnyaKhandelwal:blog/ianvs-simulation-sandbox

Conversation

@PragnyaKhandelwal

@PragnyaKhandelwal PragnyaKhandelwal commented Sep 30, 2026 •

Copy link
Copy Markdown
  • Please check if the PR fulfills these requirements
  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

Which issue(s) this PR fixes:

None. This is a new blog post for the CNCF LFX mentorship project on the KubeEdge-Ianvs Simulation Sandbox (proposal, tracked in kubeedge/ianvs#348).

  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Blog post.

  • What is the current behavior? (You can also link to an open issue here)

There is no post about benchmarking AI on a simulated edge-cloud cluster with KubeEdge-Ianvs.

  • What is the new behavior (if this is a feature change)?

Adds blog/ianvs-simulation-sandbox/index.mdx, a post on:

  • why a simulator matters, in time and money: a before/after table with measured numbers (a ready cluster with an edge node in 4 min 16 s, a model that does not fit a 1 GiB device caught in 13 s, about 1.7 GB of RAM at the peak, cleanup in 6 s, $0 of extra hardware);
  • who it is for: algorithm developers, researchers, contributors and maintainers, students and newcomers;
  • how the sandbox works: Ianvs builds a kind + KubeEdge + Sedna cluster on one Linux host and runs each test case as a Kubernetes Job on a simulated edge node, with the memory and CPU limits of a device;
  • the work behind it: the restored simulator, the Sedna all-in-one update (Kubernetes v1.30.0, KubeEdge v1.21.0, Sedna v0.7.0) and the Simulation Job Administrator;
  • the test environment, the measured runs, how to try it, and the current limits.

Pictures and the demo GIF are at the top and the tutorial is short with a link to the Ianvs guide, following the feedback on #752.

Also adds the author to blog/authors.yml and i18n/zh/docusaurus-plugin-content-blog/authors.yml.

  • Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No.

  • Other information:

The numbers in the post are measured on one laptop; the recorded runs are in kubeedge/ianvs#1012 and kubeedge/ianvs#1041. The hardware prices are linked in the post. The post says that the work is in review (kubeedge/ianvs#1012, kubeedge/ianvs#1041, kubeedge/sedna#513); I will update that paragraph when they merge.

@kubeedge-bot kubeedge-bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 30, 2026
@kubeedge-bot

Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign wbc6080 after the PR has been reviewed.
You can assign the PR to them by writing /assign @wbc6080 in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubeedge-bot

Copy link
Copy Markdown
Collaborator

Welcome @PragnyaKhandelwal! It looks like this is your first PR to kubeedge/website 🎉

@kubeedge-bot kubeedge-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Sep 30, 2026
@PragnyaKhandelwal

Copy link
Copy Markdown
Author

/hold

@kubeedge-bot kubeedge-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 30, 2026
PragnyaKhandelwal added a commit to PragnyaKhandelwal/ianvs that referenced this pull request Oct 3, 2026
Address review feedback on the Ianvs Simulation Sandbox proposal.

- §6.3: correct the config contract to the existing simulation: key
  (cloud_number, edge_number, ...); add system_metrics: "all" and the
  optional device_simulation block (max_memory_mb, max_cpu_cores,
  network_bandwidth_mbps, network_latency_ms) with network_profile.
- §6.4: system metrics defined at the paradigm level for all seven
  paradigm types, grouped by technical dependency; add GPU (utilization,
  memory, power, energy) and storage metrics (disk usage, I/O, model
  artifact size), federated data and exchange metrics, the relationship
  to the existing SystemMetricType metrics, and a compact metric
  glossary with worked examples.
- §6.11: paradigm-aware device_simulation defaults for all seven types.
- §2, §6.3, §7: pin the KubeEdge default to v1.14.0, the newest version
  verified end-to-end, and explain why newer versions fail with the
  Sedna all-in-one installer (the keadm v1.9.1 in its node image
  requests v1alpha2 device CRDs that are gone from release-1.16 on, and
  the image runs Kubernetes 1.21).
- §9.2: parallel-processing notes for federated class-incremental
  learning and multi-edge inference.
- §10: documentation plan for the simulation README, the KubeEdge blog
  post (kubeedge/website#890) and the Linux Foundation mentorship blog.

Design only; no paradigm internals change.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
PragnyaKhandelwal added a commit to PragnyaKhandelwal/ianvs that referenced this pull request Oct 3, 2026
Address review feedback on the Ianvs Simulation Sandbox proposal.

- §6.3: correct the config contract to the existing simulation: key
  (cloud_number, edge_number, ...); add system_metrics: "all" and the
  optional device_simulation block (max_memory_mb, max_cpu_cores,
  network_bandwidth_mbps, network_latency_ms) with network_profile.
- §6.4: system metrics defined at the paradigm level for all seven
  paradigm types, grouped by technical dependency; add GPU and storage
  metrics, federated data and exchange metrics, the relationship to the
  existing SystemMetricType metrics, and a compact metric glossary with
  worked examples.
- §6.11: paradigm-aware device_simulation defaults for all seven types.
- §2, §6.1, §6.6, §6.8, §7: align Stage 1 with the restoration in
  kubeedge#1012 (no auto-install, cgroup-aware checks, aliases for misspelled
  names, KubeEdge pinned to v1.14.0 with the reason newer versions fail
  with the Sedna all-in-one installer).
- §6.2, §6.8, §6.9, §6.10: test cases run as Kubernetes Jobs on
  simulated edge nodes (Sedna has no LearningJob CRD); fix the example
  paths and leaderboard columns in the user flow.
- §9.2: parallel-processing notes for federated class-incremental
  learning and multi-edge inference.
- §10: documentation plan for the simulation README, the KubeEdge blog
  post (kubeedge/website#890) and the Linux Foundation mentorship blog.

Design only; no paradigm internals change.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
PragnyaKhandelwal added a commit to PragnyaKhandelwal/ianvs that referenced this pull request Oct 8, 2026
Address review feedback on the Ianvs Simulation Sandbox proposal.

- §6.3: correct the config contract to the existing simulation: key
  (cloud_number, edge_number, ...); add system_metrics: "all" and the
  optional device_simulation block (max_memory_mb, max_cpu_cores,
  network_bandwidth_mbps, network_latency_ms) with network_profile.
- §6.4: system metrics defined at the paradigm level for all seven
  paradigm types, grouped by technical dependency; add GPU and storage
  metrics, federated data and exchange metrics, the relationship to the
  existing SystemMetricType metrics, and a compact metric glossary with
  worked examples.
- §6.11: paradigm-aware device_simulation defaults for all seven types.
- §2, §6.1, §6.6, §6.8, §7: align Stage 1 with the restoration in
  kubeedge#1012 (no auto-install, cgroup-aware checks, aliases for misspelled
  names, KubeEdge pinned to v1.14.0 with the reason newer versions fail
  with the Sedna all-in-one installer).
- §6.2, §6.8, §6.9, §6.10: test cases run as Kubernetes Jobs on
  simulated edge nodes (Sedna has no LearningJob CRD); fix the example
  paths and leaderboard columns in the user flow.
- §9.2: parallel-processing notes for federated class-incremental
  learning and multi-edge inference.
- §4, §6.1, §9.5: record scalability (simulating more nodes per host,
  or across hosts) as future work, deferred per mentor guidance.
- §10: documentation plan for the simulation README, the KubeEdge blog
  post (kubeedge/website#890) and the Linux Foundation mentorship blog.

Design only; no paradigm internals change.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
PragnyaKhandelwal added a commit to PragnyaKhandelwal/ianvs that referenced this pull request Oct 8, 2026
Address review feedback on the Ianvs Simulation Sandbox proposal.

- §6.3: correct the config contract to the existing simulation: key
  (cloud_number, edge_number, ...); add system_metrics: "all" and the
  optional device_simulation block (max_memory_mb, max_cpu_cores,
  network_bandwidth_mbps, network_latency_ms) with network_profile.
- §6.4: system metrics defined at the paradigm level for all seven
  paradigm types, grouped by technical dependency; add GPU and storage
  metrics, federated data and exchange metrics, the relationship to the
  existing SystemMetricType metrics, and a compact metric glossary with
  worked examples.
- §6.11: paradigm-aware device_simulation defaults for all seven types.
- §2, §6.1, §6.6, §6.8, §7: align Stage 1 with the restoration in
  kubeedge#1012 (no auto-install, cgroup-aware checks, aliases for misspelled
  names, KubeEdge pinned to v1.14.0 with the reason newer versions fail
  with the Sedna all-in-one installer).
- §6.2, §6.8, §6.9, §6.10: test cases run as Kubernetes Jobs on
  simulated edge nodes (Sedna has no LearningJob CRD); fix the example
  paths and leaderboard columns in the user flow.
- Figures 1 and 2: update the architecture and user-flow diagrams to
  match the text (simulation: block keys, Job deployment, all paradigm
  types).
- §9.2: parallel-processing notes for federated class-incremental
  learning and multi-edge inference.
- §4, §6.1, §9.5: record scalability (simulating more nodes per host,
  or across hosts) as future work, deferred per mentor guidance.
- §10: documentation plan for the simulation README, the KubeEdge blog
  post (kubeedge/website#890) and the Linux Foundation mentorship blog.

Design only; no paradigm internals change.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
PragnyaKhandelwal added a commit to PragnyaKhandelwal/ianvs that referenced this pull request Oct 8, 2026
Address review feedback on the Ianvs Simulation Sandbox proposal.

- §6.3: correct the config contract to the existing simulation: key
  (cloud_number, edge_number, ...); add system_metrics: "all" and the
  optional device_simulation block (max_memory_mb, max_cpu_cores,
  network_bandwidth_mbps, network_latency_ms) with network_profile.
- §6.4: system metrics defined at the paradigm level for all seven
  paradigm types, grouped by technical dependency; add GPU and storage
  metrics, federated data and exchange metrics, the relationship to the
  existing SystemMetricType metrics, and a compact metric glossary with
  worked examples.
- §6.11: paradigm-aware device_simulation defaults for all seven types.
- §2, §6.1, §6.6, §6.8, §7: align Stage 1 with the restoration in
  kubeedge#1012 (no auto-install, cgroup-aware checks, aliases for misspelled
  names, KubeEdge pinned to v1.14.0 with the reason newer versions fail
  with the Sedna all-in-one installer).
- §6.2, §6.8, §6.9, §6.10: test cases run as Kubernetes Jobs on
  simulated edge nodes (Sedna has no LearningJob CRD); fix the example
  paths and leaderboard columns in the user flow.
- Figures 1 and 2: update the architecture and user-flow diagrams to
  match the text (simulation: block keys, Job deployment, all paradigm
  types).
- §9.2: parallel-processing notes for federated class-incremental
  learning and multi-edge inference.
- §4, §6.1, §9.5: record scalability (simulating more nodes per host,
  or across hosts) as future work, deferred per mentor guidance.
- §10: documentation plan for the simulation README, the KubeEdge blog
  post (kubeedge/website#890) and the Linux Foundation mentorship blog.

Design only; no paradigm internals change.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
@PragnyaKhandelwal
PragnyaKhandelwal force-pushed the blog/ianvs-simulation-sandbox branch 2 times, most recently from 9a6a358 to 2f5a3a2 Compare October 22, 2026 07:11
Work-in-progress blog post on the KubeEdge-Ianvs simulator. This revision covers the restoration: building a kind + KubeEdge + Sedna cluster on one Linux host, running the PCB-AoI benchmark with it, and removing the cluster afterwards, with real results, screenshots and a demo GIF. Sections on Stage 2 and system metrics will be added as that work lands. Also adds the author to authors.yml (en and zh).

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
Replace the opening GIF with a before/after illustration of what the
simulator saves: separate machines and manual setup versus one laptop,
one command and automatic cleanup, with measured numbers.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
Add a without/with comparison (hardware, cost, setup, version
compatibility, time to a ready cluster, cleanup) using only measured or
verified numbers, a list of everyday problems the simulator solves for
algorithm developers, and a shorter history section.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
Open with a scenario readers recognise (a model that scores well on a
laptop but has never seen an edge-cloud cluster), and add a timeline
figure of the four steps with measured durations.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
@PragnyaKhandelwal
PragnyaKhandelwal force-pushed the blog/ianvs-simulation-sandbox branch from 2f5a3a2 to 10464e2 Compare November 7, 2026 17:10
…numbers

Rewrite the post around the simulation sandbox: what it saves in time
and money, who it is for, and how test cases run as Kubernetes Jobs on
a simulated KubeEdge edge node. Update the versions to Kubernetes
v1.30.0, KubeEdge v1.21.0 and Sedna v0.7.0, and replace the
screenshots, diagrams and demo GIF with ones from the current runs.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
…the run

Crop the terminal screenshots to the part each one shows, start the demo GIF at the benchmark run instead of the title screen, and give the numbers table a header row.

Signed-off-by: Pragnya Khandelwal <prag1704@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants