ANts-MUTE.ppt
,Network size with 4 connections per node(ANts),After 1 hop you can reach 4 nodes,Network size with 4 connections per node(ANts),After 2 hop you can reach 42=16 nodes,Network size with 4 connections per node(ANts),After 3 hop you can reach 43=64 nodes,Network size with 4 connections per node(ANts),In a network of N nodes the average hops to reach any other node is logc NWhere c is the mean number of connections per node,Network size with 10 or more connections per node(MUTE),In a network of N nodes the average hops to reach any other node is logc NWhere c is the mean number of connections per node,Network size with 10 or more connections per node(MUTE),In a network of N nodes the average hops to reach any other node is logc N log10 100=2 So with 100 nodes we have still just 2 hopsIn the mean case,Network size with 10 or more connections per node(MUTE),If the net has less than 100 nodesthen the following inequality will holdlog10 N 2 iif N 100So we have an average hops numberto any node that is less than 2,ANts-Mute comparison,We said that ANts extablishes lessconnections than MUTE in the mean caseso it follows that the average hops numberto reach any point of the net is HIGHEReven when the MUTE net has more nodes,ANts-Mute comparison,Infact even with 100 nodes MUTE needsjust 2 hops in the worst case to reach anypoint of the networkANts instead with only 25 nodes needs2,5 hops in the mean case,ANts-Mute comparison,If ANts needs more hops than MUTEWhy ANts tranfers are faster than MUTE ones?,ANts-Mute comparison,The reason have to be found in the differences of the protocols usedMUTE uses a msg ack protocol forany transfer(data and control)so graphically,ANts-Mute comparison,to complete the sending of a message MUTE waits for the ask to be received,msg,ANts-Mute comparison,This produces a low throughput,in particular:throughput=latency=4 hops(in the example),msg,ANts-Mute comparison,Using this protocol for control messageIs ok.Cause we need to be sure that A message has been deliveredInstead using this protocol for data transferIs known to be very inefficient!,ack,ANts-Mute comparison,Infact to send a packet we NEED towait that the former has been received.So we can send a packet only every4 hops!,ack,ANts-Mute comparison,You can easily understand that adding upnetwork congestion and low latency that are tipical of ad-hoc networks tothis inefficient protocol is not a good idea!,ANts-Mute comparison,As we cant do anything to reduce latencyWe HAVE to act in order to increaseThroughputand reduceNet load(balancing the load over the highest number of connections available),ANts-Mute comparison,ANts grants a higher throughputbecause it DOESNT wait for acks beforesending the next message in DATATRANFERS,ANts-Mute comparison,ANts grants an higher throughputbecause it DOESNT wait for acks beforesending the next message in DATATRANFERS,File requestor,File owner,ANts-Mute comparison,First a msg ack exchange is performedto initiate the transfer process,file request,ANts-Mute comparison,Once the owner received the requestit sends an ack andBEGIN THE FILE TRANSFER,file request,ANts-Mute comparison,File parts are sent without waiting foracks the source waits only for an initialack(to assure that the receiver is readyto receive)this grants an high throughput andthis is the main reason why ANtsis actually faster than MUTE,ack,ANts-Mute comparison,The initiate transfer message is theonly one the requires the ack!,ack,Initiate transfer,ANts-Mute comparison,The initiate transfer message is theonly one the requires the ack!,Initiate transfer,ANts-Mute comparison,The initiate transfer message is theonly one the requires the ack!,ack,ANts-Mute comparison,The initiate transfer message is theonly one the requires the ack!,ack,ANts-Mute comparison,Once received the ack,the source caninitiate transfer sending groups of parts and stopping only if acks are not received after N parts are sent.i.e.if there are morethan N message sent still waiting for their acks.(window of size N),part 1,ANts-Mute comparison,So if acks are delivered without Interruptions we get a CONSTANT FLUX of data!,part 2,part 1,ANts-Mute comparison,In order to improve the transfer we neednot only a CONSTANT FLUX but alsoa way to DISTRIBUTE LOAD over ALLthe AVAILABLE CONNECTIONSfrom the source to the destination,part 3,part 2,ack 1,ANts-Mute comparison,ANts let this happend because if morepaths are present to our destinationthey are ALL USED in a way proportionalto the load of EACH one,part 4,part 3,ack 2,ack 1,ANts-Mute comparison,ANts let this happend because if morepaths are present to our destinationthey are ALL USED in a way proportionalto the load of EACH one,part 4,part 3,ack 2,ack 1,STALLED,part 5,ANts-Mute comparison,ANts let this happend because if morepaths are present to our destinationthey are ALL USED in a way proportionalto the load of EACH one,part 4,ack 3,ack 2,ack 1,STALLED,part 6,part 5,part 7,ANts-Mute comparison,This way of working applies to a singlechunks transfer(each chunk is made up of10 parts).If you consider that ANts hasmultiple sources download you can understand why,even if a single chunkSTALLS,the node keeps a constant fluxof data.,part 4,ack 3,ack 2,ack 1,STALLED,part 6,part 5,part 7,ANts-Mute comparison,Infact even if a SOURCE stalls,you canalways have another source that is notstalled and that keeps sending you packets.,part 4,ack 3,ack 2,ack 1,STALLED,part 6,part 5,part 7,ANts-Mute comparison,ACTUALLY this is the reason whyANts is faster EVEN WHEN itextablishes LESS CONNECTIONPER NODE in the average case.,part 4,ack 3,ack 2,ack 1,STALLED,part 6,part 5,part 7,