GINI on a Cloud computing for internet emulator

  • Slides: 39
Download presentation
GINI on a Cloud computing for internet emulator

GINI on a Cloud computing for internet emulator

Team Members Professor Muthucumaru Maheswaran GINI on a Cloud © November 09 David El

Team Members Professor Muthucumaru Maheswaran GINI on a Cloud © November 09 David El Achkar Simon Foucher Mia Hochar Marc Atie David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 2

Objectives A. Current State of GINI Professor Muthucumaru Maheswaran B. Proposed Improvements Simon 1.

Objectives A. Current State of GINI Professor Muthucumaru Maheswaran B. Proposed Improvements Simon 1. David Overview El Achkar Foucher 2. Dispatcher 3. Resource Manager C. Mia Conclusion Hochar Marc Atie Summary and Advantages 2. Recommendations 1. GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 3

Current State of GINI 1. What is GINI? 2. GINI’s purpose, features, & components

Current State of GINI 1. What is GINI? 2. GINI’s purpose, features, & components 3. Drawbacks GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 4

Current State of GINI �What is GINI? �Toolkit for creating virtual micro Internets �Create

Current State of GINI �What is GINI? �Toolkit for creating virtual micro Internets �Create midsize networks �Process creates virtual instances of network elements GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 5

GINI Snapshot GINI on a Cloud © November 09 David El Achkar, Simon Foucher,

GINI Snapshot GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 6

Current State of GINI �GINI’s purpose: �Teaching and learning tool �Suitable to many levels

Current State of GINI �GINI’s purpose: �Teaching and learning tool �Suitable to many levels of knowledge �Future applications GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 7

Current State of GINI �GINI Features: �Simple to use GUI �Fully open-source system �Standard

Current State of GINI �GINI Features: �Simple to use GUI �Fully open-source system �Standard compliant router �Ability to implement additional protocols or new network elements GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 8

Current State of GINI �GINI Components: GINI on a Cloud © November 09 g.

Current State of GINI �GINI Components: GINI on a Cloud © November 09 g. Builder Gini. Linux g. Loader u. Switch g. Router WGINI David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 9

Drawbacks �Complicated Installation process GINI on a Cloud © November 09 David El Achkar,

Drawbacks �Complicated Installation process GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 10

Drawbacks �OS Compatibility issues �Network protocol compatibility issues GINI on a Cloud © November

Drawbacks �OS Compatibility issues �Network protocol compatibility issues GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 11

Proposed Improvements – Dispatcher 1. 2. 3. 4. 5. Overview Dispatcher Flow 1 –

Proposed Improvements – Dispatcher 1. 2. 3. 4. 5. Overview Dispatcher Flow 1 – Request/Reply Dispatcher Flow 2 i – Connection Established Dispatcher Flow 2 ii – Connection Recorded Why Twisted? GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 12

Improvements Overview Client Front End GINI on a Cloud © November 09 Worker Back

Improvements Overview Client Front End GINI on a Cloud © November 09 Worker Back End David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 13

Improvements Overview Client Front End GINI on a Cloud © November 09 Worker Back

Improvements Overview Client Front End GINI on a Cloud © November 09 Worker Back End David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 14

Improvements Overview Client Front End Server Workers Dispatcher Back End Database Back End Scheduler

Improvements Overview Client Front End Server Workers Dispatcher Back End Database Back End Scheduler GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie Back End 15

Dispatcher Flow 1 �Request/Reply I need a worker Front End Dispatcher Worker’s IP Lowest

Dispatcher Flow 1 �Request/Reply I need a worker Front End Dispatcher Worker’s IP Lowest CPU Usage Database GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 16

Dispatcher Flow 1 �Request/Reply Dispatcher Query min() Return IP or host name DNS IP

Dispatcher Flow 1 �Request/Reply Dispatcher Query min() Return IP or host name DNS IP W_CPU% Lab 2_17@cs. mcgill. ca 134. 204. 2. 56 5 Lab 2_18@cs. mcgill. ca 134. 204. 2. 21 8 Lab 2_29@cs. mcgill. ca 134. 204. 2. 37 12 Lab 2_20@cs. mcgill. ca 134. 204. 2. 112 18 … … … GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 17

Dispatcher Flow 2 i �Connection Established Front End SS H Tu nn el Back

Dispatcher Flow 2 i �Connection Established Front End SS H Tu nn el Back End GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 18

Dispatcher Flow 2 i �Connection Recorded Dispatcher Database GINI on a Cloud © November

Dispatcher Flow 2 i �Connection Recorded Dispatcher Database GINI on a Cloud © November 09 1. Create host IP entry 2. Time Stamp David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 19

Dispatcher Flow 2 ii �Connection Recorded Dispatcher GINI on a Cloud © November 09

Dispatcher Flow 2 ii �Connection Recorded Dispatcher GINI on a Cloud © November 09 Client Connected to Time Stamp 14. 89. 2. 44 134. 204. 2. 56 1: 03 168. 141. 71. 9 134. 204. 2. 21 1: 21 191. 24. 2. 56 134. 204. 2. 37 1: 56 134. 13. 22. 121 134. 204. 2. 112 12: 12 … … … David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 20

Dispatcher �Network Programming models �Handle connections in a separate OS process �Handle connections in

Dispatcher �Network Programming models �Handle connections in a separate OS process �Handle connections in a separate thread �Use non-blocking system calls to handle all connections in one thread. GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 21

Dispatcher- Why Twisted? �GINI already in Python �Available Win/Linux �Networking libraries �Flexibility �Available source

Dispatcher- Why Twisted? �GINI already in Python �Available Win/Linux �Networking libraries �Flexibility �Available source code �Stability �High-level language GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 22

Scheduler 1. 2. 3. 4. Purpose Database Time Out User Interface GINI on a

Scheduler 1. 2. 3. 4. Purpose Database Time Out User Interface GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 23

Purpose �Manage workers and their connections �Examine CPU usage GINI on a Cloud ©

Purpose �Manage workers and their connections �Examine CPU usage GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 24

Database Storage �What will store all the information ? �Database Links scheduler and dispatcher

Database Storage �What will store all the information ? �Database Links scheduler and dispatcher Database Scheduler GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 25

Database Storage �DB keeps history of 10 last CPU usages for every worker Database

Database Storage �DB keeps history of 10 last CPU usages for every worker Database GINI on a Cloud © November 09 Workers Usage History W 1 34% 12 15 80 45 … W 2 49% 70 33 10 28 … W 3 57% 2 88 78 65 … … David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 26

Database Storage �How does the scheduler determine the usage? �Pipe $PS data �Extract CPU

Database Storage �How does the scheduler determine the usage? �Pipe $PS data �Extract CPU usage Scheduler Worker 1 CPU Usage 26% Worker 2 Worker 3 GINI on a Cloud © November 09 … David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 27

Database Update 1. Query database for worker entry 2. Extract previous ten CPU usages

Database Update 1. Query database for worker entry 2. Extract previous ten CPU usages 3. Compute new weighted average 4. Store new weighted average GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 28

Database Update 1 Request Worker 1 Entry Scheduler Database 2 3 4 Worker 1

Database Update 1 Request Worker 1 Entry Scheduler Database 2 3 4 Worker 1 New Usage 26% GINI on a Cloud © November 09 12, 15, 80, 45, … Workers New Usage History W 1 26% … W 2 49% … … David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 29

Time Out �Timer value must be inserted by user � When time limit expires:

Time Out �Timer value must be inserted by user � When time limit expires: user gets a popup message Scheduler Are you still there? IP GINI on a Cloud © November 09 Host 122. 131. 4. 10 Database Host Time 15. 141. 123. 4 43: 27 122. 131. 4. 10 60: 01 192. 168. 2. 125 07: 13 … … David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 30

User Interface �Scheduler process runs in background �Update $PATH file on server �Add few

User Interface �Scheduler process runs in background �Update $PATH file on server �Add few commands to communicate with scheduler • • • $ gtimeout <time. In. Minutes> $ gkill <ip. Address> $ gaddworker <ip. Address> <name> $ gremoveworker <ip. Address> <name> $ show. Workers $ show. Active. Sessions GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 31

Dynamic Update �Update worker boot/shutdown sequence Worker $ g. A dd. W o rker

Dynamic Update �Update worker boot/shutdown sequence Worker $ g. A dd. W o rker <> $ g. Remove. Worker<> Scheduler Worker GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 32

Conclusion 1. Summary 2. Advantages 3. Recommendations GINI on a Cloud © November 09

Conclusion 1. Summary 2. Advantages 3. Recommendations GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 33

Summary �Initiating a connection 1. 2. 3. 4. Client contacts dispatcher Dispatcher queries database

Summary �Initiating a connection 1. 2. 3. 4. Client contacts dispatcher Dispatcher queries database for worker, updates database accordingly Dispatcher sends IP address of worker to the client Client connects to worker through SSH tunnel GINI on a Cloud © November 09 Client Dispatcher Worker Database David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 34

Summary �Killing a connection � Manual � Client shuts down connection � Sends message

Summary �Killing a connection � Manual � Client shuts down connection � Sends message to dispatcher � Polling (time out): � Scheduler periodically polls client � No response: scheduler terminates connection GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 35

Advantages �No need to install back end � Easier installation (less packages) � Saves

Advantages �No need to install back end � Easier installation (less packages) � Saves user trouble of software maintenance / update �Cross-platform compatibility � Back end can only run on Linux � Front end supported by Linux and Windows GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 36

Advantages �Mobility � Back end runs on remote server � Users can run GINI

Advantages �Mobility � Back end runs on remote server � Users can run GINI from wherever they are �Resource usage � Managed, automated distribution of computing resources among users � Easy to monitor and to add more workers GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 37

Recommendations �Support for additional platforms: �Many different OS on market �Support more platforms for

Recommendations �Support for additional platforms: �Many different OS on market �Support more platforms for expansion �Move to a public cloud: �Make software more accessible �Provide better educational platform for students GINI on a Cloud © November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 38

Thank you! Questions? GINI on a Cloud © November 09 39

Thank you! Questions? GINI on a Cloud © November 09 39