COMP 5416 Assignment 2 Due: 5 November 2019, 23:59.
Question 1 GoBackN, 20. This question will further extend our discussion in tutorial 6 and quiz.
In the following network, node A transmits packets that pass through B and C, and arrive at the destination D. The bit rate of all links is R1 Mbitsec. The maximum packet size in the network is 500 Bytes. Ignore the header size. The oneway propagation delay on each link is 4 msec.
1 How long does it take to transmit a file of size 80000 Bytes if A and D use the GoBackN ARQ and B and C are Store andForward? Assume that there is no error in transmission in the network, and the size of ACK packets is negligible. N ranges from 1 to 20. Sketch the overall time vs. N.
2 Repeat 1 if the second packet is lost all other packets are successfully received. The timeout duration is assumed to be 50 ms. We assume that the timer starts when A starts to send the first bit of the packet.
1
Question 2 Queueing Theorem: Simulation, Analysis, and Application, 20. In this task, you need to simulate and analyze an MMmn queue with arbitrary m and n. You can reuse the codes in Week 7 Lab to simulate an MMmn queue. You Python code must be submitted as supplementary material. You also need to theoretically compute the stationary distribution to verify your simulation. Finally, you will understand how queueing theorem will help design and install realworld telephone and cellular networks.
Throughout this question, let the arrival rate be . Let the service rate of each server be .
1 Let 1 and 2. What is the stationary distribution of an MM110 queue. Please figure out this result by both
simulation and analysis.
2 Let 1 and 1. What is the stationary distribution of an MM510 queue. Please figure out this result by both simulation and analysis.
3 Use theoretical analysis only. What is the stationary distribution of an MMmm queue now nm. What is the probability that a new arrival is blocked dropped by the system? This probability is defined as pb.
4 Follow 3. Let 1 and m10. If the blocking probability pb must be limited to 0.001, what is the maximum value of ?
5 Follow 3. Let 10 and 1. If the blocking probability pb must be limited to 0.001, what is the minimum value of m, i.e., the number of servers?
6 Telecomcellular companies usually use methods in 4 and 5 to design their telephonecellular networks. In 4, given the required blocking probability pb and the number of telephone lines m, they want to know the maximum possible traffic intensitythey can accommodate. In 5, given the required blocking probability pb and the traffic intensity , they want to know how many telephone lines they shall install. The method to compute pb is also well known as Erlang Formula. Google Erlang Formula and answer the following questions.
a What are ErlangB and ErlangC Formulas? When are they used? What is the difference between them? b In 4 and 5, do you use ErlangB or ErlangC Formula? Why?
2
Question 3 Multithread Server: Implementation, 20. You are given the complete code for the client in Lab in Week 11. Your task is to write the TCP server. The client code is in client.py. You must not modify this code. However, you are allowed to change ServerName and ServerPort. Only Python 3 is allowed.
Different from the server in the lab, the new server must be able to serve multiple clients simultaneously. Please note that the server code in Week 11 can only accept one client! In order to serve multiple clients simultaneously. The server should run multiple threads. The server will establish a new connection socket to communicate with one new client, and each new connection socket will be managed by a new thread. You should selfstudy the following function: thread.startnewthread.
The following figure shows an example of server when two clients are sending images at the same time. The two connections are closed in the end, demonstrating that there are two concurrent transmissions before the first Connection closed.
You also need to capture the concurrent data transmission by Wireshark. In the example in the next page, we can see that the two clients are running at 192.168.0.3, with port numbers 60458 and 60462. The server is running at 192.168.0.4, with port number 12011. The throughputs of the two connections are both positive at around the 4th second.
Tasks and submissions:
1 Build up a multithread server which can serve multiple clients at the same time. Submit your serverside Python code.
Submit your server code as LastnameFirstnameServer.py. We will use the client in Week 11 to test against your server.
2 Test your server with three clients using the code in Week 11 sending images at the same time. Capture the packets by Wireshark at the server side. You are allowed to run the server and clients in one computer using localhost. Submit your Wireshark capture. Your capture file must be smaller than 10MB. Your capture will be ignored and will not be marked if it is greater than 10MB. Submit your capture as LastnameFirstnameCapture.pcapng or .pcap.
3 In the main submission file, based on your capture in 2, plot the throughput vs. time of the three connections similar to the figures in the next page. Show that they are operated in parallel. In the main file, you also need to give the three clients IP addresses, clients port numbers, servers IP address, and servers port number.
3
4
You overall mark will be zero if you do not submit code in 1, no matter if you submit 2 or 3.
You submission in 2 and 3 will be ignored and will not be marked if your submission in 1 does not work. You overall mark will be zero if your Wireshark capture in 2 does not match the throughput plots in 3.
Question 4 BER vs SNR, 20. Following the tutorial in Week 12 CDMA with Noise, we now study how the noise level will influence the bit error rate BER, i.e., the probability that 1 is decoded as 1. The physical meaning of 2 is the power of noise and 1 is the power of signal. So the SNR is 12.
Redo the question when 210i, where i0, 0.5, 1, 1.5, 2, 2.5, 3. When computing the Q function, do not use the table in the tutorial since it does not cover enough range. You can use the following website at
https:www.wolframalpha.comwidgetsview.jsp?id95784c6b00784691c55ea0a420fd7ee0
Plot the BER vs SNR curve based on your result. The xaxis should be in dB, and the yaxis should be in powers of 10. See week 10s slide wireless and mobile network 1 page 15.
Note: A similar question will be discussed in Week 12.
5
Question 5 Token bucket, 20, Final exam 2018. The following figure shows a token bucket scheduler. It consists of a bucket which can accommodate 3 tokens and a queue which can accommodate infinite packets. The arrival of packets follows Poisson process with rate 0. The arrival of tokens follows Poisson process with rate 0, which is independent of the arrival of packets. As discussed in the class, each packet consumes exactly one token and the packets are served by the firstinfirstout principle. If there is no token in the bucket, packets will wait at the queue. Otherwise, each packet consumes one token and leaves the system immediately. If the bucket is full, new token arrivals will be dropped. The system reaches the steady state after a sufficiently long time.
1 Let 1, 2, 3, 4, . . . denote the states where there are 1, 2, 3, 4, . . . packets in the buffer. Let 1, 2, 3 denote the states where there are 1,2,3 tokens in the bucket. Let 0 denote the state where there are 0 packet and 0 token. Draw the state transition diagram of the system.
2 Let 1 units and 2 unitss. Compute the stationary distribution of each state, i.e., state 3, 2, 1, 0, 1, 2, 3, . . .. Compute the stationary probability that there are at least one packet in the buffer. Compute the stationary probability that there are at least 1 token in the bucket.
3 Following 2, what is the average queue length average number of packets in the buffer?
4 What is Littles Theorem? Following 3, compute the average waiting time of a packet in the system. 5 If , what will happen?
6
Question 6 Power allocation by convex optimization, additional mark, 30. N users are sharing a wireless channel in a TDMA mode. Each user will get 1 of timeslots. The N users experience different noise nn1 , n2 , . . . , nN . The base station
7
N
will allocate power to different users, and the total power is limited to 1. If the power allocated to user i is xi, according to
Shannon Theorem, user i will experience a data rate of 1 ln1xi . We want to study how to allocate the power to different
users in order to realize the max sum data rates.
Therefore, we can formulate the optimization problem as follows
max N 1ln1xi, 1 x1,x2,,xN i1 N ni
subject to xi0,i1,2,,N, 2 N
xi 1. 3 i1
1 Solve the above problem. Hint: You need to use KKT condition and find the optimal solution accordingly.
1
2 Let N9 and user is noise is 1i4 , where i is the ith digit of your student number. For example, if your student
number is 460123456, then n1.4953, 1.6266, 1.0000, 1.1892, 1.3161, 1.4142, 1.4953, 1.5651, 1.6266. Use your own student number and calculate the numerical optimal solution. You need to get the optimal xi , i1, 2, . . . , 9, and the optimal value of the objective function.
You will get zero if you use another students number. Penalty will be incurred if your answer to 2 does not match your answer to 1.
N ni
Submission Instructions: You should submit one main file and several supplementary files. You should include your answers to Q1Q6 and explanations of your answers in the main file. You should submit your main file at main file submission. The main file is in the format of pdf. For Q2, you need to submit your queue simulator at Q2 code submission. For Q3, you should submit your Python code at Q3 code submission and Wireshark capture at Q3 capture submission. Your code and capture will be examined against your answers in the main file. Penalty would be incurred if your codecapture does not match your answer in the main file. All your submissions will be checked by plagiarism examination tools.
This is one assignment with multiple pieces to submit. Your submission time is equal to the submission time of the last piece. For example, suppose you submit the main file, Q2 code, and Q3 code on time, but your Q3 capture is late for 26 hours. The whole assignment is regarded as a 26hour late submission.
8
Reviews
There are no reviews yet.