GINI on a Cloud - Simon Foucher

GINI on a Cloud - Simon Foucher

GINI on a Cloud Cloud computing for internet emulator Team Members Professor Muthucumaru Maheswaran Simon David GINI on a Cloud March 2010 El Achkar Foucher Mia Hochar Marc Atie

David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 2 Objectives A. Evolution of GINI Professor Muthucumaru B. Dispatcher Maheswaran Simon DavidAlterations C. GINI Foucher El Design Dilemma Achkar

D. Database Mia Marc Recomendations Hochar Atie E. Scheduler F. Conclusion GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 3 Evolution of GINI 1. What is GINI?

2. GINIs Features 3. Improvements Overview GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 4 GINI Defined What is GINI? Toolkit for creating virtual micro Internets Create midsize networks Process creates virtual instances of network elements Purpose: Teaching and learning tool Suitable to many levels of knowledge Future applications GINI on a Cloud March 2010

David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 5 GINI Snapshot GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 6 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 March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 7 Improvements Overview GINI on a Cloud March 2010 Client Worker Front End Back End

David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 8 Improvements Overview GINI on a Cloud March 2010 Client Worker Front End Back End David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

9 Improvements Overview Client Server Front End Dispatch er Worker s Back End Database Back End Back End Schedule

r GINI on a Cloud March 2010 Back End David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 10 Drawbacks Complicated Installation process GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 11 Drawbacks

OS Compatibility issues GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 12 GINIs Components GINI Components: Basics Improvements gBuilder GiniLinux Dispatcher gLoader

uSwitch Database gRouter WGINI Scheduler GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 13 Dispatcher 1. 2. 3.

4. Overview Dispatcher Request Connection Creation Dispatcher Logging GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 14 Overview Request/Reply Front End I need a worker Workers

DNS Dispatche r Lowest CPU Usage Database GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 15 Dispatcher Request Request/Reply Dispatche Return worker r

extractWorkerFrom DB() DNS DNS IP uptime Lab2-17 134.204.2.56 0.112 Lab2-29 134.204.2.37 0.523 Lab2-20

134.204.2.112 0.938 GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 16 Connection Creation Connection Established Front

End Back End GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 17 Dispatcher Logging Recording Connection Dispatche r Database GINI on a Cloud March 2010 1.Send:

Client IP Worker DNS 2.Connection Recorded: time stamp David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 18 GINI Alterations 1. Design Paradigm 2. Connection to Server 3. Design Dilemma GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

19 Design Paradigm Transparent to user Component add-on rather than alteration GINI remains independent Only altered the Configuration file GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 20 Design Paradigm Use of flexible communication library: twisted GINI already in Python Flexible Available source code

Stable High-level functions GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 21 Current Access to Remote Server GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 22 Connection to Server

GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 23 Connection to server Front End Back End GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 24 Addition to GINI

GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 25 Addition to GINI GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 26 Gateway to the cloud GINI on a Cloud November 09

27 Sequence of Events 1. Send dummy variable NoWorker Front End Dispatche r Database GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 28 Sequence of Events 1. Send dummy variable

2. Dispatcher searches for a worker Front End Dispatche r Best Worker? Database GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 29 Sequence of Events 1. Send dummy variable 2. Dispatcher searches for a worker 3. Returns worker or dummy variable

Front End Workers DNS name Dispatche r Database GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 30 Result: Unaltered GINI GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar,

Marc Atie 31 Connection to server Connection remains unaltered User needs no knowledge of Back End location Front End Back End GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 32

Purpose of Dummy Variable Need to establish TCP communication Recycled as an error flag Could be used to convey info in future upgrade GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 33 Flexibility Non-fixed data types being passed Currently a string: IP, DNS or anything else GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar,

Marc Atie 34 Drawback Temporary TCP connection: Port expiration at timeout Most Clients dont have DNS GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 35 Design Dilemma Maintain permanent client-dispatcher connection Resources consuming

Might not bring any tangible benefits Requires alterations to gServer and core Config Requires 3 communication events (instead of 1) Drop the connection after delivering the goods Lightweight component David El Achkar, Simon Foucher, Mia Hochar, GINI on a Cloud March 2010 Marc Atie 36

Database 1. 2. 3. 4. Contents Dispatcher Database Relationship Design choices Recommendations GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 37 Database Storage: workers Table DB keeps history of 10 last CPU usages for every

worker ign s e al D i t i In Database Workers W1 Usage 34% W2 49%

70 W3 57% 2 GINI on a Cloud March 2010 History 12 15 80 45

33 10 28 88 78 65 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 38

Database Storage: workers Table Uptime is the average load on the system processorn l Imp atio t n eme GINI on a Cloud March 2010 Database workerID 1 dnsName lab2-42

uptime 0.23 2 lab2-39 0.18 3 lab2-37 0.56 David El Achkar, Simon Foucher, Mia Hochar,

Marc Atie 39 Database Storage: clients Table DB keeps track of all the connections and their start time ign s e al D i t i In Database Client Connected to

Time Stamp 134.204.2.56 134.204.2.56 1:03 168.141.2.9 134.204.2.21 1:21 191.24.2.56 134.204.2.37 1:56

GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 40 Database Storage: clients Table Time stamp is calculated in minutes starting midnight l Imp n atio t n

eme Database clientID workerName IP address timeStamp 1 Lab2-37 134.204.2.56 789 2 Lab3-39 134.204.2.21

300 3 Lab2-42 134.204.2.37 1056 GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar,

Marc Atie 41 Database - Dispatcher 1 Dispatch er getFreeWorker () Database Lab2-39 3 2 workerI D 1

dnsNam e lab2-42 2 lab2-39 0.18 3 lab2-37 0.56 GINI on a Cloud March 2010 uptime Sort workers table by uptime

0.23 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 42 Database - Dispatcher 4 Connection between client and lab2-39 Dispatch er Database 5 GINI on a Cloud March 2010

clientI D 1 workerNam e lab2-37 IP address 134.204.2.56 timeStam p 789 2 lab2-39 134.204.2.21

300 3 lab2-42 134.204.2.37 1056 4 lab2-39 123.45.6.78 840 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 43

Client Log Call to the function displayClientsLog() GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 44 Design Choices Database implemented in SQL Used MySQLdb: wrapper around MySQL Compatible with Python API Database stored on the SOCS MySQL server Free, available and provided by McGill Database Name: 2010GINIdb Machine Name: mysql.cs.mcgill.ca Database can be reset at anytime GINI on a Cloud March 2010

David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 45 Managing Client Connections Killing a connection Polling (time out): Dispatcher periodically polls client No response: dispatcher terminates connection Manual Client shuts down connection Sends message to dispatcher Too complex to implement: Needs modification to the core GINI code GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

46 Managing Client Connections Database functions provided: getTimedOutClients() updateClientTime() removeClientByID() removeClientByIP() GINI on a Cloud November 09 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 47 Scheduler 1. 2. 3. 4.

5. Purpose Design Choices Methodology Sample Output Recommendations GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 48 Purpose Manage workers and their connections Examine CPU usage Ensure all workers are accessible GINI on a Cloud March 2010

David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 49 Design choices Paramiko Module for Python Implements secure SSH protocol Uptime Load average for past 1, 5, and 15 minutes No need to store each workers history GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 50

Methodology Retrieve workers list from database Get CPU usage of workers SSH connection to each worker Get uptime information Update database entry Sleep for one minute, then start again GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 51 Database Update 1 Schedule r Database 2

3 lab2-42, lab239, 4 lab2-42 New uptime 0.26 lab2-39 New uptime 0.12 GINI on a Cloud March 2010 Request Workers List workerI D 1 dnsNam uptime

e lab2-42 0.26 2 lab2-39 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 0.12 52 Sample Output GINI on a Cloud March 2010

David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 53 Dynamic Update Worker Worker Worker GINI on a Cloud March 2010 $ gAd dWo > rker < $ gRemoveWorker< >

Schedule r David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 54 Dynamic Update Two Bash scripts on server: addWorker.sh removeWorker.sh Boot configuration and shut down sequence need to be updated. $ /removeworker.sh $ /addworker.sh GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc

Atie 55 Workers Computers in the Krieble lab All machines could be shut down simultaneously No available workers Worker could be disconnected Workers Log could be used to find new worker Initiate new connection automatically GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 56 Configuration Change passwords:

SSH access to SOCS server Database access to SOCS MySql server GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 57 Conclusion 1. Summary 2. Advantages GINI on a Cloud March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 58

Summary Initiating a connection 1. Client contacts dispatcher 2. Dispatcher queries database for worker, updates database accordingly Dispatcher sends IP address of worker to the client Client connects to worker through SSH tunnel 3. 4. GINI on a Cloud March 2010 Client Dispatcher

Worker Database David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 59 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 March 2010

David El Achkar, Simon Foucher, Mia Hochar, Marc Atie 60 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 March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

61 Thank you! Questions? GINI on a Cloud March 2010 62

Recently Viewed Presentations

  • Effect of PMNL

    Effect of PMNL

    Zsolt Pécsvárady [email protected] Pécs Probability of DVT based on medical history and physical exmination Clinical condition Score • active cancer 1 • plegia, plaster in the near past 1 • immobility or maior operation in the near past 1 •...
  • Getting Ready to Teach Pearson&#x27;S New Gcse (9-1) English ...

    Getting Ready to Teach Pearson'S New Gcse (9-1) English ...

    make connections with other texts, narratives, media, genres - intertextuality. envisage and predict, through exploratory talk, by writing next chapters, extra scenes, fan-fiction, translating into performance or media text.
  • Thinking Critically with Psychological Science

    Thinking Critically with Psychological Science

    Candy example: Students may assume that most people will get one piece, but if the method is truly random, starting fresh after each piece (with names that go back into the hat after being selected), the most common number might...
  • Applications II - Hope College

    Applications II - Hope College

    Applications II: Bond Orders, Isodesmic Reactions, IRC Scans Lecture CompChem 6 Chemistry 347 Hope College Bond Orders No unique definition of assigning electrons to bonds Density matrix analysis: Mulliken density analysis allows crude calculation of bond orders Atoms In Molecules...
  • Yen蔵が読む! 為替相場の行方~最新の動向

    Yen蔵が読む! 為替相場の行方~最新の動向

    yen蔵が読む! 為替相場の行方~最新の動向. 株式会社ADVANCE. 田代 岳. 2015年3月16日
  • Metropolitan Manila: a City Perspective

    Metropolitan Manila: a City Perspective

    the mmda, in compliance with eo 67 (2012) and ao 14 (2013) established the southwest integrated provincial transport terminal located in a 1.4 hectare land currently being leased from the uniwide coastal mall in paranaque city.
  • The Layers of the Earth The Layers of

    The Layers of the Earth The Layers of

    Title: PowerPoint Presentation Author: Eric Knapp Last modified by: Andrew Brabham Young Created Date: 2/17/2005 1:03:27 AM Document presentation format
  • Coming Soon! [www.mallorywesleyan.org]

    Coming Soon! [www.mallorywesleyan.org]

    We invite you to join us during Sunday Worship Service @ 10 am, and throughout the week as we study the Word, pray, and seek God's will in our lives.