Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cloud computing for internet emulator. Professor Muthucumaru Maheswaran Team Members Mia Hochar Simon Foucher David El Achkar David El Achkar Marc Atie.

Similar presentations


Presentation on theme: "Cloud computing for internet emulator. Professor Muthucumaru Maheswaran Team Members Mia Hochar Simon Foucher David El Achkar David El Achkar Marc Atie."— Presentation transcript:

1 Cloud computing for internet emulator

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

3 Professor Muthucumaru Maheswaran Mia Hochar Simon Foucher David El Achkar David El Achkar Marc Atie Marc Atie D. Database Recomendations C. GINI Alterations Design Dilemma A. Evolution of GINI B. Dispatcher Objectives GINI on a Cloud © March 20103 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie E. Scheduler F. Conclusion

4 1. What is GINI? 2. GINI’s Features 3. Improvements Overview GINI on a Cloud © March 20104 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

5 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 20105 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

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

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

8 Improvements Overview GINI on a Cloud © March 20108 ClientWorker Front EndBack End David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

9 Improvements Overview GINI on a Cloud © March 20109 ClientWorker Front EndBack End David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

10 Improvements Overview GINI on a Cloud © March 201010 Front EndDispatcher Database Scheduler Back End ServerWorkersClient David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

11 Drawbacks Complicated Installation process GINI on a Cloud © March 201011 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

12 Drawbacks OS Compatibility issues GINI on a Cloud © March 201012 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

13 GINI Components: ImprovementsBasics Database Scheduler Dispatcher gRouter GiniLinux uSwitch WGINI gLoader gBuilder GINI’s Components gBuilder gLoader gRouter GiniLinux uSwitch WGINI GINI on a Cloud © March 201013 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

14 1. Overview 2. Dispatcher Request 3. Connection Creation 4. Dispatcher Logging GINI on a Cloud © March 201014 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

15 Overview Request/Reply Front EndDispatcher Database I need a worker Worker’s DNS Lowest CPU Usage GINI on a Cloud © March 201015 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

16 Dispatcher Request Request/Reply Dispatcher DNSIPuptime Lab2-17134.204.2.560.112 Lab2-29134.204.2.370.523 Lab2-20134.204.2.1120.938 ……… Return worker DNS extractWorkerFromDB() GINI on a Cloud © March 201016 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

17 Connection Creation Connection Established GINI on a Cloud © March 201017 Front EndBack End SSH Tunnel David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

18 Dispatcher Logging Recording Connection Dispatcher Database 1.Send: Client IP Worker DNS 2.Connection Recorded: time stamp GINI on a Cloud © March 201018 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

19 1. Design Paradigm 2. Connection to Server 3. Design Dilemma GINI on a Cloud © March 201019 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

20 Design Paradigm Transparent to user Component add-on rather than alteration GINI remains independent Only altered the Configuration file GINI on a Cloud © March 201020 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

21 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 201021 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

22 Current Access to Remote Server GINI on a Cloud © March 201022 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

23 Connection to Server 23 GINI on a Cloud © March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

24 Connection to server 24 GINI on a Cloud © March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie Front EndBack End SSH Tunnel

25 Addition to GINI GINI on a Cloud © March 201025 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

26 Addition to GINI GINI on a Cloud © March 201026 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

27 Gateway to the cloud GINI on a Cloud © November 0927

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

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

30 1. Send dummy variable 2. Dispatcher searches for a worker 3. Returns worker or dummy variable Sequence of Events Front EndDispatcher Database 30 GINI on a Cloud © March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie Worker’s DNS name

31 Result: Unaltered GINI 31 GINI on a Cloud © March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

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

33 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 201033 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

34 Flexibility Non-fixed data types being passed Currently a string: IP, DNS or anything else 34 GINI on a Cloud © March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

35 Drawback Temporary TCP connection: Port expiration at timeout Most Clients don’t have DNS 35 GINI on a Cloud © March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

36 Design Dilemma 36 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 No extra resources used Impossible (or difficult) to retrieve clients GINI on a Cloud © March 2010 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

37 1. Contents 2. Dispatcher Database Relationship 3. Design choices 4. Recommendations GINI on a Cloud © March 201037 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

38 DB keeps history of 10 last CPU usages for every worker Initial Design Database Storage: workers Table WorkersUsageHistory W134%12158045… W249%70331028… W357%2887865… ……… Database GINI on a Cloud © March 201038 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

39 Database Storage: workers Table Uptime is the average load on the system processor workerIDdnsNameuptime 1lab2-420.23 2lab2-390.18 3lab2-370.56 ……… Database GINI on a Cloud © March 201039 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie Implementation

40 Database Storage: clients Table DB keeps track of all the connections and their start time Database GINI on a Cloud © March 201040 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie ClientConnected toTime Stamp 134.204.2.56 1:03 168.141.2.9134.204.2.211:21 191.24.2.56134.204.2.371:56 ……… Initial Design

41 Database Storage: clients Table Time stamp is calculated in minutes starting midnight Database GINI on a Cloud © March 201041 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie clientIDworkerNameIP addresstimeStamp 1Lab2-37134.204.2.56789 2Lab3-39134.204.2.21300 3Lab2-42134.204.2.371056 ………… Implementation

42 Database - Dispatcher GINI on a Cloud © March 201042 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie Database Dispatcher workerIDdnsNameuptime 1lab2-420.23 2lab2-390.18 3lab2-370.56 getFreeWorker() 1 Lab2-39 3 Sort workers table by uptime 2

43 Database - Dispatcher GINI on a Cloud © March 201043 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie Database Dispatcher clientIDworkerNameIP addresstimeStamp 1lab2-37134.204.2.56789 2lab2-39134.204.2.21300 3lab2-42134.204.2.371056 4lab2-39123.45.6.78840 5 Connection between client and lab2-39 4

44 Client Log GINI on a Cloud © March 201044 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie Call to the function displayClientsLog()

45 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 201045 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

46 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 201046 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

47 Managing Client Connections Database functions provided: getTimedOutClients() updateClientTime() removeClientByID() removeClientByIP() GINI on a Cloud © November 0947 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

48 1. Purpose 2. Design Choices 3. Methodology 4. Sample Output 5. Recommendations GINI on a Cloud © March 201048 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

49 Purpose Manage workers and their connections Examine CPU usage Ensure all workers are accessible GINI on a Cloud © March 201049 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

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

51 Methodology GINI on a Cloud © March 201051 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 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

52 Database Update GINI on a Cloud © March 201052 Database Scheduler lab2-42 New uptime 0.26 3 workerIDdnsNameuptime 1lab2-420.26 2lab2-390.12 ……… 4 Request Workers List 1 lab2-42, lab2-39, … 2 lab2-39 New uptime 0.12 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

53 Sample Output GINI on a Cloud © March 201053 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

54 Dynamic Update GINI on a Cloud © March 201054 Scheduler Worker $ gAddWorker<> $ gRemoveWorker<> David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

55 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 201055 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

56 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 201056 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

57 Configuration Change passwords: SSH access to SOCS server Database access to SOCS MySql server GINI on a Cloud © March 201057 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

58 1. Summary 2. Advantages GINI on a Cloud © March 201058 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

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

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

61 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 201061 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie

62 Questions? GINI on a Cloud © March 201062


Download ppt "Cloud computing for internet emulator. Professor Muthucumaru Maheswaran Team Members Mia Hochar Simon Foucher David El Achkar David El Achkar Marc Atie."

Similar presentations


Ads by Google