![Page 1: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/1.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/2.jpg)
Agenda
n MOSIXn Network communicating processesn Breaking it downn Timingn Implementationn Testn Results n Conclusion
![Page 3: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/3.jpg)
MOSIX - purpose
n Software tool for cluster computing
n Multiple servers work as if single to achieve high performance
n Automatic work distribution
n Load balancing
n Adaptive management (processes v/sresources)
![Page 4: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/4.jpg)
MOSIX – tools
n Create a process (or more processes)
n Distribute (and redistribute)
n Algorithms respond to variation
n Works on Linux x86 platforms
n Kernel patch
n System Admin tools
![Page 5: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/5.jpg)
Agenda
n MOSIX
n Network communicating processesn Breaking it downn Timingn Implementationn Testn Results n Conclusion
![Page 6: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/6.jpg)
Network Processes
n Preemptive process migrationn Interaction with environment after
migrationn User context, System / UHN contextn Remote migrates, deputy stays at
UHNn Deputy has kernel resources (sockets
too!)
![Page 7: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/7.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/8.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/9.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/10.jpg)
Agenda
n MOSIXn Network communicating processes
n Breaking it downn Timingn Implementationn Testn Results n Conclusion
![Page 11: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/11.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/12.jpg)
Agenda
n MOSIXn Network communicating processesn Breaking it down
n Timingn Implementation n Testn Results n Conclusion
![Page 13: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/13.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/14.jpg)
Timing - equation
n 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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/15.jpg)
Timing – equation 2
n 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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/16.jpg)
Timing - Inference
n Yes, time can be saved
n Yes, time can be saved at the firewall layer
n The packet can be identified
n The packet can be redirected
n Because, the firewall can do NAT
![Page 17: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/17.jpg)
Agenda
n MOSIXn Network communicating processesn Breaking it downn Timing
n Implementation n Testn Results n Conclusion
![Page 18: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/18.jpg)
Implementation - IPTables
n Built-in firewall tool in Linux kernel
n Successor of IPChains and IPFwadm
n MOSIX works on Linux x86
n Timing available for IPTables
![Page 19: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/19.jpg)
Implementation - NAT
PRE-ROUTING
DNAT
POST-ROUTING
SNAT
[Routing Decision]
Local Process
IN
OUT
![Page 20: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/20.jpg)
Implementation - picture
Node bFirewall
Node cServer
Node aClient
![Page 21: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/21.jpg)
Implementation - rules
n # iptables -t nat -A PREROUTING -s $CLIENT -d $FIREWALL _SYSTEM -p tcp –dport $SERVER_PORT -i eth0 -j DNAT --to-destination $NEW_DESTINATION
n # iptables -t nat -A POSTROUTING -s $CLIENT -p tcp --dport $SERVER_PORT -o eth0 -j SNAT --to-source
$FIREWALL_SYSTEM
n # 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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/22.jpg)
Agenda
n MOSIXn Network communicating processesn Breaking it downn Timing
n Implementation
n Testn Results n Conclusion
![Page 23: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/23.jpg)
Testing – what ?
n MOSIX communication through
redirection
n IPTables communication through
redirection
n Direct communication
![Page 24: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/24.jpg)
Testing - Environment
n Pentium P4 CPUn 1.6 GHz Processor speedn Intel Ether express Network cardn 100 Mbps LANn Two Red Hat 7.2 Linux boxes with Kernel
2.4.19 n One Debian Linux box with Kernel 2.4.18n All nodes were connected on to the same
LAN switch
![Page 25: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/25.jpg)
Testing – how?
n Server-Client communicating pairn Parameterizedn Buffer sizen Amount of data à time n Number of such communicating pairsn Port numbers n Prints out time taken for data transfer
![Page 26: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/26.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/27.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/28.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/29.jpg)
Testing - Direct
Node cServer is created here.It will get request from Node aIt 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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/30.jpg)
Agenda
n MOSIXn Network communicating processesn Breaking it downn Timing
n Implementationn Test
n Resultsn Conclusion
![Page 31: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/31.jpg)
Results – Execution time
![Page 32: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/32.jpg)
Results - Bandwidth
![Page 33: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/33.jpg)
Results – CPU Utilization
![Page 34: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/34.jpg)
Results – Load Average
![Page 35: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/35.jpg)
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 …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/36.jpg)
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
(Mbps)
mosix iptables direct
![Page 37: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/37.jpg)
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
lizat
ion
mosix iptables
![Page 38: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/38.jpg)
Results – Load Graph
Load Average Comparison
0
1
2
3
4
5
0 10 20 30 40 50 60
No of Connections
Load
Ave
rage
mosix iptables
![Page 39: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/39.jpg)
Agenda
n MOSIXn Network communicating processesn Breaking it downn Timing
n Implementationn Testn Results
n Conclusion
![Page 40: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/40.jpg)
Conclusion - 1
n MOSIX takes 33% more time on
execution than direct communication
n IPTables takes only 4% more
n MOSIX takes 28% more time on
execution than IPTables
![Page 41: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/41.jpg)
Conclusion - 2
n Bandwidth of MOSIX is 20% less than
IPTables
n MOSIX, on an average, takes 212% more CPU utilization
n MOSIX takes at least 138 times more load average than IPTables
![Page 42: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/42.jpg)
Conclusion – 3
n Yes, better performance can be achieved
n Better Execution time
n Better Bandwidth utilization
n Better load average
n Better CPU utilization
![Page 43: A Technique for improving the scheduling of network …people.cs.ksu.edu/~subbu/docs/presentation.pdf · MOSIX - purpose n Software tool for cluster computing n Multiple servers work](https://reader033.vdocument.in/reader033/viewer/2022060600/6053ae0807cc6a276c24a07a/html5/thumbnails/43.jpg)
Questions