HOMEWORK 3 FAQ Last Revision: 825 AM, Mar 5, 2004 ERRATA ------ Problem 1: The 16-bit numbers should be: a = 0xF203 and b = 0xF6F7. Problem 7: The frame size is 4000 bytes. The 800 usec is really the ring latency; i.e., the time it takes the token to come back after a node releases it. QUESTIONS/ANSWERS ----------------- Problem 1 --------- Problem 2 --------- Problem 3 --------- Problem 4 --------- Q4-1) Could you give me more clear and prise definition of cumulative ACK? A4-1) See the bottom of page 102 in the peterson text. Q4-2) How do you guarantee 'a' to be an integer? Since the seq. numbers are integer, if a is not integer, then (1+2a) is not integer. A4-2) Assume (1+2a) is integer. Q4-3) Since ETR = e * R, and d = D/c', e w/o any Errors and W=W = W (L/R) --------------------- W (L/R ) + d We do not have to add another 'd' in the Denominator because there's no time spent on ACK wait ( since we fill the B.W.D by W frames (W=1+2a)). Is this a valid statement ? Q4-3) No. First, if I substitute W=1 in your 2nd equ, you should get the equ. for W=1 which you don't. The error-free efficiency when W=W is: e = W/(2a+1) for 1 <= W <= 2a+1 where a = 2d/(L/R). The ACK doesn't get back to the sender until 2d + L/R after transmission starts: 1) L/R to get all L bits into the channel; 2) another d for the last bit to get to the receiver; and 3) another d for the little ACK to get back to the sender. Q4-4) I get e = ... complicated equation ... L' is the transmission time of an ACK. Is this right? A4-4) L' is effectively 0. So, the ACK transmission time is effectively 0 since L' is effectively 0. But it takes time for the ACK to propagate from the receiver to the sender. You should draw a space-time diagram as in prob 4, hw2. Notice where the behavior repeats itself; i.e., the period of the diagram and how many packets are successfully transmitted in this period. Then, ETR = (# pkts transmitted) x L / Period and e = ETR/R Q4-5) In part d, is W=W'=2a+1 or is it the value in part c? A4-5) It is W=W'=2a+1 as it is in parts a and b. Q4-6) Assume sender processes ACK immediately when it gets one. In part b, if receiver ACKs every frame it receives, damaged or not, it can cause sender to retransmit a lot of duplicate frames. Should we take this factor into account when we calculate the throughput? A4-6) It depends on how the sender interprets the ACKs. In this problem, there should be NO unnecessary retransmits. Q4-7) Is the speed-up S defined as ETR(a)/ETR(b) or the other way around? A4-8) S = ETR(b)/ETR(a) ... i.e., S >= 1 if Part b is an improvement. Problem 5 --------- Q5-1) Can you give me a hint on Part a? A5-1) As stated in class, look at [A,B] +' [C,D] and treat the sum as 24-bit numbers. Note that [A,B] +' [C,D] = [0,0,B] +' [0,0,D] +' [0,A,0] +' [0,C,0] which then needs to be converted to a 16-bit 1's complement sum. Once you can show this result, then generalize to the case of additional terms in the sum. Q5-2) What do you really mean in Part b are the errors? A5-2) a) The only bit that can be damaged is the high-order bit of each 16-bit word. b) The total number of words that are damaged is an even number (e.g., 0, 2, 4, 6). Q5-3) I don't see the significance of the byte swapping property that you have brought out. It sounds neat but I don't see when it becomes important (in the context of NBO etc.). A5-3) Machines may be big-endian (BE) or little-endian (LE), but this doesn't matter. For example, suppose M is little-endian (e.g., Intel) but the data is stored in NBO (BE). Ignoring this, M does its 1's complement sum and stores the checksum back w/o regard to endianness. The result is a byte-swapped checksum (relative to LE) but upon arrival to the destination is in proper order for a BE machine and byte-swapped for a LE machine. But if the destination is LE, the checksum could be checked in the kernel in NBO (BE) order. The property also helps in boundary alignment situations (e.g., odd number of bytes). Problem 6 --------- Problem 7 --------- Q7-1) What is the definition of ETR ? A7-1) It is the same as effective throughput. See page bottom of page 145 in peterson. Q7-2) Isn't the TRT=800 usec in this problem different than in the book? A7-2) Yes. Usually it is the inter-arrival time of the token at a node. Q7-3) In delayed release, don't we need to know how long it takes for a frame to propagate completely around the ring? A7-3) Yes. Assume here that it is 800 usec ... Yes, I know, 800 usec is much too large for that. Q7-3) Isn't the 800 micro secs actually the ring latency rather than the TRT? A7-3) Yes. Problem 8 --------- Q8-1) In part b, Do you want us to compute the range of the next measured TRT of node A, and B or just to compute the exact value of next measured TRT ? A8-1) Exact. Q8-2) On problem 8b, I don't think I can give an exact value for A's next measured TRT because it depends on how much asynchronous traffic B has to send and the size of a single frame. A8-2) Assume that once the token leaves, 120 usec of synchronous traffic will be sent ... this is guaranteed. Assume that B has an infinite amount of asynchronous traffic to send ... but of course, if TTRT-TRT > 0, it can send at most max(TTRT-TRT, (frame size)/R). Also, ignore any token propagation delay since you don't know he distance between nodes. Q8-3) In part b, don't you mean that A and B have an unlimited amount of asynchronous traffic to send but no synchronous traffic to send? Also, that all of the other nodes combined have no asynchronous data to send but a total of 120 usec to send? A8-3) Yes. Q8-4) Are A and B next to each other? Or after A sends async data for 95 usec, synch data is sent for 120 usec by others and then B gets the token? What is TRT A and B in the very first round (=0 and whenever B gets, respectively?). Also, is it right that 120 usec includes the ring latency in it? A8-4) Yes to all of the above. To be specific, after A releases the token, then assume 120 usec passes because of synchronous traffic and latency before B gets the token. There isn't enough info about ring latency. So, assume 0. Q8-5) The problem says that the ring latency = 25us but in the FAQ 8-4, you say that there is not enough info about ring latency and that we can assume it to be 0. I'm a little confused about this. A8-5) We don't know the distance between each node. But in delayed release, the frame must travel all the way around the ring which will take 25 usec or any particular bit in the frame. But once the token is released, we don't know how long it will take to travel to B.