Skip to content

A shell script that creates the same simulation scenario in CloudSim and CloudSim Plus to enable comparing results and performance

License

Notifications You must be signed in to change notification settings

cloudsimplus/cloud-simulation-comparison

Repository files navigation

Performance Comparison of CloudSim and CloudSim Plus Frameworks

It uses CloudSim Plus Automation to run the same simulation scenarios (defined into a YAML file) and compare performance results of both frameworks.

Currently it contains just a script file which downloads the jar packages from the projects mentioned above and allows executing the YAML files in CloudSim and CloudSim Plus.

1. Usage

Just execute this script into a terminal as below to see the available options:

./run.sh -h

Running the script with no arguments will start building the simulation scenarios using default options.

2. Some Java Profiler Tools which can be used

Here, it’s shown a list of some tools and commands you can use to assess the performance of the experiments while they are executing. Using these tools you can check CPU utilization, memory consumption and even the functions in your simulations that are using the CPU the most (check VisualVM section below).

2.1. Command line tools included with the OS or JDK

2.1.1. Java Virtual Machine Statistics Monitoring Tool (jstat)

jstat collects several metrics for a running application. Requires the PID of the app (vmid) which can be got using jps command.

The following example gets GC memory stats (in KB) for app with PID 4214, every 1000ms, collection data 10 times:

jstat -gccapacity 4214 1000 10

To get the PID dynamically using jsp and grep, considering the name of the running java application:

jstat -gccapacity `jps | grep CloudSimAutomation-0.4.0-with-dependencies.jar | cut -d " " -f 1` 1000 10

The jstat homepage show the documentation for parameters and presented results.

2.1.2. Memory Map (jmap)

jmap collects specific information about memory usage in a more understandable way than jstat.

The example below shows the total memory usage for objects in the heap (in bytes)

jmap -histo `jps | grep CloudSimAutomation-0.4.0-with-dependencies.jar | cut -d " " -f 1` | (head -n2 && tail -n1)

The example below shows heap information for a running java app.

jmap -heap `jps | grep CloudSimAutomation-0.4.0-with-dependencies.jar | cut -d " " -f 1`

2.2. Linux/macOS command line tools

ps -p `jps | grep CloudSimAutomation-0.4.0-with-dependencies.jar | cut -d " " -f 1` -o %cpu,%mem,cmd

2.3. External command line tools

2.3.1. Java monitoring for the command-line

jtop is a top-like command, but is out-of-date. It shows CPU usage and heap memory usage in MB (HPCUR and HPMAX), but presented CPU values don’t match with more accurate tools such as macOS Monitor, top, and ps.

2.3.2. ptop

2.4. Graphic Tools

  • VisualVM

  • jconsole: included in the JDK (opened from the terminal)

About

A shell script that creates the same simulation scenario in CloudSim and CloudSim Plus to enable comparing results and performance

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages