H.264 SVC performance evaluation over SDN (1)
Try to duplicate the important video packets when the switch sends out packets over loss link in order to improve the delivered video quality.
The sender does not need to send the redundant packets at the source. The controller can know the status of each link from source to destination. When the link loss rate is high, the controller can send the command to ask the switch to duplicate the important packets when the switch sends out the important packets.
[Read in advance]
Base layer packets are tagged with TOS=0x64, enhancement layer 1 packets are tagged with TOS=0x6E, and enhancement layer 2 packet are tagged with TOS=0x78.
The link loss rate from SW to H2 is set to 5%
Experiment 1: No any protection
Experiment 2: Duplicate the base packets twice when the switch sends out the base layer packets.
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import CPULimitedHost
from mininet.link import TCLink
from mininet.util import dumpNodeConnections
from mininet.log import setLogLevel
from mininet.cli import CLI
"Single switch connected to n hosts."
def __init__(self, n=2, **opts):
switch = self.addSwitch('s1')
for h in range(n):
#Each host gets 50%/n of system CPU
host = self.addHost('h%s' % (h + 1), cpu=.5/n)
#10 Mbps, 5ms delay, 0% Loss, 1000 packet queue
self.addLink(host, switch, bw=10, delay='5ms', loss=5, max_queue_size=1000, use_htb=True)
"Create network and run simple performance test"
topo = SingleSwitchTopo(n=2)
net = Mininet(topo=topo,host=CPULimitedHost, link=TCLink)
print "Dumping host connections"
print "Testing network connectivity"
#print "Testing bandwidth between h1 and h2"
h1, h2 = net.get('h1', 'h2')
Open two terminals for h1 and h2. Run the H.264 receiver program at h2 and the sending program at h1.
Open another terminal to do the video performance evaluation.
The average result PSNR is 23.2.
Kill the default controller and we will set the rules manually.
Back to original mininet environment to set the rules.
Do the performance evaluation again.
The result PSNR is 35.2. That is better than Experiment 1.
Dr. Chih-Heng Ke
Department of Computer Science and Information Engineering, National Quemoy University, Kinmen, Taiwan
Email: firstname.lastname@example.org / email@example.com