Top Banner

of 22

Advanced Teletraffic Project 1

Apr 03, 2018

Download

Documents

Ziad El Samad
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/28/2019 Advanced Teletraffic Project 1

    1/22

    CPEN 447- Advanced Teletraffic Engineering

    Project 1Queuing Disciplines

    Submitted By:Abeer Abou HaitGrace YammineNicole TannousFarouk Jammal

    Submitted To:

    Professor J.Daba

    24-04-2012

    Introduction:

    In this project, we will compute the latencies of all applications (services) for all queuing

    disciplines using both GPRS and EDGE technologies. We will generate graphs of latencies versus

    the various traffic classes. We will also discuss the Kleinrocks conservation law.

    Any queue consists of three components: an arrival process which determines when

    customers arrive at the queue and what there characteristics are; a buffer (also referred to as the

    queue itself) where customers wait to be served and a service time requirement for each customer

    at the server serving the queue.

    By convention, the term queue length includes the customer currently being served, if any.

    Thus for an empty queue, the server is idle. Customer's service time is determined by the demand

  • 7/28/2019 Advanced Teletraffic Project 1

    2/22

    of the customer expressed in units of work and the service rate of the server specified by work

    units performed in unit time. Service time is then the demand divided by the rate.

    Queues are classified according to Kendalls notation which in its original form defines the class

    A/S/m as follows:

    A describes the nature of the arrival process. If for example the arrival process is Poisson,A=Mfor

    Markovian or memoryless. If the inter-arrival times are constant,A=D for deterministic. For a

    general inter-arrival rateA=G. The arrival rate is conventionally denoted by which is the

    reciprical of the mean inter-arrival time. In general may depend on the number of customers in

    the queue

    S' denotes the service time distribution. We could haveS=M

    for Markovian service time, i.e. one

    with exponential distribution, S=D for deterministic or constant service times.

    m denotes the number of servers available to give service to the customers in the queue.

    The Queueing discipline describes how the server decides which customer in the queue to pick

    next for service. Common disciplines are:

    First in first out FIFO in which customers are served in strict order of arrival.

    Last in first out LIFO under which the most recent arrival is served first.

    Kendall's notation has been extended to include two additional fields that define the capacity of the

    buffer/waiting room, c, and the population of the customer pool, i.e. the maximum number of

    customers, p. The queue is then specified as A?S/m/c/p. Ifc and p are unspecified they are

    assumed to be infinite.

    Now, The latency L is obtained by calculating the sum of the waiting time Tw and the servicetime Ts.

    Ts= Average Frame Size / Channel Capacity.

    The Channel Capacity is given in Kbps so we multiply it by 1000 to get it in bits per second.

    The average frame size is given in bytes per frame, so we convert it to bits per frame by multiplying

    the value by 8.

    To compute the waiting time Tw we need to get the arrival rate, the variable service time, the

    inter arrival time and the variable inter arrival time.

    Arrival Rate = Mean bit arrival rate (Rb) / Average Frame Size.

    The mean bit arrival rate was given in Kbps so we multiplied it by 1000 to get it in bits per

    second and the average frame size was given in bytes per frame so we multiplied it by 8 to get it in

    bits per frame.

    varServiceTime = (64 * varFrameSize) / ( channelCapacity^2).

    varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2).

  • 7/28/2019 Advanced Teletraffic Project 1

    3/22

    For a D/D/1 and G/G/1 distribution, we compute the waiting time Tw using the following

    formula:

    Tw= (arrival Rate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrival

    Rate*service Time))

    For an exponential M/G/1 distribution, a Pollaczek-Khintchine formula is used:

    Tw= ((arrivalRate^2 * ((service Time * (1 + SAR)) 2)) / (2 * (1 arrival Rate * service

    Time)))/arrival rate.

    I- Type of queuing dispatching : FIFO

    A- GPRS technology:

    1) CS-1 time slot 1: channel capacity 9.05 Kbps

    a- Not peaky traffic: SAR=1

    %FIF0 - GPRS - CS1 - 1 Time slotclear all;close all;classesNb = 6;waitingTime = zeros(1,6);i = 1;%%%%%%%%%%%%%%%%%%%%%%%%%%%% Traffic Classes %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 Voice Messaging G/G/1 %

    % 2 Telnet M/G/1 %% 3 Audio Streaming G/G/1 %% 4 Video Streaming G/G/1 %% 5 Email M/G/1 %% 6 FTP G/G/1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%% CS1 - 1 TSchannelCapacity = 9.05 * 1000;% 1 Voice messaging%%%%%%%%%%%%%%%%%%%%%%%%%%%averageFrameSize = 31;

    arrivalRate = (1000 * 10.7) / (8 * averageFrameSize);serviceTime = 8 * averageFrameSize / channelCapacity;varFrameSize = 4;varServiceTime = (64 * varFrameSize) / ( channelCapacity^2);SAR = 1;interArrivalTime = 0.02308;varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2);ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 -arrivalRate*serviceTime));ETqSup = ETwSup + serviceTime;waitingTime(i) = ETqSup;i = i + 1;% 2 Telnet%%%%%%%%%%%%%%%%%%%%%%%%%%%averageFrameSize = 64;arrivalRate = (1000 * 0.512) / (8 * averageFrameSize);throughput = arrivalRate;

  • 7/28/2019 Advanced Teletraffic Project 1

    4/22

    serviceTime = 8 * averageFrameSize / channelCapacity;SAR = 1;ETs2 = (serviceTime * (1 + SAR))^2;%Mean buffer lengthENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime));ETw = ENw / throughput;ETq = ETw + serviceTime;waitingTime(i) = ETq;i = i + 1;

    % 3 Audio streaming%%%%%%%%%%%%%%%%%%%%%%%%%%%averageFrameSize = 200;arrivalRate = (1000 * 20) / (8 * averageFrameSize);serviceTime = 8 * averageFrameSize / channelCapacity;varFrameSize = 4;varServiceTime = (64 * varFrameSize) / ( channelCapacity^2);SAR = 1;interArrivalTime = 0.08;varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2);ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 -arrivalRate*serviceTime));ETqSup = ETwSup + serviceTime;waitingTime(i) = ETqSup;i = i + 1;% 4 Video streaming%%%%%%%%%%%%%%%%%%%%%%%%%%%averageFrameSize = 320;arrivalRate = (1000 * 64) / (8 * averageFrameSize);serviceTime = 8 * averageFrameSize / channelCapacity;varFrameSize = 4;varServiceTime = (64 * varFrameSize) / ( channelCapacity^2);SAR = 1;

    interArrivalTime = 0.04;varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2);ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 -arrivalRate*serviceTime));ETqSup = ETwSup + serviceTime;waitingTime(i) = ETqSup;i = i + 1;% 5 Email%%%%%%%%%%%%%%%%%%%%%%%%%%%averageFrameSize = 500;arrivalRate = (1000 * 4) / (8 * averageFrameSize);throughput = arrivalRate;

    serviceTime = 8 * averageFrameSize / channelCapacity;SAR = 1;ETs2 = (serviceTime * (1 + SAR))^2;%Mean buffer lengthENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime));ETw = ENw / throughput;ETq = ETw + serviceTime;waitingTime(i) = ETq;i = i + 1;% 6 FTP%%%%%%%%%%%%%%%%%%%%%%%%%%%averageFrameSize = 500;

    arrivalRate = (1000 * 55) / (8 * averageFrameSize);serviceTime = 8 * averageFrameSize / channelCapacity;varFrameSize = 4;varServiceTime = (64 * varFrameSize) / ( channelCapacity^2);SAR = 1;

  • 7/28/2019 Advanced Teletraffic Project 1

    5/22

    interArrivalTime = 0.5;varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2);ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 -arrivalRate*serviceTime));ETqSup = ETwSup + serviceTime;waitingTime(i) = ETqSup;i = i + 1;stem(waitingTime);

    grid onxlabel('Application Class Number')ylabel('Queueing Time')title('Latencies Versus Traffic Classes')

    The following is the graph of the latencies versus the various traffic classes.

    b- Very Peaky traffic SAR=10

    We used the same Matlab code as before but we replaced the SAR value by 10 instead of 1.

    The following is the obtained result.

  • 7/28/2019 Advanced Teletraffic Project 1

    6/22

    2) CS-4 time slot 8: channel capacity 171.2 Kbps

    a- Not peaky traffic: SAR=1

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 171.2 Kbps now and the SAR value is 1.The following is the obtained result.

    b- Very Peaky traffic SAR=10

  • 7/28/2019 Advanced Teletraffic Project 1

    7/22

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 171.2 Kbps now and the SAR value is 10.

    The following is the obtained result.

    B- EDGE technology:

    1) Time slot 1: channel capacity 69.2 Kbps

    a- Not peaky traffic: SAR=1

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 69.2 Kbps now and the SAR value is 1.

    The following is the obtained result.

  • 7/28/2019 Advanced Teletraffic Project 1

    8/22

    b- Very Peaky traffic SAR=10

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 69.2 Kbps now and the SAR value is 10.The following is the obtained result.

  • 7/28/2019 Advanced Teletraffic Project 1

    9/22

    2) Time slot 8: channel capacity 553.6 Kbps

    a- Not peaky traffic: SAR=1

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 553.6 Kbps now and the SAR value is 1.

    The following is the obtained result.

    b- Very Peaky traffic SAR=10

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 553.6 Kbps now and the SAR value is 10.

    The following is the obtained result.

  • 7/28/2019 Advanced Teletraffic Project 1

    10/22

    II- Type of queuing dispatching: Priority Resume

    A- GPRS technology:

    1) CS-1 time slot 1: channel capacity 9.05 Kbps

    % Priority Resume - GPRS - CS1 - 1 TimeSlotclear all;close all;classesNb = 6;%%%%%%%%%%%%%%%%%%%%%% Traffic Classes %%%%%%%%%%%%%%%%%%%%%%% 1 Voice Messaging %% 2 Telnet %% 3 Audio Streaming %

    % 4 Video Streaming %% 5 Email %% 6 FTP %%%%%%%%%%%%%%%%%%%%%%% CS1 - 1 TSchannelCapacity = 9.05 * 1000;% Ascending order = Shortest packet firstaverageFrameSize = [31, 64, 200, 320, 500, 500];arrivalRate = [10.7, 0.512, 20, 64, 4, 55];priorities = zeros(1,classesNb);

    prioritizedArrivalRate = zeros(1,classesNb);prioritizedAverageFrameSize = zeros(1,classesNb);% Assigning priorities for traffic classesfor i=1:classesNb

    priority = input ('Please assign class priority: ');prioritizedArrivalRate(i) = arrivalRate(priority);prioritizedAverageFrameSize(i) = averageFrameSize(priority);priorities(i) = priority;

    end% Getting the arrival rate vector in packet/sec with respect to the% assigned priorities

    for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 *averageFrameSize(i))); endserviceTime = zeros(1, classesNb);% Computing the mean frame service timefor i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) /channelCapacity; endvarFrameSize = zeros(1, classesNb);for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; endend

  • 7/28/2019 Advanced Teletraffic Project 1

    11/22

    varServiceTime = zeros(1, classesNb);% Computing service time variancefor i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2);endETs2 = zeros(1, classesNb);% Computing service time second order statisticsfor i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end

    ro = zeros(1, classesNb);ETw = zeros(1, classesNb);% Computing mean waiting time per class kfor k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); endfor k=1:classesNb,

    numerator = 0; denom1 = 0; denom2 = 0; for i=1:k, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0;

    elsefor i=1:k-1, denom1 = denom1 + ro(i); endend

    for j=1:k, denom2 = denom2 + ro(j); enddenominator = 2 * (1 - denom1) * (1 - denom2);ETw(k) = numerator / denominator;

    end% Computing mean queuing time (latency) per class kETqk = ETw + serviceTime;% Kleinrock's Conservation LawsumRo = sum(ro);r = 0;for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); endR = 0.5*r;p1 = zeros(1, classesNb);

    for i=1:classesNb, p1(i) = ro(i) * ETw(i); endp2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo)));e = zeros(1, classesNb);for i=1:classesNb, e(i) = p1(i) - p2; endsumE = sum(e);stem(ETqk);grid onxlabel('Application Class Number')ylabel('Queueing Time')title('Latencies Versus Traffic Classes')figurestem(p1,'b','LineWidth',3);

    grid onxlabel('Application Class Number')ylabel('Sum (ro * ETw)')title('Kleinrock Conservation Law')hold onfor i=1:6, p2Line(i) = p2; endplot(p2Line,'r');

    The following is a graph of latencies versus traffic classes and a graph showing if Kleinrock conservation

    law applies.

  • 7/28/2019 Advanced Teletraffic Project 1

    12/22

    Note here that Kleinrock's conservation law does not apply

    2) CS-4 time slot 8: channel capacity 171.2 Kbps

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 171.2 Kbps now.

  • 7/28/2019 Advanced Teletraffic Project 1

    13/22

    The following is a graph of latencies versus traffic classes and a graph showing if Kleinrock

    conservation law applies.

    Note here that Kleinrock's conservation law does not apply

    B- EDGE technology:

    1) Time slot 1: channel capacity 69.2 Kbps

  • 7/28/2019 Advanced Teletraffic Project 1

    14/22

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 69.2 Kbps now.

    The following is a graph of latencies versus traffic classes and a graph showing if Kleinrock

    conservation law applies.

    Note here that Kleinrock's conservation law does not apply

    2) Time slot 8: channel capacity 553.6 Kbps

  • 7/28/2019 Advanced Teletraffic Project 1

    15/22

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 553.6 Kbps now.

    The following is a graph of latencies versus traffic classes and a graph showing if Kleinrock

    conservation law applies.

    Note here that Kleinrock's conservation law does not apply

    III- Type of queuing dispatching : Priority Non Resume

    A- GPRS technology:

  • 7/28/2019 Advanced Teletraffic Project 1

    16/22

    1) CS-1 time slot 1: channel capacity 9.05 Kbps

    % Non Preemptive Resume - GPRS - CS1 - 1 TimeSlotclear all;close all;

    classesNb = 6;%%%%%%%%%%%%%%%%%%%%%% Traffic Classes %%%%%%%%%%%%%%%%%%%%%%% 1 Voice Messaging %% 2 Telnet %% 3 Audio Streaming %% 4 Video Streaming %% 5 Email %% 6 FTP %%%%%%%%%%%%%%%%%%%%%%

    % CS1 - 1 TSchannelCapacity = 9.05 * 1000;% Ascending order = Shortest packet firstaverageFrameSize = [31, 64, 200, 320, 500, 500];arrivalRate = [10.7, 0.512, 20, 64, 4, 55];priorities = zeros(1,classesNb);prioritizedArrivalRate = zeros(1,classesNb);prioritizedAverageFrameSize = zeros(1,classesNb);% Assigning priorities for traffic classesfor i=1:classesNb

    priority = input ('Please assign class priority: ');prioritizedArrivalRate(i) = arrivalRate(priority);prioritizedAverageFrameSize(i) = averageFrameSize(priority);priorities(i) = priority;

    end% Getting the arrival rate vector in packet/sec with respect to the% assigned prioritiesfor i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 *averageFrameSize(i))); endserviceTime = zeros(1, classesNb);

    % Computing the mean frame service timefor i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) /channelCapacity; endvarFrameSize = zeros(1, classesNb);for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end

    endvarServiceTime = zeros(1, classesNb);% Computing service time variancefor i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2);

  • 7/28/2019 Advanced Teletraffic Project 1

    17/22

    endETs2 = zeros(1, classesNb);% Computing service time second order statisticsfor i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; endro = zeros(1, classesNb);ETw = zeros(1, classesNb);% Computing mean waiting time per class k

    for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); endfor k=1:classesNb,

    numerator = 0; denom1 = 0; denom2 = 0; for i=1:classesNb, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0;

    elsefor i=1:k-1, denom1 = denom1 + ro(i); endend

    for j=1:k, denom2 = denom2 + ro(j); enddenominator = 2 * (1 - denom1) * (1 - denom2);ETw(k) = numerator / denominator;

    end% Computing mean queuing time (latency) per class kETqk = ETw + serviceTime;% Kleinrock's Conservation LawsumRo = sum(ro);r = 0;for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); endR = 0.5*r;p1 = zeros(1, classesNb);for i=1:classesNb, p1(i) = ro(i) * ETw(i); endp2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo)));e = zeros(1, classesNb);for i=1:classesNb, e(i) = p1(i) - p2; end

    sumE = sum(e);stem(ETqk);grid onxlabel('Application Class Number')ylabel('Queueing Time')title('Latencies Versus Traffic Classes')figurestem(p1,'b','LineWidth',3);grid onxlabel('Application Class Number')ylabel('Sum (ro * ETw)')title('Kleinrock Conservation Law')

    hold onfor i=1:6, p2Line(i) = p2; endplot(p2Line,'r');

  • 7/28/2019 Advanced Teletraffic Project 1

    18/22

    The following is a graph of latencies versus traffic classes and a graph showing if Kleinrock

    conservation law applies

    Note here that the Kleinrock's conservation law applies and sumE is equal to zero

    2) CS-4 time slot 8: channel capacity 171.2 Kbps

    The Matlab code used is the same as the previous one with the difference that the channel

    capacity is 171.2 Kbps now.

    The following is a graph of latencies versus traffic classes and a graph showing if Kleinrock

    conservation law applies.

  • 7/28/2019 Advanced Teletraffic Project 1

    19/22

    Note here that the Kleinrock's conservation law applies and sumE is equal to zero

    B- EDGE technology:

    1) Time slot 1: channel capacity 69.2 Kbps

  • 7/28/2019 Advanced Teletraffic Project 1

    20/22

    The Matlab code used is the same as the previous one with the difference that the channel capacity is

    69.2 Kbps now.

    The following is a graph of latencies versus traffic classes and a graph showing if Kleinrock

    conservation law applies.

    Note here that the Kleinrock's conservation law applies and sumE is equal to zero

    2) Time slot 8: channel capacity 553.6 Kbps

    The Matlab code used is the same as the previous one with the difference that the channel capacity is

    553.6 Kbps now.

  • 7/28/2019 Advanced Teletraffic Project 1

    21/22

    The following is a graph of latencies versus traffic classes and a graph showing if Kleinrock

    conservation law applies.

    Note here that the Kleinrock's conservation law applies and sumE is equal to zero

    Discussion:

  • 7/28/2019 Advanced Teletraffic Project 1

    22/22

    As we saw from the graphs verifying the Kleinrock's conservation law which

    states that The average waiting time for all classes weighted by the traffic (load) of

    the mentioned class, is independent of the queue discipline.

    We may thus give a small proportion of the traffic a very low waiting time, without

    increasing the average waiting time of the remaining customers very much. By

    various strategies we may allocate waiting times to individual customers according

    to our preferences.