Repository navigation
Use CloudSimPlus 9 Processor API in ProcessorBenchmark and add its results (cloudsimplus#595) - #13
Merged
Merged
Conversation
- 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves
ProcessorBenchmark(added with the API before cloudsimplus/cloudsimplus#595 in #12) to the current singleProcessorAPI, and adds the results before and after #595 to the README.Changes
ProcessorScenario.newHost()/newVm()create Hosts and VMs with aCoreCapacity. They're the only methods that create machines, so the benchmark logic didn't change.MemoryFootprintBenchmarkusesHeapMeter(from Add ProcessorBenchmark to measure simulation time and memory footprint for cloudsimplus#595 (before) #12), which reads the live heap from a class histogram. So it no longer needs-XX:+UseSerialGC.9.0.0-SNAPSHOTagain. This removes the step from Add ProcessorBenchmark to measure simulation time and memory footprint for cloudsimplus#595 (before) #12 that built CloudSim Plus from before #595.Results
9bb9de25c, running the benchmark from Add ProcessorBenchmark to measure simulation time and memory footprint for cloudsimplus#595 (before) #12.-Xmx4g. Each value is the median of 5 rounds. The simulation time is measured after 2 warmup runs.Heap retained by each machine (bytes)
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
Processorbefore #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.
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):
The bigger the Hosts (in number of cores), the bigger the saving, since each core was an object before #595.
Note about
mastermasternow has #11 (the move to the new API) restored on top of #12. Until this PR is merged, themasterbuild fails: the benchmark from #12 still uses the old API, while CI still builds CloudSim Plus from before #595.🤖 Generated with Claude Code