36
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG ====o0o==== BÁO CÁO BÀI TẬP LỚN MÔN CƠ SỞ TRUYỀN SỐ LIỆU ĐỀ TÀI: ĐO HIỆU NĂNG VÀ MÔ PHỎNG HÀNG ĐỢI M/M/1/K GVHD : TS.Trần Thị Ngọc Lan

KiloBooks.com BaoCaoCSTSL

Embed Size (px)

DESCRIPTION

ĐỀ TÀI: ĐO HIỆU NĂNG VÀ MÔ PHỎNG HÀNG ĐỢI M/M/1/K

Citation preview

Bo co BTL C S Truyn S Liu2012

TRNG I HC BCH KHOA H NIVIN IN T VIN THNG====o0o====

BO COBI TP LN MN C S TRUYN S LIU

TI: O HIU NNG V M PHNG HNG I M/M/1/K

GVHD : TS.Trn Th Ngc Lan

Chi Tit TiBi 3: o hiu nng ca hng i M/M/1/KCho hng i n M/M/1/K nh hnh v.

3.1. S dng kin thc hng i hc tnh xc sut gi li Pe, N, Nq, T, Tq. Cc tham s hng i nh sau: tc trung bnh ca gi n hng i =50gi/s; ti =0,6; di hng i K=8.3.2. Dng OMNET++ thit lp mt kch bn m phng cho hng i vi cc tham s cho trong 3.1. o Tnh cc tham s hiu nng nh trn vi thi gian chy m phng 200s. o V th tc mt gi e(t) (tnh bng gi/s) v di hng i tc thi nq(t). o So snh v kt lun so vi kt qu tnh ton trong 3.1. 3.3. Tng t nh 3.2, tuy nhin vi tham s =1. 3.4. Tng t nh 3.2, tuy nhin vi K=10. C kt lun g v cc kt qu thu c? 3.5. Gi s hng i trn c xc sut mt gi ti a l 10%. Hy la chn gi tr K thch hp. Vi gi tr K va tm c hy chy m phng. nh gi xem mng va m phng c t c xc sut mt gi ti a l 10% hay khng?

MC LC

LI NI U.4CHNG 1: TM HIU TI51.1Tm hiu ti v phn cng cng vic51.2Tm hiu v Omnet++61.3M hnh hng i M/M/1/K9CHNG 2: O HIU NNG CA HNG I M/M/1/K............10 2.1Tnh xc sut gi li Pe, N, Nq, T, Tq102.2 M phng cho hng i vi =50 gi/s, p=0.6, k=8 trong 200s.................11 2.2.1 Tnh cc tham s hiu nng..................................................................112.2.2 V th tc mt gi e(t) ................................................................122.2.3 So snh v kt lun so vi kt qu tnh ton trong 2.1...................132.3M phng cho hng i vi cc tham s =1182.4M phng cho hng i vi cc tham s K=10212.5Tnh ton kch thc hng i xc sut li gi ti a l 10%242.6nh gi m phng25CHNG 3: KT LUN26TI LIU THAM KHO28

LI NI UNgnh in t -Vin thng l mt trong nhng ngnh cng nghip mi nhn cho bt k quc gia no mun pht trin kinh t, c bit l mt nc ang pht trin nh nc ta. Thy c tm quan trng ca nhn lc ngnh in t-Vin thng trong tng lai, vin in t-Vin thng, trng i hc Bch Khoa H Ni khng nhng ch trng vo kin thc nn tng cho sinh vin v chuyn ngnh m cn to iu kin cho sinh vin thc hnh, t tay lm ra nhng sn phm in t. Vi mn hc ny, di s ch dy ca TS. Nguyn Th Lan,chng em cng c c hi c vn dng nhng kin thc c hc trn ging ng vo bi tp ln. Trong mn c s mng thng tin k ny, chng em c tm hiu nhng kin thc chung v c s mng, i su tm hiu kin thc v truyn dn thng tin,chng em chia bi bo co lm 3 phn chnh.Chng 1: Tm hiu ti.Chng 2: o hiu nng ca hng i M/M/1/K.Chng 3: Kt lunDo trnh , kin thc cn hn ch nn bi tp ln chc chn cn nhiu sai st, mong c gp kin thc v k nng mn hc ngy cng hon thin hn.Chng em xin chn thnh cm n c gip chng em trong qu trnh hc tp!

CHNG 1: TM HIU TI

1.1:Tm hiu ti v phn cng cng vic

1.1.1: Tm hiu tia) Mc tiu- Kim nghim cc kt qu phn tch, nh gi h thng khi dng phn tch tnh ton v phng php m phng cc h thng thng tin, c th i vi ti ny l mng hng i.- Lm quen vi cng c m phng OMNET++, cng c m phng mng thng dng nht hin nay.- Pht trin k nng lm vic nhm v k nng lm vic c lp.b) Nn tng c bn- Kin thc v mn c s truyn s liu, c bit v phn mng hng i.- Bit cch tm v c ti liu trn mng, sch,c) Yu cu cn t c- Thc hin c ht cc yu cu ca bi cho.- Bit cch m phng hng i M/M/1/K v hiu c cc thng s c bn khi m phng vi phn mm OMNet++.- Nng cao k nng hot ng nhm v lm vic c lp. - Tm hiu phn mm m phng OMNeT++.- Xy dng c m hnh hng i M/M/1/K trong phn mm m phng, a ra c cc thng s bi yu cu.- X l cc thng s hon thnh cc cu hi.

1.1.2: Phn cng cng vic c th

Tm hiu l thuyt v hng i M/M/1K Tm hiu v hc Omnet++ M phng h thng

Tm hiu l thuyt v hng i M/M/1K Phn tch yu cu bi, dng kch bn

Tm hiu l thuyt v hng i M/M/1K Tm hiu cch tnh cc tham s da vo kt qu m phng

C nhm Thng k v vit bo co

Thi gian bt u : 15/10/2012Thi gian kt thc: 10/12/2012

1.2:Tm hiu v Omnet

a.Omnet++ l g? OMNeT++ l vit tt ca cm t Objective Modular Network Testbed in C++. OMNeT++ l mt ng dng cung cp cho ngi s dng mi trng tin hnh m phng hot ng ca mng. Mc ch chnh ca ng dng l m phng hot ng mng thng tin, tuy nhin do tnh ph cp v linh hot ca n, OMNeT++ cn c s dng trong nhiu lnh vc khc nh m phng cc h thng thng tin phc tp, cc mng kiu hng i (queueing networks) hay cc kin trc phn cng... OMNeT++ cung cp sn cc thnh phn tng ng vi cc m hnh thc t. Cc thnh phn ny (cn c gi l cc module) c lp trnh theo ngn ng C++, sau c tp hp li thnh nhng thnh phn hay nhng m hnh ln hn bng mt ngn ng bc cao (NED). OMNeT++ h tr giao din ho, tng ng vi cc m hnh cu trc ca n ng thi phn nhn m phng (simulation kernel) v cc module ca OMNeT++ cng rt d dng nhng vo trong cc ng dng khc.

b.Cc thnh phn chnh ca Omnet++ Th vin phn nhn m phng (simulation kernel) Trnh bin dch cho ngn ng m t hnh trng (topology description language) - NED (nedc) Trnh bin tp ho (graphical network editor) cho cc file NED (GNED) Giao din ho thc hin m phng, cc lin kt bn trong cc file thc hin m phng (Tkenv) Giao din dng lnh thc hin m phng (Cmdenv) Cng c (giao din ho) v th kt qu vector u ra (Plove) Cng c (giao din ho) m t kt qu v hng u ra (Scalars) Cng c ti liu ho cc m hnh Cc tin ch khc Cc ti liu hng dn, cc v d m phng...

c.ng dng: OMNeT++ l mt cng c m phng cc hot ng mng bng cc module c thit k hng i tng. OMNeT++ thng c s dng trong cc ng dng ch yu nh: M hnh hot ng ca cc mng thng tin M hnh giao thc M hnh ho cc mng kiu hng i M hnh ho cc h thng a b vi x l (multiprocesser) hoc cc h thng phn cng theo m hnh phn tn khc (distributed hardware systems) nh gi kin trc phn cng nh gi hiu qu hot ng ca cc h thng phc tp...

d.M hnh trong Omnet++ Mt m hnh trong OMNeT++ bao gm cc module lng nhau c cu trc phn cp. su ca ca cc module lng nhau l khng gii hn, iu ny cho php ngi s dng c th biu din cc cu trc logic ca cc h thng trong thc t bng cc cu trc m hnh. Cc module trao i thng tin vi nhau thng qua vic gi cc message (message). Cc message ny c th c cu trc phc tp tu . Cc module c th gi cc message ny theo hai cch, mt l gi trc tip ti a ch nhn, hai l gi i theo mt ng dn c nh sn, thng qua cc cng v cc kt ni. Cc module c th c cc tham s ca ring n. Cc tham s ny c th c s dng chnh sa cc thuc tnh ca module v biu din cho topology ca m hnh. Cc module mc thp nht trong cu trc phn cp ng gi cc thuc tnh. Cc module ny c coi l cc module n gin, v chng c lp trnh trong ngn ng C++ bng cch s dng cc th vin m phng.

e.Cu trc lin kt ca mt chng trnh m phng:

*.ned l cc file m t topo mng cng nh cu trc ca cc modul, n s dng ngn ng NED (NEwork Description ), l ngn ng chuyn bit dng ring cho OmNet++. S pht trin tip theo ca NED l GNED (Graphic NED) lm cho vic m t topo mng c trc quan hn bng cch dng cc cng c ho m t. Cc file ned sau c NEDC (NED compiler) dich sang code C++ m t cu trc mng sang ngn ng C++ di dng file *_.cc. Cc file x l ca cc simple moduls l phn ct li khi vit chng trnh m phng v c vit bng ngn ng C++ bng cch k tha cc lp c sn ca OmNet++, ngi vit trin khai cc hot ng ca mng nh nh tuyn, x l gi tin n v i, xc nh hnh vi ca cc simple modul c m t trong *.ned khi c s kin xy ra vi n. Th vin li ca chng trnh m phng c cung cp bi OmNet++ n bao gm rt nhiu cc lp v cc hm c sn phc v cho chng trnh m phng nh cc lp cSimplemodul, cMessage..., cc hm ngu nhin Th vin giao din ngi dng cung cp giao din cho chng trnh m phng. OmNet++ vi cc phin bn gn y s dng hai kiu giao din l giao din dng lnh cmd (command) v giao din ho da trn tcl/tk. Giao din ho rt trc quan nn c a dng hn. Sau khi dch v lin kt ta c mt chng trnh m phng da trn nn OmNet++. File omnetpp.ini khi ng cc gi tr cn thit. omnetpp.ini do ngi lp trnh vit, n rt quan trng chy mt chng trnh m phng vi cc tham s c thay i c c kt qu thng k mong mun. Cui cng l cc file kt qu bao gm file *.vec l cc file vector, n l cc bin thay i theo thi gian trong qu trnh m phng, gi tr ca bin v thi gian tng ng c lu vo file ny. Trong qu trnh vit code s xc nh bin no c lu. File *.sna phc v cho qu trnh sa li. File *.sca (scalar file) lu cc gi tr thng k c c sau khi kt thc m phng, v d nh s cuc gi thc hin s cuc gi b t chi x l kt qu thng k t c, ta c th vit mt chng trnh nh hoc s dng cc cng c c sn. OmNet++ cung cp chng trnh Plove v cc file *.vec, cn i vi cc file *.sca ta c th dng mt chng trnh tnh ton bt k.

1.3: M hnh hng i M/M/1/K

Cc cng thc tnh ton:

Xc sut li gi : Pe = k S yu cu trung bnh c trong h thng: N= (k+1)

S yu cu trung bnh trong hng i: Nq =

Thi gian mt yu cu phi i trong h thng: T=

Thi gian mt yu cu phi i trong hng i: Tq=

CHNG 2: O HIU NNG CA HNG I M/M/1/K

2.1.1 Xc sut li gi

Pe = k = 0.68 = 0.00682.1.2 S yu cu trung bnh c trong h thngN= (k+1)==1.41(gi)2.1.3 S yu cu trung bnh trong hng iNq===0.81 (gi)2.1.4 Thi gian mt yu cu phi i trong h thngT== = 0.028(s)2.1.5 Thi gian mt yu cu phi i trong hng iTq= = = 0.016(s)

3.2 M phng vi: =50 gi/s, p=0.6, k=8 trong 200sCc file cn thit trong qu trnh m phng:

Code: HangDoi.ini (file cu hnh)network = Network1eventlog-file = new.elogrecord-eventlog = truesim-time-limit = 200s //thi gian m phng **.numJobs = -1 // -1 ngha l s gi l v cng**.serviceTime = exponential(1s/83)// tc phc v = 83 gi/s**.queue.capacity = 10 //kch thc hng i K**.interArrivalTime = exponential(1s/50)//tc n = 50 gi/s

Code: Queue.cc (file cn thay i)#include "Queue.h"#include "Job.h"

namespace queueing {

Define_Module(Queue);

Queue::Queue(){ jobServiced = NULL; endServiceMsg = NULL;}

Queue::~Queue(){ delete jobServiced; cancelAndDelete(endServiceMsg);}

void Queue::initialize(){ droppedSignal = registerSignal("dropped"); queueingTimeSignal = registerSignal("queueingTime"); queueLengthSignal = registerSignal("queueLength"); emit(queueLengthSignal, 0); busySignal = registerSignal("busy"); emit(busySignal, 0);

TocDoMatGoiSignal = registerSignal("TocDoMatGoi"); emit(TocDoMatGoiSignal,0);

totalDrop = 0; timeStart = 0; totalFlow = 0; endServiceMsg = new cMessage("end-service"); fifo = par("fifo"); capacity = par("capacity"); queue.setName("queue");}

void Queue::handleMessage(cMessage *msg){ if (msg==endServiceMsg) { endService( jobServiced ); if (queue.empty()) { jobServiced = NULL; emit(busySignal, 0); } else { jobServiced = getFromQueue(); emit(queueLengthSignal, length()); simtime_t serviceTime = startService( jobServiced ); scheduleAt( simTime()+serviceTime, endServiceMsg ); } } else { Job *job = check_and_cast(msg); arrival(job);

if (!jobServiced) { // processor was idle jobServiced = job; emit(busySignal, 1); simtime_t serviceTime = startService( jobServiced ); scheduleAt( simTime()+serviceTime, endServiceMsg ); } else { // check for container capacity if (capacity >=0 && queue.length() >= capacity) { EV = 1){ emit(TocDoMatGoiSignal, (float)totalDrop/(simTime().dbl()- timeStart)); timeStart = simTime().dbl(); totalDrop = 0; }

delete job; return; } queue.insert( job ); emit(queueLengthSignal, length()); job->setQueueCount(job->getQueueCount() + 1); } }

if (ev.isGUI()) getDisplayString().setTagArg("i",1, !jobServiced ? "" : "cyan3");}

Job *Queue::getFromQueue(){ Job *job; if (fifo) { job = (Job *)queue.pop(); } else { job = (Job *)queue.back(); // FIXME this may have bad performance as remove uses linear search queue.remove(job); } return job;}

int Queue::length(){ return queue.length();}

void Queue::arrival(Job *job){ job->setTimestamp();}

simtime_t Queue::startService(Job *job){ // gather queueing time statistics simtime_t d = simTime() - job->getTimestamp(); emit(queueingTimeSignal, d); job->setTotalQueueingTime(job->getTotalQueueingTime() + d); EV getTotalServiceTime() + d); send(job, "out");

}

void Queue::finish(){}

}; //namespace

+ Hnh nh m phng

Cch tnh cc tham s yu cu t kt qu m phng: Xc sut li gi: Pe = (dropped)/(dropped+count(lifeTime:Vector)) S yu cu trung bnh c trong h thng: N = queueingLength:timeavg + S yu cu trung bnh trong hng i: Nq = queueingLength:timeavg Thi gian mt yu cu phi i trong h thng: T = lifeTime:mean Thi gian mt yu cu phi i trong hng i: Tq = queueingTime:mean

di hng i tc thi

Tc mt gi

D liu thu c

Kt qu tnh ton theo m phng: Xc sut li gi: Pe = 45/(10125+45) = 0.0044 S yu cu trung bnh c trong h thng: N = 1.49 S yu cu trung bnh trong hng i: Nq = 0.89 Thi gian mt yu cu phi i trong h thng: T = 0.029s Thi gian mt yu cu phi i trong hng i: Tq = 0.018sNhn xt: Kt qu m phng kh ging vi l thuyt, ch c s sai khc ln nht Pe.

L thuytM phng

Pe0.00680.0044

N1.411.49

Nq0.810.89

T0.028s0.029s

Tq0.016s0.018s

3.3 Thay =13.3.1 L thuytXc sut li giPe = = = 0.111S yu cu trung bnh trong h thngN = = = 4 (gi)S yu cu trung bnh trong hng iNq = = = 3.556 (gi)Thi gian mt yu cu phi i trong h thngT = = = 0.09 (s)Thi gian mt yu cu phi i trong hng iTq = = = 0.08 (s)3.3.2 M phng

di hng i tc thi

Tc mt gi

D liu thu c

Kt qu tnh ton theo m phng: Xc sut li gi: Pe = 1026/(8970+1026) = 0.1026 S yu cu trung bnh c trong h thng: N = 4.07 S yu cu trung bnh trong hng i: Nq = 3.47 Thi gian mt yu cu phi i trong h thng: T = 0.10s Thi gian mt yu cu phi i trong hng i: Tq = 0.08sNhn xt: Kt qu m phng rt st vi tnh ton l thuyt. Tuy nhin khi tng ln 1 th xc sut li gi Pe tng ln ng k. Cc tham s khc N, Nq, T, Tq cng tng ln.

L thuytM phng

Pe0.1110.1026

N44.07

Nq3.5563.47

T0.09s0.10s

Tq0.08s0.08s

3.4. Vi K=103.4.1 L thuytXc sut li gi Pe = k = 0.610 = 0.0024S yu cu trung bnh trong h thng N = (k+1) = - (10+1) = 1.45 (gi)S yu cu trung bnh trong hng i Nq = - = - = 0.86 ( gi )Thi gian mt yu cu phi i trong h thng T = = = 0.029 (s)Thi gian mt yu cu trong hng i Tq = = = 0.0172 (s)3.4.2 M phng di hng i tc thi

Tc mt gi

D liu thu c

Kt qu tnh ton theo m phng: Xc sut li gi: Pe = 11/(9978+11) = 0.0011 S yu cu trung bnh c trong h thng: N = 1.47 S yu cu trung bnh trong hng i: Nq = 0.87 Thi gian mt yu cu phi i trong h thng: T = 0.029s Thi gian mt yu cu phi i trong hng i: Tq = 0.0174sNhn xt: S sai khc gia m phng v l thuyt nm xc sut li Pe, cn li hu nh khng ng k. So vi trng hp K=8 ban u (cng , ) th xc sut li gim xung kh nhiu. Cc tham s khc cng gim tng ng Tng di K hng i th xc sut li gim( vi , khng i).L thuytM phng

Pe0.00240.0011

N1.451.47

Nq0.860.87

T0.029s0.029s

Tq0.0172s0.0174s

3.4. Vi xc sut mt gi ti a l 10%. La chn gi tr K thch hp. Sau m phng v nh gi-Ta c cng thc tnh xc sut mt gi: Pe = kVi = 0.6 v Pe = 3.Chn K=3 v tin hnh m phng ta thu c kt qu nh sau:

Xc xut li gi l: Pe = 569/(9462+569) = 0.0567 =5.67% Tha mn yu cu. Vy chiu di hng i K >= 3 th xc sut mt gi s