25
Octopus system 1 Moshe Tocker Avihai Mejer

Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 1

Moshe Tocker

Avihai Mejer

Page 2: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 2

The Octopus system Goal

• The system’s primary goal is to Measure performance parameters in real time on an Ethernet LAN.

• The parameters that the system will measure, will help analyze the load and utilization of the LAN.

Page 3: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 3

Octopus basic approach

• The main method the system uses in order to gather information and parameters about the LAN is through executing experiments.

• Examples of possible experiments:– round trip time – measuring latency– Multiple packet sending – measuring Error rate

of frames.

Page 4: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 4

The elements in the system

• Manager – An application that runs on any station in the LAN. It’s functionality:– It will let the user choose what tests to run on

the Ethernet LAN.– Passes commands to Agents instructing them

what tests to perform.

• The manager will expect back the tests results for allowing the user further analysis.

Page 5: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 5

The elements in the system (Cont.)

• Agents – Combined of two parts:– Agent application– Miniport driver

• Agent application – Communicates with the Manager application & the minioprt driver, passing information between the two.

• Miniport driver – Kernel mode SW component, operates the Network

Adapter.– Carrys out the tests.

Page 6: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 6

The Agents

Agent Application

Miniport Driver

Command/Result

Other Agents

Manager

TCP/IP

Other Agents

Other Agents

HOST

Page 7: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 7

The Octopus system Layout

Manager

Agent A

Agent B

Ethernet

LAN

NT stations

Page 8: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 8

Project Implementation

• Part I - Communication & Interaction between different system components. This will be the infrastructure of the system.

• Part II - Executing the experiment at the mininport level, for actual measurement of the LAN’s performance.

Page 9: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 9

Communication & Interaction

The communication & Interaction includes:– User to Manager interface– Manager to Agent communication– Agent to miniport communication– Agent to Agent Communication

Page 10: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 10

User to Manager interface

• The interface is a Windows dialog box which allows the user to choose:– the type of experiment to be done

– Relevant parameters such as: number of tests to run, time interval between consecutive tests.

– The Agents addresses and ports.

• Results are returned to the user for further analysis through a log file created by the Manager.

Page 11: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 11

Manager to Agent communication

• Manager & Agent are both user level applications that communicate using standard TCP/IP.

• The Manager & Agent Pass among themselves:– Commands from Manager to Agent to perform

an experiment, or– Results and data back from Agent To Manager.

Page 12: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 12

Agent Manager

TCP/IP

WinSock

CommandsResults

Page 13: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 13

Agent to miniport communication

• Agents application order the miniport of what tests to do and what parameters to use

• Miniport performs the test and sends test results back to Agent application

• Communication between Agent application and the miniport is by using Files performing a buffer role.

Page 14: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 14

The Agents

Agent Application

Miniport Driver

“CommFile”

HOST

“ResFile”

Page 15: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 15

The miniport implementation

• We used an open-source driver for our Network Adapter.

• The driver was converted to our needs:– It creates a new thread running in kernel mode,

dedicated to the Octopus system, always listening for commands from the Agent Application, and ready to perform the requested test.

– Because of the multithreaded implementation, the driver’s performance and functionality remains unharmed.

– Host can be used normally, even when used as Agent.

Page 16: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 16

Difficulties encountered

• Originally for the miniport-Agent communication we planned to use NamedPipes. But Win2K drivers do not support this mechanism natively. So we implemented a similar mechanism by using ordinary files.

• The driver had to be transformed into a multi-function driver, without harming its original goal. Multi-threaded programming was the solution.

Page 17: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 17

Future Plans

• In the coming semester we will implement part II of our project:– Detailed design of the experiments to be held,

i.e. how exactly to perform a test, what do we measure and the results report format.

– Defining and Implementing the miniport to miniport level communication.

– Implementing the miniport level experiment.

Page 18: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 18

Demonstration of Octopus system infrastructure

What you are about to see…

Page 19: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 19

MANAGER

User chooses The Agents to work with

AGENT

TCP/IPConnectionestablished

Miniport driverinstalled

NT Station

NT Station

Page 20: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 20

MANAGER AGENT

User chooses Tests to run + parameters

TCP/IPconnection

Manager createscommands andpasses to Agent

Miniport driverinstalled

NT Station

NT Station

Page 21: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 21

AGENT

Miniport driverinstalled

NT Station

Command File createdBy the Agent

Read by the miniportAnd then deleted

Manager’sCommands

Agent parses theManager’s commands

Page 22: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 22

AGENT

Miniport driverinstalled

NT Station

Results File createdBy the miniport

Read by the AgentAnd then deleted

Miniport “simulates”Performing testsAnd fakes results

AgentParsesResults

file

Page 23: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 23

MANAGER AGENT

TCP/IPconnection

Agent passesResults backTo Manager

Miniport driverinstalled

NT Station

NT Station

Manager createsLog File containing

the results

Page 24: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 24

User uses theResults Log File

For further analysis

System is ready forAnother test…

Page 25: Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real

Octopus system 25