Skip to content

Use CloudSimPlus 9 Processor API in ProcessorBenchmark and add its results (cloudsimplus#595) - #13

Merged
manoelcampos merged 1 commit into
masterfrom
processor-benchmark-new-api
Oct 25, 2026
Merged

manoelcampos merged 1 commit into
masterfrom
processor-benchmark-new-api

Conversation

@manoelcampos

@manoelcampos manoelcampos commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Moves ProcessorBenchmark (added with the API before cloudsimplus/cloudsimplus#595 in #12) to the current single Processor API, and adds the results before and after #595 to the README.

Changes

Results

Heap retained by each machine (bytes)

Cores Host before Host after Reduction VM before VM after Reduction
1 940.6 812.6 14% 883.3 795.3 10%
8 1,807.1 808.1 55% 891.9 795.5 11%
32 4,804.7 821.4 83% 883.6 795.6 10%
128 16,722.2 811.2 95% 883.1 804.5 9%

Before #595, a Host grew about 123 bytes per core. Now its size doesn't depend on the number of cores. VMs were already using a single Processor before #595, so their size didn't depend on the number of cores either.

Whole simulation

Scenario: 1,000 Hosts with 32 cores, 4,000 VMs with 8 cores and 8,000 Cloudlets with 4 cores.

Measure Before After Reduction
Heap retained before running 9.6 MB 5.5 MB 43%
Heap retained after running 12.2 MB 8.6 MB 30%
Simulation time 1.691 s 0.776 s 54%

At scale

Using the per-object savings above, a simulation with 1M Cloudlets, 100K VMs and 10K Hosts uses this much less heap (Cloudlets keep 216 B each, so they don't change the result):

Host cores Saved per Host Saved by 10K Hosts Saved by 100K VMs (88 B each) Total saved
1 128 B 1.3 MB 8.8 MB 10.1 MB
8 999 B 10.0 MB 8.8 MB 18.8 MB
32 3,983 B 39.8 MB 8.8 MB 48.6 MB
128 15,911 B 159.1 MB 8.8 MB 167.9 MB

The bigger the Hosts (in number of cores), the bigger the saving, since each core was an object before #595.

Note about master

master now has #11 (the move to the new API) restored on top of #12. Until this PR is merged, the master build fails: the benchmark from #12 still uses the old API, while CI still builds CloudSim Plus from before #595.

🤖 Generated with Claude Code

- ProcessorBenchmark creates Hosts and VMs with a CoreCapacity.
- MemoryFootprintBenchmark uses HeapMeter, so it no longer needs
  -XX:+UseSerialGC.
- CI builds with the published CloudSim Plus snapshot again, instead of
  CloudSim Plus before cloudsimplus#595.
- The README shows the results before and after cloudsimplus#595.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@manoelcampos manoelcampos self-assigned this Oct 25, 2026
@manoelcampos manoelcampos changed the title Use the single Processor API in ProcessorBenchmark and add its results (cloudsimplus#595) Use CloudSimPlus 9 Processor API in ProcessorBenchmark and add its results (cloudsimplus#595) Oct 25, 2026
@manoelcampos
manoelcampos merged commit 29306dd into master Oct 25, 2026
1 check passed
@manoelcampos
manoelcampos deleted the processor-benchmark-new-api branch October 25, 2026 01:27
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.

1 participant