250 likes | 706 Views
Shanghai Jiao Tong University. Packet multiple access: the aloha protocol. What is multiple access?. As opposed to Point-to-point communication medium (or single access medium) Shared transmission medium (or multi-access medium) A receiver can hear multiple transmitters
E N D
Shanghai Jiao Tong University Packet multiple access: the aloha protocol
What is multiple access? • As opposed to Point-to-point communication medium (or single access medium) • Shared transmission medium (or multi-access medium) • A receiver can hear multiple transmitters • A transmitter can be heard by multiple users/a single user • The main problem here is to allocate the channel between users, such that • Optimal system throughput can be achieved • System fairness can be achieved • Difficulties • Distributed system, each user may not have information about other users
Examples of multi-access media • Examples • Local area networks, Ethernet, in the traditional way • Satellite channels • Wireless radio • Multi-drop telephone • Ways to multi-access • Fixed assignment • TDMA: GSM (/w modifications) • FDMA: early analog cellular phones • CDMA: cellular phones • Contention mechanisms • Random access • Polling • Reservation and scheduling
Slotted multi-access – a few assumptions • Slotted system • Transmitters are synchronized • Each transmission needs one slot • Poisson arrivals • Each transmitter generate i.i.d Poisson packets with rate λ/m • Collision or perfect reception • If only one transmitter transmits in one slot then transmission is regarded as successful • Otherwise all collided packets are lost • Immediate feedback • Upon reception, the receivers are able to send feedback to transmitter immediately • Types of feedbacks: ‘1’ for successful, ‘0’ for lost, ‘e’ for collision • Retransmission of collided packets • Wait some random time and re-transmit, until the packet is successfully transmitted • No buffer • One node can only hold exactly one packet. If a new packet arrives at a node with one still waiting to be transmitted, the newly arrived packet is dropped and never transmitted again. • Infinite number of nodes • Each newly arriving packet arrives at a new node, i.e. no packet drop
The ALOHA system • The ALOHAnet and the ALOHA protocol • Invented by Norman Abramson, University of Hawaii in 1970 • Initial motivation is to connect far-flung campuses with amateur-radio like systems • Two channels: outbound and inbound • Outbound for broadcasting • Inbound for the hub • Receiver resend upon reception of a packet • Sender resend in case of conflict • First multi-access system, generated a lot of research on shared medium access systems, like Ethernet, and even GSM • ALOHA: affection, love, peace, compassion and mercy receiver transmitter transmitter transmitter
Slotted ALOHA • Transmission attempts = external arrivals with rate λ+ re-transmission of backlogs • Given the above assumptions, the transmission attempts can also be treated as Poisson, say, with rate G, G > λ Arrivals and re-transmissions Success (1) Idle (0) Collision(e) Idle (0) Success (1) Idle (0) Collision(e) t System backlogs The probability of zero transmission, i.e., the slot is idle The probability of 1 transmission, i.e., success: The probability of collision
Performances of the idealized system • e-1 is the maximal achievable throughput λ < e-1 λ ALOHA G • λmust be smaller than e-1
Performances of the idealized system • Define D = expected change in backlog over one time slot Unstable point Stable point Negative drift λ Positive drift = λ – Ge-G • D is system drift • When D > 0, backlog tends to increase • When D < 0, backlog tends to decrease What causes the instability?
Instability of Slotted ALOHA • Let us take a closer look at G • G is the transmission attempts = external arrivals + retransmission from backlogged nodes • G = λ + n*p, n: number of backlog, p: probability of re-send in next slot • Instability is caused by the re-transmission policy, given we are offered a reasonable external arrival rate • The problem now becomes estimating n, so that we can have a G close to 1, and we can achieve maximum throughput. Arrivals and re-transmissions Success (1) Idle (0) Collision(e) Idle (0) Success (1) Idle (0) Collision(e) t System backlogs
Some examples, p = 0.3 λ = 0.01 λ = 0.05 λ = 0.1 λ = 0.2
Some examples, p = 0.1 λ = 0.01 λ = 0.05 λ = 0.1 λ = 0.2
Under the finite node assumption… • Slotted system • Transmitters are synchronized • Each transmission needs one slot • Poisson arrivals • Each transmitter generate i.i.d Poisson packets with rate λ/m • Collision or perfect reception • If only transmitter transmits in one slot then transmission is regarded as successful • Otherwise all collided packets are lost • Immediate feedback • Upon reception, the receiver are able to send feedback to transmitter immediately • Types of feedbacks: ‘1’ for successful, ‘0’ for lost, ‘e’ for collision • Retransmission of collided packets • Wait some random time and re-transmit, until the packet is successfully transmitted • Finite number of nodes • Packets arrived at an backlogged node will be discarded and never re-transmitted again
Slotted ALOHA - Under the finite node assumption… External arrival: λ λ/m … backlogged un-backlogged m nodes in total among them n are backlogged -If the total external arrival rate is λ, the arrival rate to each node is λ/m, -The arrivals to the backlogged nodes are dropped -For each un-backlogged node, the probability of no arrival is: Hence one or more arrival, i.e. one transmission attempt in next slot is: ← Let it be qa, i.e. attempt from new arrivals in a node We also have qr, re-transmission attempt from each backlogged node -The number of attempts in a slot, when n nodes are backlogged is given by: G(n) = (m-n) qa + n qr from backlogged re-trans. from new arrivals
Slotted ALOHA - Under the finite node assumption… Given the system state, i.e. the number of backlogged node is n The probability that i un-backlogged nodes attempt to transmit: The probability that i backlogged nodes attempt to transmit: And, the probability of one successful transmission:
Slotted ALOHA - Under the finite node assumption… The probability of one successful transmission: G(n) = (m-n) qa + n qr
Slotted ALOHA - Under the finite node assumption… Again we define the system drift: the change in number of backlogged nodes Dn= (m-n) qa - Psucc Departure rate Ge-G Stable point External arrival (m-n) qa Unstable point Undesirable stable point
Stabilizing ALOHA –Rivest’s Pseudo-Bayesian algorithm • New arrivals are backlogged immediately • Maintain an estimation of backlogs, namely , and update the estimation at the beginning of each slot • All packets transmit with probability qr in each slot • Update qr according to
qr and • Since all packets are transmitted with qr , the attempt rate now becomes Hence, a reasonable estimation of qr is: And since can be 0, i.e. no backlog, qr in this case should be 1, so finally: • We want to decrease if we find an idle slot, or the previous transmission is successful. And to increase it in case of collision. New backlogs due to arrivals Decrease one To maintain the balance between n and
“Pure” ALOHA (unslotted) • New arrivals are transmitted immediately • Retransmission after random delay, typically exponentially distributed delay , x is attempt rate τ: exponentially distributed delay with pdf E[τ] = 1/x G(n) = λ+nx New arrival Previous arrival Next arrival Throughput↓ Slotted ALOHA No collision wit previous packet: e-G(n) Psucc = e-2G(n) No collision wit next packet: e-G(n) Hence the throughput = G(n)*Psucc = G(n)* e-2G(n) Pure ALOHA
Contention Resolution Protocol Consider a very simple collision resolution algorithm: We have two packets, and in each slot, each packet is transmitted with probability 1/2 What is the probability that can we successfully transmit them in two time slots? The answer is : 1/2 And what is the probability of 3 slots? And for n slots? The answer is : 1/4 What is the expected number of slots needed to transmit two packets? The answer is : 3 The throughput is then: The answer is : 2/3 This very simple collision resolution algorithm provides good throughput, but in reality, we may not know how many packets to transmit.
Splitting Algorithms • Tree algorithms • After collision, all nodes involved split into two groups, left (L) and right (R) • Members of L transmit in next slot, members in R wait • If collision occurs, go back to (1). When L is done, transmit R. 1 S - e ↓An example: initially the transmission set is S. 2 L R e slot 3 Transmission Set LL Waiting Set LR,R feedback 1 4 LR R e 5 LRL LRR,R 0 6 LRR R e 7 LRRL LRRR,R 1 8 LRRR R 1 9 R - 0
Splitting Algorithms S Collision resolution period R L Any improvements? collision collision will only happen with small probability, can be merged with subsequent periods LL LR collision idle LRR LRL collision success LRRR LRRL collision will happen for sure, better splitting beforehand collision idle success success
Performance comparison • Stabilized slotted aloha T = 0.368 = 1/e • Stabilized pure aloha T= 0.184 = 1/(2e) • Basic tree algorithm T = 0.434 • Best known variation on tree algorithm T = 0.4878 • Upper bound on any collision resolution algorithm with (0,1,e) feedback T≤0.568 • TDM achieves throughputs up to 1 packet per slot, but the delay increases linearly with the number of nodes