Adaptive Multicasting Cache Bone
Performance Evaluation

 
1. Experiment environment
 Number of receivers : 3
receivers :     freezbie.cs.ait.ac.th
                    ai3gate.cs.ait.ac.th
                    ns1.itb.ac.id
Sender : cache-naist1.ai3.net
Transmission Network: AI3 satellite link

2. Results
            The performance evaluation is performed by transferring many files with varied size from the sender in Japan (hub cache) to all 3 receivers (rim cache) by 3 methods : normal multicast, adaptive multicast and unicast. The first 2 methods are multicast transmissions. An adaptive multicast adjusts the packet sizes according to the network condition to ensure so that the multicasting remains operational even if the network is congested. Both the multicasting methods apply the concept of sender based control in managing the multicast transmission. The last method is normal unicast transmission over UDP protocol.

            The experimental result comprises of 2 values. The transmission time and the ratio of retransmitted bytes. The ratio of retransmitted bytes is computed by comparing between the number of retransmiited bytes and total file size.
 
 
 
 
Latency (sec.)
% of retransmission
File size = 85200 bytes
   
Scheduled multicast
18
48.84
Unscheduled multicast
25
77.58
Unicast
45
68.08
File size =194557 bytes
   
Scheduled multicast
49
54.82
Unscheduled multicast
57
84.39
Unicast
83
119.94
File size = 667346 bytes    
Scheduled multicast
188
91.91
Unscheduled multicast
289
151.26
Unicast
305
176.58
File size = 1626000 bytes    
Scheduled multicast
439
92.22
Unscheduled multicast
675
157.12
Unicast
740
172.11
File size = 2119680 bytes    
Scheduled multicast
580
93.7
Unscheduled multicast
886
153.75
Unicast
970
172.17
File size = 5203487 bytes    
Scheduled multicast
1419
101.74
Unscheduled multicast
2441
178.67
Unicast
2530
203.8
File size = 6948182 bytes    
Scheduled multicast
2012
110.78
Unscheduled multicast
3260
179.3
Unicast
3285
191.72
File size = 9635840 bytes    
Scheduled multicast
2977
121
Unscheduled multicast
4534
183.73
Unicast
4837
215.4

 Table 1: The performance evaluation
3. Evaluation graph
4. Adaptive multicasting flowchart
Figure 1. Adaptive multicasting flowchart

            Figure 1. illustrates the working of the scheduling mechanism applied by the caching system. There are 2 charts for the sender side and receiver side. Each side must work in the corresponding manner.

1. At first, the sender multicasts the IPM_SEND signal to all connecting receivers. This signal informs the receiver that the multicasting will be started. The receiver must wait for the incoming IPM_SEND.

2. When the receiver gets the IPM_SEND signal. It sends the JOIN_MESSAGE to inform the sender that it will receive the multicast information. The sender sets the timeout to gather join messages from all interested receivers. After the timeout expires, the sender knows the number of joining receivers.

3. The sender multicasts the Control parameter packet. This packets composes of many important information in multicasting such as the multicast file name, file size, file access mode, many time out values and important parameters used in the multicasting

4. The multicasting is divided in to many rounds. In each round, the sender sends specific number of packets. The sender adapts the transmission rate by adjusting the packet size of each round. So, before the start of multicasting in each round, the sender sends the value of applied packet size to all receivers. The receiver uses the value of packet size to check whether it receives information completely.

5. The sender reads the information from the source file and divides it into many packets. When the sender reads the last packet from the source file. It sets the value of packet number to zero to identify the receiver that the receipt packet is the last packet.

6. After each round of multicasting, the receiver reports the reception result to the sender. If the receiver can receive the last packet successfully, it means that the receiver can receive total file completely. Then the receiver waits the IPM_SEND signal for the next multicasting. Otherwise, the receiver waits for the next round of multicasting.

7. After each round of multicasting, the sender sets time out to gather reception results from all receivers. Since the sender knows exactly the number of joining receivers, the sender does not have to wait until the time out expiration. If the sender can receive the reception result completely before the timeout expire, it can go to the next step.

8. If the multicasting is the last round (by determining the packet number), the sender checks that whether all joining receivers receive the packets successfully. If all receivers report that they can receive the total file completely, the sender ends the multicasting.

9. Otherwise, the sender checks for any retransmission request. The sender applies the concept of Go-Back-N in retransmission control. That means the sender will backward to the retransmission position requested by the receivers and continues the multicasting from that position.

10. Then, the sender calculates the packet size for the next round of multicasting by considering the reception results and available bandwidth.

11. The sender continues the multicasting in the next round.

5. Non-adaptive multicasting flowchart

 
Figure 2. Non-adaptive multicasting flowchart
 
            Figure 2. illustrates the working of the multicast transmission without the scheduling mechanism applied. There are 2 charts for the sender side and receiver side. Each side must work in the corresponding manner.
 
1. At first, the sender multicast the Control parameter packet. This packets composes of many important information in multicasting such as the multicast file name, file size, file access mode and any time out value and important parameters used in the multicasting including the applied packet size.

2. The multicasting is divided in to many rounds. In each round, the sender sends specific number of packets. Each transmitted packet has the same size.

3. The sender reads the information from the source file and divides it into many packets. When the sender reads the last packet from the source file. It sets the value of packet number to zero to identify the receiver that the receipt packet is the last packet.

4. After each round of multicasting, the receiver considers whether the receipt packet is the last packet (by determining the packet number). If the receiver can receive the last packet successfully, it means that the receiver can receive total file completely. Then the receiver stops the reception without any reception result reporting.
Otherwise, the receiver reports the reception result to the sender and waits for the next round of multicasting.

5. After each round of multicasting, the sender sets time out to gather reception results from all receivers. When the time out expires, if there is no reception result reported, the sender considers that all receivers can receive the file completely. So, the sender ends the multicasting.

6. Otherwise, the sender checks for any retransmission request. The sender applies the concept of Go-Back-N in retransmission control. That means the sender will backward to the retransmission position requested by the receivers and continues the multicasting from that position.

7. The sender continues the multicasting in the next round.