Nodiadau ar Fecanweithiau Ciw¶
Cyffredinol¶
Mae Ciw yn defnyddio dull amserlenni digwyddiadau (event scheduling) [SW14] , sy'n debyg i'r dull tri cham. Yn y dull amserlenni digwyddiadau mae yna tri math o ddigwyddiad: mae Digwyddiadau-A yn symud y cloc ymlaen, Digwyddiadau-B yw'r digwyddiadau a drefnwyd o flaen llaw, a Digwyddiadau-C yw'r digwyddiadau sy'n cael ei achosi oherwydd bod Digwyddiadau-B wedi digwydd.
Fan hyn mae Digwyddiadau-A yn cyfateb a symud y cloc ymlaen i'r Digwyddiad-B nesaf. Mae Digwyddiadau-B yn cyfateb a naill ai dyfodiad allanol, cwsmer yn gorffen gwasanaeth, neu newid sifft gweinydd. Mae Digwyddiadau-C yn cyfateb a chwsmer yn dechrau gwasanaeth, rhyddhau cwsmer o nod, a chwsmer yn cael ei flocio neu ddadflocio.
Yn y dull amserlenni digwyddiadau, mae'r proses canlynol yn digwydd:
Ymgychwyn yr efelychiad
Cyfnod A: symud y cloc ymlaen i'r digwyddiad nesaf
Cymerwch Digwyddiad-B sydd wedi'i threfnu ar gyfer nawr, cario allan y digwyddiad hwnnw
Cario allan holl Digwyddiadau-C a wnaeth cael eu hachosi achos y digwyddiad yn (3.)
Ailadroddwch (3.) - (4.) nes bod pob Digwyddiad-B sydd wedi'i threfnu ar gyfer nawr wedi'r cario allan
Ailadroddwch (2.) - (5.) nes bodloni'r meini prawf gorffen
Mecanwaith Blocio¶
Yn Ciw, gweithredir blocio o Fath I (blocio ar ôl gwasanaeth) ar gyfer rhwydweithiau cyfyngedig.
Ar ôl gwasanaeth mae cyrchfan nesaf y cwsmer wedi'i samplu o'r matrics trosglwyddo. Os oes lle yn y nod cyrchfan, bydd y cwsmer yn ymuno a'r nod yna ac yn dechrau ciwio yna. Fel arall os yw cynhwysydd ciwio'r nod cyrchfan yn llawn, yna bydd y cwsmer yn cael ei flocio. Mae'r cwsmer yn aros yn ei nod, gyda'r gweinydd, nes bod lle ar gael yn y cyrchfan. Golygir hwn fod y gweinydd a oedd yn gweini’r cwsmer yna yn aros yn sownd i'r cwsmer, a ni all y gweinydd yna gweini unrhyw gwsmer arall neu fod y cwsmer yna yn cael ei dadflocio.
Ar amser y flocio ychwanegwyd gwybodaeth am y blocio i blocked_queue
y nod cyrchfan, ciw rhithwir sy'n cynnwys gwybodaeth am y cwsmeriaid sydd wedi blocio i'r nod yna, yn ogystal â'r trefn a flociwyd hwy
Felly mae'r dilyniant dadflocio yn digwydd yn drefn a flociwyd y cwsmeriaid.
Fe all blocio cylchol arwain at llwyrglo.
Digwyddiadau Cydamserol¶
Mewn efelychu digwyddiadau arwahanol, mae digwyddiadau cydamserol yn anochel. Hynny yw dau neu fwy o ddigwyddiadau wedi'i threfnu i ddigwydd ar yr un pryd. Fodd bynnag, oherwydd natur efelychiadau digwyddiadau arwahanol, ni all cario allan y digwyddiadau hyn ar yr un pryd, a gall trefn a chariwyd allan y digwyddiadau yma effeithio'u canlyniadau yn fawr. Er enghraifft, os yw dau gwsmer yn cyrraedd system M/M/1 gwag ar yr un pryd: pa gwsmer ddylai dechrau gwasanaeth yn syth a pa gwsmer dylai aros?
I atal unrhyw fias yn Ciw, pryd bynnag mae mwy nag un digwyddiad wedi'i threfnu i ddigwydd yn gydamserol, dewisir y digwyddiad nesaf ar hap yn unffurf o'r rhestr digwyddiadau.