Skip to content

Cloud-Computing-and-Services/CloudSim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UNIWA

UNIVERSITY OF WEST ATTICA
SCHOOL OF ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATICS

University of West Attica · Department of Computer Engineering and Informatics


Cloud Computing and Services

Use Cases at CloudSim

Vasileios Evangelos Athanasiou
Student ID: 19390005

GitHub · LinkedIn


Supervision

Supervisor: Vasileios Mamalis, Professor

UNIWA Profile

Co-supervisor: Dimitrios Kallergis, Applications Lecturer

UNIWA Profile · LinkedIn


Athens, June 2024



README

Use Cases at CloudSim

This project explores the simulation of cloud computing environments using the CloudSim framework. It focuses on both theoretical and practical analysis of datacenter configurations, Virtual Machine (VM) allocation policies, and Cloudlet scheduling mechanisms.

https://github.com/Cloudslab/cloudsim


Table of Contents

Section Folder / File Description
1 assign/ Assignment material for the CloudSim course
1.1 assign/ASSIGNMENT #1.pdf Assignment description in English
1.2 assign/ΕΡΓΑΣΙΑ #1.pdf Assignment description in Greek
2 cloudsim-cloudsim-4.0/ Main CloudSim 4.0 library source and build files
2.1 cloudsim-cloudsim-4.0/src/main/resources/ Build and project resources (pom.xml, build.xml, readme.txt, etc.)
2.2 cloudsim-cloudsim-4.0/src/main/java/org/cloudbus/cloudsim/ Core CloudSim classes, including:
2.2.1 container/ Container-based simulation: policies, provisioners, VM selection, scheduling
2.2.2 core/ Core simulation classes: CloudSim engine, SimEntity, SimEvent, predicates
2.2.3 distributions/ Statistical distributions for simulation (Uniform, Exponential, etc.)
2.2.4 lists/ Utility lists for Cloudlets, Hosts, VMs, PEs
2.2.5 network/datacenter/ Network-aware datacenter simulation classes
2.2.6 power/ Power-aware datacenter simulation classes and VM allocation policies
2.2.7 provisioners/ RAM, BW, PE provisioners for VMs and Containers
2.2.8 util/ Utility classes for workload, math, and execution measurement
2.2.9 vmSelectionPolicies/ Power VM selection policies
2.3 cloudsim-cloudsim-4.0/src/test/java/org/cloudbus/cloudsim/ Unit tests for all major modules (lists, power, provisioners, schedulers)
2.4 cloudsim-cloudsim-4.0/target/ Compiled classes and Maven metadata
3 cloudsim-examples/ Example simulations using CloudSim 4.0
3.1 cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/container/ Container simulation examples
3.2 cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/network/datacenter/ Network simulation examples
3.3 cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/power/ Power-aware simulation examples (PlanetLab and Random traces)
3.4 cloudsim-examples/src/main/resources/ Example datasets for simulations (.dat, .swf.gz)
4 docs/ Documentation and use-case PDFs
4.1 docs/Use-Cases-at-CloudSim.pdf English version
4.2 docs/Σενάρια-Χρήσης-στο-CloudSim.pdf Greek version
5 README.md Project documentation
6 INSTALL.md Usage instructions

1. Theoretical Analysis

The project analyzes a specific simulation case (CloudSimExample6) in order to understand how cloud resources are provisioned and managed. The main areas of investigation include:

1.1 Infrastructure Setup

  • Detailed breakdown of the simulated Datacenters:
    • Datacenter_0
    • Datacenter_1
  • Analysis of their underlying Hosts and resource composition.

1.2 Hardware Specifications

  • Hosts

    • RAM: 2048 MB
    • Storage: 1 TB
    • Bandwidth: 10,000 MB/s
  • Processing Units (PEs)

    • Host 0: 4 PEs
    • Host 1: 2 PEs
    • Each PE operates at 1,000 MIPS

1.3 Virtual Machine (VM) Configuration

  • Total requested VMs: 20
  • VM requirements:
    • RAM: 512 MB
    • Processing Elements: 1 PE
    • Performance: 1,000 MIPS

1.4 Allocation Policies

  • Examination of VmAllocationPolicySimple
  • Uses a Worst-Fit policy, selecting the host with the fewest Processing Elements currently in use.

2. Practical Implementation & Exercises

The project includes a set of experimental scenarios designed to test the flexibility and limitations of the CloudSim simulator:

2.1 Policy Comparisons

  • Execution of simulations using different scheduling strategies:
    • Space-Sharing
    • Time-Sharing
  • Applied at both levels:
    • Cloudlets-to-VMs
    • VMs-to-Hosts

2.2 Resource Optimization

  • Modification of:
    • Host attributes
    • Number of Processing Elements
    • Number of Hosts
  • Goal: Ensure that all 20 VMs can be executed without resource over-subscription.

2.3 Code Intervention

  • Identification of specific sections in the CloudSim source code where:
    • Custom VM allocation policies
    • Custom Cloudlet scheduling algorithms
      can be implemented.

3. Summary of Resources (CloudSimExample6)

Resource Quantity Key Attributes
Datacenters 2 Architecture: x86, OS: Linux, VMM: Xen
Hosts 2 per Datacenter 2048 MB RAM, 1000 MIPS per PE
Virtual Machines 20 512 MB RAM, 1000 MIPS, 1 PE
Cloudlets Multiple Assigned to VMs using specific scheduling algorithms

About

Cloud Computing course project exploring cloud infrastructure simulation with CloudSim, focusing on datacenter modeling, VM allocation policies, and Cloudlet scheduling strategies (Cloud Computing and Services, UNIWA).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages