Documente Academic
Documente Profesional
Documente Cultură
1 Introduction
2 iCanCloud Architecture
1 Introduction
What is it?
iCanCloud goals
iCanCloud main parts
2 iCanCloud Architecture
Main Scheme
Infraestructure
User Model
Cloud Manager
What is it?
What is it?
Programmed in C++
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
iCanCloud goals
How iCanCloud is
It is ..
1 Introduction
What is it?
iCanCloud goals
iCanCloud main parts
2 iCanCloud Architecture
Main Scheme
Infraestructure
User Model
Cloud Manager
Main Scheme
Infraestructure
iCanCloud Infraestructure
iCanCloud Architecture
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
User Model
Cloud Manager
iCanCloud Manager
iCanCloud Architecture
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
Cloud Manager
iCanCloud Manager
Example
Outline
1 Introduction
What is it?
iCanCloud goals
iCanCloud main parts
2 iCanCloud Architecture
Main Scheme
Infraestructure
User Model
Cloud Manager
The GUI
I GUI to define simulation parameters
I MPI, Map-Reduce provided models
Developing modules
I Open Source to program or modify modules
I Hight detailed models for filesystems, diskdrives, volume
anagers, block cache ..
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
The GUI
The GUI
Main Screen
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
The GUI
The GUI
Configuring an application
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
The GUI
The GUI
Configuring users
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
The GUI
The GUI
Configuring a VM set
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
The GUI
The GUI
Configuring a Cloud
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
The GUI
The GUI
Running Simulations
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
Scheduling studies
Scheduling studies
iCanCloud API
Hypervisor
1 class Hypervisor:public iCanCloud_Base{
2 protected: Hypervisor Structures
3 list <cMessage*> requestsCPU;
4 list <cMessage*> requestsMemory; Divided into 4 Managers
5 list <cMessage*> requestsNet;
6 list <cMessage*> requestsBlockServer; Auto-managed
7 ...
8
9 private:
10 int searchUnassignedCPU (vmID);
11 int searchFreeBSGate (vmID);
12 int searchFreeBSGate (vmID); Private methods
13 int searchNetworkInterface (vmID);
14 void processCPURequestMessage (cMessage*); Hypervisor management
15 void processBSRequestMessage (cMessage*);
16 void processMemoryRequestMessage (cMessage*); Process structures
17 void processNetRequestMessage (cMessage*);
18 void processCPUResponseMessage (cMessage*);
19 void processBSResponseMessage (cMessage*);
20 void processMemoryResponseMessage (cMessage*);
21 void processNetResponseMessage (cMessage*);
22 ...
23 public:
24 void scheduleCPU (jobID, vmID); Scheduling methods to access HW
25 void scheduleMemory (jobID, vmID);
26 void scheduleBS (jobID, vmID); Hypervisor Scheduler
27 void scheduleNet (jobID, vmID);
28 };
Select Job from a VM
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
Developing models
Developing models
Developing models
Developing models
Developing models
Defining an application
Defining an application
Example
./omnetpp-4.X/iCanCloud/src/Applications/Apps
1 package iCanCloud.Applications.Apps.BasicApplication;
2 import iCanCloud.Applications.Apps.IApp;
3
4 simple BasicApplication like IApp;
5
6 parameters:
7 string application_netType // Network type (INET or BASIC)
8 double startDelay // Starting delay time
9 int inputSize // Input size of data
10 int outputSize // Output size of data
11 int MIs // Number of MIs to execute
12 int iterations // Number of iterations;
13 @display(”i=msg/job") ;
14
15 gates:
16 input fromOS //Input gate from OS (Operating System)
17 output toOS //Output gate to OS (Operating System)
18 };
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
iCanCloud provides:
I Hight detailed models for filesystems, disk drives, volume
managers, block cache ..
I MPI, Map-Reduce provided models
I GUI to ease the launch of simulations
I APIs to program schedulers (Hypervisor and Cloud
Manager)
Main strengths:
I Open Source to program or modify modules
I Flexible
I Scalable
I Customizable level detail
Introduction iCanCloud Architecture Different ways to use iCanCloud Conclusions
Provided VMs
Instances of Amazon EC2