MLDesign Technologies, Inc.
www.mldesigner.com
ALOHA Protocol This is a brief summary of an MLDesigner model that simulates both ALOHA and Slotted ALOHA protocols. It demonstrates modeling techniques and shows the protocol design capability of MLDesigner. ALOHA is a random (or contention) access protocol developed at the University of Hawaii for sharing broadcast channel access among a number of users with relatively low throughput demand. There are two main ALOHA versions: unslotted, which has no coordination between system stations, and slotted, which uses a master clock to provide synchronized channel time slots to improve throughput . ALOHA protocols are often used in satellite communications systems and cellular radio systems and are a precursor to the popular Ethernet protocol..
1. Model Overview This ALOHA model uses satellite connections between stations. The model consists of three top-level modules: an earth station (Single_Earth_Station), a central satellite station (Satellite_Station) that serves as the communications link between the earth stations and a statistics module (AlohaStatistics.) To simplify the design, collision detection, transmission delay and satellite round-trip delay are all implemented in the satellite. If the satellite detects a collision while receiving a packet, it tags the packet to indicate collision before broadcasting it to all earth stations. The transmitting earth station continues to retransmit the packet until it receives the packet back from the satellite without a collision flag. At that point, it discards the packet and begins to transmit the next packet in its queue. In this implementation each earth station has at most one outstanding packet and all packets are of equal size. The earth station module supports both regular ALOHA and slotted ALOHA operation. Data structures are used to represent the packets and to indicate slotted and unslotted operation. The ALOHAStatistics module contains all the statistics collection and reporting operations. The MLDesigner system, shown in Figure1, consists of 20 earth stations communicating through a satellite. It can be expanded or reduced by adding or removing earth station modules and adjusting one configuration parameter. A second parameter selects slotted or unslotted operation.
1
MLDesign Technologies, Inc.
www.mldesigner.com
M ReceiveMemory
M SafePacketsMemory
M SendMemory
M CollisionPacketsMemory
Satellite_Station#1
AlohaStatistics#1
Single_Earth_Station#1
Single_Earth_Station#8
Single_Earth_Station#15
Single_Earth_Station#2
Single_Earth_Station#9
Single_Earth_Station#16
Single_Earth_Station#3
Single_Earth_Station#10
Single_Earth_Station#17
Single_Earth_Station#4
Single_Earth_Station#11
Single_Earth_Station#18
Single_Earth_Station#5
Single_Earth_Station#12
Single_Earth_Station#19
Single_Earth_Station#6
Single_Earth_Station#13
Single_Earth_Station#20
Single_Earth_Station#7
Single_Earth_Station#14
Figure 1: Top-level ALOHA system with 20 stations
2. Parameters The ALOHA model is extensively parameterized. System-level parameters are shown below. AlohaType: This parameter has two possible values: Unslotted and Slotted. It determines whether to execute the ALOHA or Slotted ALOHA protocol. SafeDistance: The minimum distance in seconds between two packets to avoid collision. RoundTripDelay: The satellite round-trip delay in seconds. SatelliteQueueSize: The maximum number of elements that can be held in each of the two queues used in the Satellite_Station module. EarthStationQueueSize: The maximum number of packets that can be held in the queue of the Single_Earth_Station module. PacketLengthInBits: Length of the packet used in both ALOHA and Slotted ALOHA models. RandomizationParameter: A uniformly selected random number between one and this parameter, multiplied by the PacketLengthInSecond parameter, determines the backoff time delay. PacketLengthInSecond: Time required transmitting a packet of length PacketLengthInBits. SlotSize: Size of the time slot used in the Slotted ALOHA model. MeanInterArrival: Mean time between two packets arriving at an earth station for transmission. TrafficStopTime: Time to stop generating traffic in all the earth stations. This can be different than the RunLength parameter. 2
MLDesign Technologies, Inc.
www.mldesigner.com
Load: Combined traffic, generated in all earth stations, as the percentage of the satellite channel capacity. ChannelSpeed: Data rate in bps for the satellite channel. RunLength: Simulation iteration length in seconds. GlobalSeed: Seed used in generating random numbers. WarmupTime: In this early period of the simulation, data are not collected. This is the time to reach the steady state. NumberEarthStations: Total number of Earth stations in the system.
3. Data Structures The Aloha model uses two MLDesigner data structures: AlohaPacket and AlohaType. AlohaType configures the model to run as slotted or unslotted. AlohaPacker has seven fields: • • • • • • •
Source: Earth station originating the packet. TimeCreated: Time at which Source creates the packet. TimeFinished: Time at which the packet is delivered successfully. TimeTransmission: Time at which Source transmits or retransmits the packet. Length: Packet length in bits. Collision: Flag showing possible packet collision. RetransmissionCount: Number of times Source retransmits the packet until it is delivered successfully.
4. Modules in the Aloha_System_Nodes20 Model This section presents the functional description of the modules used in the Aloha_System_Nodes20 model. 4.1. Satellite_Station Module The Satellite_Station module is shown brlow. The primary function of the module is to detect collisions; it also includes both packet transmission delay and satellite round-trip delay.
3
MLDesign Technologies, Inc.
-SafeDistance
www.mldesigner.com
Init#1
False E SatelliteTimer 1 2
1
SafeDistance
3
RestartTimer#1
ServiceTimer#1
2
Local Memory (LastTransmissionTime)
F-
F<
2
2
SimpleFIFO (Collision Forward Queue) 1
Select TimeTransmission
Write Message#1
SimpleFIFO (Collision Backward Queue)
I==0
Local Memory (NewTransmissionTime)
PacketLengthInSecond
1
Write Message#2
Or
1 2
Insert Collision
3
M SendMemory
RoundTripDelay
M ReceiveMemory
ActiveRead SendMemory
Write ReceiveMemory
>>>SATELLITE UPLINK TRAFFIC>>>
<<
Figure 2: Satellite station module
4.2. Single_Earth_Station Module The Single_Earth_Station module shown in Figure5 represents a single earth station. It implements both ALOHA and Slotted ALOHA protocols. It consists of Packet_Generator and Transmit_Receive modules.
Packet_Generator#1
M
SendMemory
M
ReceiveMemory
M
SafePacketsMemory
M
CollisionPacketsMemory Transmit_Receive#1
Figure 3: Single earth station module The Packet_Generator module, shown in Figure6, generates packets of the AlohaPacket type with the interarrival time exponentially distributed.
4
MLDesign Technologies, Inc.
www.mldesigner.com
PoissonPulseTrain_2_3#1
Create AlohaPacket
Insert TNow in TimeCreated
Insert Length
PacketOut
GenIntConst#1
Figure 4: Packet generator module The Transmit_Receive module, shown in Figure7, en-queues the newly generated packets in a FIFO queue and transmits them one at a time whenever the station's previously sent packet is correctly delivered.
WriteMessage#1
Insert Source
M SendMemory
FIFOWithReject#1
EIO
2
Aloha_Type#1
Insert TNow in TimeTransmission
Unslutted Slotted
Write SendMemory
1
>>>SATELLITE UPLINK TRAFFIC>>> WaitForNextSlot#1
EarthStationID
Retransmission Counter
LocalMemory#1
Int_Num_Packet_Length_Delay#1
[Backoff Time]
[Packet is in collision, retransmit it] 2
M CollisionPacketsMemory
EIO
2
M SafePacketsMemory Write SafePacketsMemory
EIO
Insert TNow in TimeFinished
F
Collision#1
F
1
T
Write CollisionPacketsMemory
1
PacketIn
T
This_Sender#1
M ReceiveMemory ActiveRead ReceiveMemory
[Packet is delivered correctly] <<
Figure 5: Transmit receive module
5
MLDesign Technologies, Inc.
www.mldesigner.com
4.3. AlohaStatistics Module The AlohaStatistics module, shown in Figure10, computes statistics on the simulated data and displays the results in graphs.
M CollisionPacketsMemory CollisionPackets
1.0
CollisionsVsLoadGraph
M SafePacketsMemory Select Length
SatePackets
Select TimeFinished
ThroughputVsLoadGraph
ScatterGraph2#1
Select TimeCreated
HistogramGraph2#1
BatchStatisticsGraph2#1
BatchMeanGraph2#1
ThroughputAndDelayGraph#1 Select Length
ThroughputVsTimeGraphTemp#1
Select RetransmissionCount
HistogramGraph#1
RetransmissionCountVsLoadGraph
Figure 6: Statistics module
5. Sample Results Sample results from selected ALOHA simulation runs are shown below.
6
MLDesign Technologies, Inc.
2
www.mldesigner.com
Delay Scatter Graph
x10
Set(1,1)
1.2 1.0 D 0.8 e l 0.6 a y 0.4 0.2 0.0 0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
1.8
2.0
2.2
2.4
2.6
2.8
3.0 2
Time
x10
Figure 7: Delay scattergraph for a 20 node slotted ALOHA simulation RetransmissionCount Histogram Graph 20
Set(1,1)
18 16 S a m p l e s
14 12 10 8 6 4 2 0 0
5
10
15
20 25 RetransmissionCount
30
35
40
Figure 8: Retransmission count histogram for a 20 node slotted ALOHA simulation T h r o u g h p u t O v e r C a p a c i t y
Throughput vs Time Graph Set(2,1) Set(2,2) Set(2,3) Set(2,4) Set(2,5) Set(2,6) Set(2,7) Set(2,8) Set(2,9) Set(2,10)
0.25 0.20 0.15 0.10 0.05 0.00 0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6 Time
1.8
2.0
2.2
2.4
2.6
2.8
3.0 2
x10
Figure 9: Throughput vs Time for a 20 station unslotted 10-iteration simulation 7
MLDesign Technologies, Inc.
www.mldesigner.com
Note: Model developed by Dr. Keyvan Farhangian of KVON Technologies.
8