a technique for improving the scheduling of network communicating processes in mosix

43
A Technique for improving the scheduling of network communicating processes in MOSIX Rengakrishnan Subramanian Masters Report, Final Defense Guidance by Prof. Dan Andresen

Upload: lan

Post on 24-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

A Technique for improving the scheduling of network communicating processes in MOSIX. Rengakrishnan Subramanian Masters Report, Final Defense Guidance by Prof. Dan Andresen. Agenda. MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Technique for improving the scheduling  of network communicating processes in MOSIX

A Technique for improving the scheduling of network communicating processes in MOSIX

Rengakrishnan SubramanianMasters Report, Final Defense

Guidance by Prof. Dan Andresen

Page 2: A Technique for improving the scheduling  of network communicating processes in MOSIX

Agenda

MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion

Page 3: A Technique for improving the scheduling  of network communicating processes in MOSIX

MOSIX - purpose

Software tool for cluster computing Multiple servers work as if single to

achieve high performance Automatic work distribution Load balancing Adaptive management (processes v/s

resources)

Page 4: A Technique for improving the scheduling  of network communicating processes in MOSIX

MOSIX – tools

Create a process (or more processes)

Distribute (and redistribute)

Algorithms respond to variation

Works on Linux x86 platforms

Kernel patch

System Admin tools

Page 5: A Technique for improving the scheduling  of network communicating processes in MOSIX

Agenda

MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion

Page 6: A Technique for improving the scheduling  of network communicating processes in MOSIX

Network Processes

Preemptive process migration Interaction with environment after

migration User context, System / UHN context Remote migrates, deputy stays at

UHN Deputy has kernel resources (sockets

too!)

Page 7: A Technique for improving the scheduling  of network communicating processes in MOSIX

Network Processes - origin

Cluster of nodes

Node aProcess A & B

Node b

Node aProcess A

Node bProcess BCluster of

nodes

Page 8: A Technique for improving the scheduling  of network communicating processes in MOSIX

Network Process - migrated

Node b

Node aProcess AProcess B

B to A

B to A

Cluster of nodes

Page 9: A Technique for improving the scheduling  of network communicating processes in MOSIX

Network Process - migrated

Node bProcess B

Node cNode a

Process A

Node bNode c

Process B

Node aProcess A

Page 10: A Technique for improving the scheduling  of network communicating processes in MOSIX

Agenda

MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion

Page 11: A Technique for improving the scheduling  of network communicating processes in MOSIX

Breaking down – Microscopic User Space

Kernel / Socket Layer

TCP

Firewall

Lower Layers

MOSIX

User Space

Kernel / Socket Layer

TCP

Firewall

Lower Layers

MOSIX

User Space

Kernel / Socket Layer

TCP

Firewall

Lower Layers

MOSIX

Page 12: A Technique for improving the scheduling  of network communicating processes in MOSIX

Agenda

MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion

Page 13: A Technique for improving the scheduling  of network communicating processes in MOSIX

Timing - picture

T1

User Space

Kernel / Socket Layer

TCP/ IP

Firewall

Lower Layers

MOSIX

T2

T4

T5

T6

T7T3

T8

T911.94 µsec

8.59 µsec

24.22 µsec

2.9 µsec

Page 14: A Technique for improving the scheduling  of network communicating processes in MOSIX

Timing - equation

The amount of time that can be saved if the

packets are redirected at the firewall layer =

(Time taken at the TCP layer, 24.22 µsec)

+ (Time taken at the socket layer, 2.9 µsec)

+ (Time taken by MOSIX to decide on the

fate of the packet, M µsec).

Page 15: A Technique for improving the scheduling  of network communicating processes in MOSIX

Timing – equation 2

Recalculated Time =

2 X {

(Time taken at the TCP layer, 24.22 µsec) +

(Time taken at the socket layer, 2.9 µsec)

} +

(Time taken by MOSIX to decide on the fate of the packet, M µsec).

Page 16: A Technique for improving the scheduling  of network communicating processes in MOSIX

Timing - Inference

Yes, time can be saved

Yes, time can be saved at the firewall

layer

The packet can be identified

The packet can be redirected

Because, the firewall can do NAT

Page 17: A Technique for improving the scheduling  of network communicating processes in MOSIX

Agenda

MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion

Page 18: A Technique for improving the scheduling  of network communicating processes in MOSIX

Implementation - IPTables

Built-in firewall tool in Linux kernel

Successor of IPChains and IPFwadm

MOSIX works on Linux x86

Timing available for IPTables

Page 19: A Technique for improving the scheduling  of network communicating processes in MOSIX

Implementation - NAT

PRE-ROUTING

DNAT

POST-ROUTING

SNAT

[Routing Decision]

Local Process

IN

OUT

Page 20: A Technique for improving the scheduling  of network communicating processes in MOSIX

Implementation - picture

Node bFirewall

Node cServer

Node aClient

Page 21: A Technique for improving the scheduling  of network communicating processes in MOSIX

Implementation - rules

# iptables -t nat -A PREROUTING -s $CLIENT -d $FIREWALL _SYSTEM -p tcp –dport $SERVER_PORT -i eth0 -j DNAT --to-destination $NEW_DESTINATION

# iptables -t nat -A POSTROUTING -s $CLIENT -p tcp --dport $SERVER_PORT -o eth0 -j SNAT --to-source

$FIREWALL_SYSTEM

# iptables -t nat -A PREROUTING -s $SERVER -d $FIREWALL_SYSTEM -p tcp --sport $SERVER_PORT -i eth0 -j DNAT --to-destination $CLIENT

Page 22: A Technique for improving the scheduling  of network communicating processes in MOSIX

Agenda

MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion

Page 23: A Technique for improving the scheduling  of network communicating processes in MOSIX

Testing – what ?

MOSIX communication through

redirection

IPTables communication through

redirection

Direct communication

Page 24: A Technique for improving the scheduling  of network communicating processes in MOSIX

Testing - Environment

Pentium P4 CPU 1.6 GHz Processor speed Intel Ether express Network card 100 Mbps LAN Two Red Hat 7.2 Linux boxes with Kernel

2.4.19 One Debian Linux box with Kernel 2.4.18 All nodes were connected on to the same

LAN switch

Page 25: A Technique for improving the scheduling  of network communicating processes in MOSIX

Testing – how?

Server-Client communicating pair Parameterized Buffer size Amount of data time Number of such communicating pairs Port numbers Prints out time taken for data transfer

Page 26: A Technique for improving the scheduling  of network communicating processes in MOSIX

Testing – MOSIX 1

Node bServer is created here. Server waits on a port number.

Node cNode aClient will reside hereClient is not yet created.

Page 27: A Technique for improving the scheduling  of network communicating processes in MOSIX

Testing – MOSIX 2

Node bServer is migrated manually using MOSIX admin tools to node cAll processes think server is still in Node b

Node cServer is now here.But, it goes to Node b for system calls. Node b is its UHN

Node aClient is created. Contacts server in Node b.Is unaware that server is in Node c

Page 28: A Technique for improving the scheduling  of network communicating processes in MOSIX

Testing - IPTables

Node bIPTables rules are written here.Forwards packets from Node a to Node c and vice-versa

Node aClient is created hereClient contacts Node b requesting for service

Node cServer is created here.It will get request from Node b (which is in reality from Node a). It will reply back to Node b

Page 29: A Technique for improving the scheduling  of network communicating processes in MOSIX

Testing - Direct

Node cServer is created here.It will get request from Node a It will reply back to Node a

Node b

Node aClient is created hereClient contacts Node c requesting for service

Page 30: A Technique for improving the scheduling  of network communicating processes in MOSIX

Agenda

MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion

Page 31: A Technique for improving the scheduling  of network communicating processes in MOSIX

Results – Execution time

Page 32: A Technique for improving the scheduling  of network communicating processes in MOSIX

Results - Bandwidth

Page 33: A Technique for improving the scheduling  of network communicating processes in MOSIX

Results – CPU Utilization

Page 34: A Technique for improving the scheduling  of network communicating processes in MOSIX

Results – Load Average

Page 35: A Technique for improving the scheduling  of network communicating processes in MOSIX

Results – Execution Graph

Execution Time Comparison

0

100

200

300

400

500

600

700

0 2 4 6 8 10 12 14 16

No of Connections

Tim

e (s

ecs)

mosix iptables direct

Page 36: A Technique for improving the scheduling  of network communicating processes in MOSIX

Results – Bandwidth Graph

Bandwidth Comparison

0

5

10

15

20

25

30

35

0 2 4 6 8 10 12 14 16

No of connections

Ban

dw

idth

(M

bp

s)

mosix iptables direct

Page 37: A Technique for improving the scheduling  of network communicating processes in MOSIX

Results – CPU Graph

%CPU Utlization Comparison

0

20

40

60

80

100

0 10 20 30 40 50 60

No of connections

%C

PU

Uti

liza

tio

n

mosix iptables

Page 38: A Technique for improving the scheduling  of network communicating processes in MOSIX

Results – Load Graph

Load Average Comparison

0

1

2

3

4

5

0 10 20 30 40 50 60

No of Connections

Lo

ad A

vera

ge

mosix iptables

Page 39: A Technique for improving the scheduling  of network communicating processes in MOSIX

Agenda

MOSIX Network communicating processes Breaking it down Timing Implementation Test Results Conclusion

Page 40: A Technique for improving the scheduling  of network communicating processes in MOSIX

Conclusion - 1

MOSIX takes 33% more time on

execution than direct communication

IPTables takes only 4% more

MOSIX takes 28% more time on

execution than IPTables

Page 41: A Technique for improving the scheduling  of network communicating processes in MOSIX

Conclusion - 2

Bandwidth of MOSIX is 20% less than

IPTables MOSIX, on an average, takes 212%

more CPU utilization MOSIX takes at least 138 times more

load average than IPTables

Page 42: A Technique for improving the scheduling  of network communicating processes in MOSIX

Conclusion – 3

Yes, better performance can be

achieved

Better Execution time

Better Bandwidth utilization

Better load average

Better CPU utilization

Page 43: A Technique for improving the scheduling  of network communicating processes in MOSIX

Questions