Кіріспе

Компьютер желілеріндегі өнімділікті шектейтін құбылыс Компьютер желілеріндегі желі блоктауы (HOL блоктауы) - бұл пакеттер кезегі кезектегі бірінші пакеттен ұсталған кезде пайда болатын өнімділікті шектейтін құбылыс. Бұл, мысалы, кіріс буферленген желілік коммутаторларда, тапсырыссыз жеткізуде және HTTP құбыржолдарында бірнеше сұрауларда кездеседі.

Желідегі коммутаторлар

Коммутатор буферленген кіру порттарынан, буферленген шығыс порттарынан және буферленген қосылу желісінен құралуы мүмкін. Егер бірінші кіріп, бірінші шығып (FIFO) кіру буферлері қолданылса, тек ең ескі пакет қана жіберу үшін қол жетімді болады. Егер ең ескі пакет оның мақсатты шығысы бос болғандықтан берілмейтін болса, онда жақында келгендер жіберілмейді. Шығыс қақтығысы болса, шығыс бос болуы мүмкін. HOL блоктауы болмаса, жаңа келгендер, мүмкін, олардың тиісті бағыттарына ең ескі қаптаманы айналып өтуі мүмкін. HOL блоктауы кіріс буферлі жүйелерде өнімділікті төмендетеді. Бұл құбылыс коммутаторлардың өткізу қабілетін шектейді. FIFO кіріс буферлері үшін бірыңғай бөлінген мақсаттарға арналған тұрақты өлшемді элементтердің қарапайым моделі, байланыс саны ұлғая түскен сайын, өткізуді жалпының 58,6% -ына дейін шектеуге әкеледі. Бұл шектеуді жеңудің бір жолы виртуалды шығыс кезектерін пайдалану. Тек кірме буфері бар коммутаторлар ғана HOL блоктауына ұшырай алады. Ерекше ішкі жолақтылықпен кіру буферлеу қажет емес; барлық буферлеу шығыстарда жүргізіледі және HOL блоктаудан аулақ болады. Бұл кірме буферлік архитектура шағын және орта Ethernet коммутаторларында жиі кездеседі.

Тапсырыссыз жеткізілім

Ретсіз жеткізу ретсіз келген пакеттер келіп жеткенде пайда болады. Бұл пакеттердің әртүрлі жолмен өтуі немесе пакеттердің түсірілуі мен қайта жіберілуі салдарынан болуы мүмкін. HOL блоктауы пакеттерді қайта реттеуді едәуір арттырады. Көптеген теңдестер арасында жоғалтулар бар желі арқылы хабарламаларды сенімді тарату қиын мәселе. Атомдық тарату алгоритмдері орталықтандырылған серверлердің бірде-бір сәтсіздік проблемасын шешсе, бұл алгоритмдер желі блоктау мәселесін енгізеді. Бимодальдік мультикаст алгоритмі - ушак протоколын пайдаланатын кездейсоқ алгоритм, кейбір хабарламалардың ретсіз қабылдануына мүмкіндік беріп, желі блоктауын болдырмайды.

HTTP-де

HTTP/1.1 HOL блоктауының бір түрі - браузерде рұқсат етілген қатарлы сұраулар саны толғанда, келесі сұраулар алдыңғылардың аяқталуын күтуі керек. HTTP/2 бұл мәселені сұрауды мультиплекстеу арқылы шешеді, бұл HOL блоктауын қолданбалық қабатта жояды, бірақ HOL әлі де тасымалдау (TCP) қабатта бар.

Сенімді байт ағынында

Желі блоктауының басталуы сенімді байт ағынында болуы мүмкін: егер пакеттер қайта реттелсе немесе жоғалса және қайта берілуі қажет болса (және осылайша ретсіз келсе), ағындардың ретті түрде кейінгі бөліктерінен алынған деректер ағыстың ретті түрде ертерек бөліктеріне дейін қабылдануы мүмкін; дегенмен, кейінгі деректер әдетте ертерек деректер алынғанға дейін пайдаланыла алмайды, бұл желілік кідіріске әкеледі. Егер бірнеше тәуелсіз жоғары деңгейдегі хабарлар бір сенімді байт ағынына еніп, көп рет қосылса, онда желі блоктауы кейіннен жіберілген толық қабылданған хабарды өңдеуге себеп болуы мүмкін. Бұл, мысалы, HTTP/2 әсер етеді, ол бірнеше сұрау-жауап жұптарын бір ағынға қоршайды; HTTP/3, ол қолданбалық қабаттың қоршау дизайнына ие және ағынды тасымалдаудың орнына датаграмманы пайдаланады, бұл мәселені болдырмайды. Желі блоктауының басталуынан болатын латенттілік төмендеуі негізгі пакет жоғалту деңгейіне және оралу уақытына байланысты, ал жоғары шығындар нашарлатылған латенттілікке әкеледі. Ағынды абстракцияны өзгертпей-ақ, пакет жоғалтуды азайту желі блоктаудың зияндылығын азайта алады; басқаша нұсқа - артық деректерді жіберу үшін алдын-ала қателерді түзетуді қолдана отырып, сенімді байт ағынын іске асыру, сондықтан қайта берілусіз белгілі бір мөлшерде жоғалтуларға төзуге болады.