Кіріспе
Жүктілігі теңгерілген коммутатор – орталық арбитражсыз 100% өнімділікті қамтамасыз ететін коммутатор архитектурасы, бірақ әрбір пакетті көлденең тіректе екі рет жіберуге түседі. Жүктілігі теңгерілген коммутаторлар практикалық орталық арбитраж мүмкін болмайтын үлкен маршрутизаторларды зерттеу тақырыбы болып табылады.
Кіріспе
Интернет-маршрутизаторлар әдетте коммутатормен қосылған желілік карталар арқылы құрастырылады. Орташа жалпы өткізу қабілетін қолдайтын маршрутизаторлар өздерінің коммутаторы ретінде шинаны пайдалана алады, бірақ жоғары өткізу қабілетіне ие маршрутизаторлар көбінесе қандай да бір қиылысқан байланыс желісін қолданады. Қиылысқан желіде әрбір шығыс бір кіріске қосылады, сондықтан ақпарат барлық шығыстар арқылы бір уақытта өте алады. Пакеттік коммутация үшін қолданылатын қиылысқан желілер әдетте секундына ондаған миллион рет қайта конфигурацияланады. Бұл конфигурациялардың кестесін орталық төреші, мысалы, Wavefront төрешісі, желілік карталардың бір-біріне ақпарат жіберу туралы сұраныстарын қарастыра отырып анықтайды. Мүкел арбитраж жағдайында өткізу қабілеті тек қиылысқан желінің әрбір кірісінің немесе шығысының максималды өткізу қабілетімен ғана шектеледі. Мысалы, егер A және B желілік карталарына келіп түсетін барлық трафик C желілік картасына бағытталған болса, онда A және B карталары бірлесіп өңдей алатын максималды трафик C картасымен шектеледі. Мүкел арбитражға қажетті есептеулердің көлемі қиылысқан желідегі порттар санынан әлдеқайда тез өседі дегені дәлелденді. Практикалық жүйелер мүкел емес арбитраж эвристикасын (мысалы, iSLIP) пайдаланады, оны қолдануға оңай уақыт ішінде есептеуге болады. Жүктеме теңгерілген коммутатор, жүктемені теңгерілген коммутатормен байланысты емес, ол веб-серверлер фермасының алдындағы бөлік ретінде қолданылатын, бір веб-сайтқа келіп түсетін сұрауларды көптеген серверлерге таратуға арналған маршрутизатордың бір түрін білдіреді.
Негізгі архитектура
Оң жақтағы суретте көрсетілгендей, жүктеме теңгерілген коммутаторда N кіріс желілік картасы бар, әрқайсысы R жылдамдығында, және әрқайсысы R/N жылдамдығындағы байланыс арқылы N буферге қосылған. Бұл буферлер өз кезегінде R жылдамдығындағы әрқайсысы N шығыс желілік картасына R/N жылдамдығындағы байланыстар арқылы қосылады. Ортадағы буферлер N виртуалды шығыс кезектеріне бөлінген. Әрбір кіріс желілік картасы өз пакеттерін N буферге тең бөледі, бұл оның кедергісіз жасай алатыны анық. Әрбір буфер бұл пакеттерді R жиынтық жылдамдығымен бір буферлік жергілікті жадқа жазады. Сонымен қатар, әрбір буфер әр виртуалды шығыс кезегінің басындағы пакеттерді әр шығыс желілік картасына R/N жылдамдығымен, әр картаға жібереді. Шығыс желілік картасы бұл пакеттерді ешқандай кедергісіз желіге шығара алады. Жүктеме теңгерілген коммутатордағы әрбір буфер ортақ жад коммутаторы ретінде әрекет етеді, ал жүктеме теңгерілген коммутатор – ортақ жад коммутаторын кеңейтудің бір жолы, бірақ R/N жылдамдығымен пакеттерді екі рет жіберуге байланысты қосымша кешігу туындайды. Жүктеме теңгерілген коммутаторларды зерткен Стенфорд тобы буферлер саны желілік карталар санына тең болатын жүзеге асыруларға назар аударады. Әрбір желілік картаға бір буфер орналастырылады, ал екі өзара байланыс желісі шындығында бірдей желі болып табылады, ол әрбір желілік карталар жұбы арасында 2R/N жылдамдығын қамтамасыз етеді. Бірақ жүктеме теңгерілген коммутатордың негізгі архитектурасы буферлерді желілік карталарға орналастыруды немесе буферлер мен желілік карталардың санының бірдей болуын талап етпейді. Жүктеме теңгерілген коммутатордың бір қызықты қасиеті – желілік карталарды буферлерге жалғайтын желі әрбір желілік картаны әрбір буферге қосуы керек болғанымен, желінің бұғаттамайтын қима ретінде жұмыс істеуі немесе қосылымдардың трафик үлгісіне жауап беруі міндетті емес. Мұндай байланыс орталықтандырылған арбитраждық қимадан әлдеқайда қарапайым.
Пакеттерді тәртіпте ұстау
Егер бір шығысқа бағытталған екі пакет желілік картаға тікелей келіп жетсе, олар екі түрлі буферге бөлінеді, олардың толтырылу деңгейі әртүрлі болуы мүмкін, сондықтан пакеттер шығысқа жеткен кезде реті өзгеріп кетуі мүмкін. Ретті өзгерту рұқсат етілгенімен, көбінесе ол қанағаттандырмайды, себебі TCP пакеттердің реті ауысқанда тиімді жұмыс істемейді. Жүктемені тең бөлуді қамтамасыз ететін коммутатор, қосымша кешігу мен буферлеу арқылы, ағындар ішінде пакеттердің ретін тек жергілікті ақпаратты қолдана отырып сақтай алады. Мұндай алгоритмдердің бірі – FOFF (Fully Ordered Frames First). FOFF патологиялық трафик үлгілеріне қатысты осалдықты жою және басымдықтарды іске асыру үшін механизм ұсыну сияқты қосымша артықшылықтарға ие.
Бір чипті арқан + жүктемені теңгерту арбитражы
Стэнфорд университетінің Tiny Tera жобасы (Абрициоға қараңыз) коммутациялық архитектураны ұсынды, ол коммутациялық матаның өзі үшін (қайырмалы кесінді және төреші) кем дегенде екі чип дизайнын талап етті. Төрешті жүктемені теңгертуді қоса жаңарту және осы құрылғыларды біріктіру сенімділік, құн және өнімділік бойынша артықшылықтар бере алады.
Жалғыз ғаламдық маршрутизатор
Жүктілікпен теңдестірілген коммутатордағы желілік карталар бір-біріне физикалық жақын болудың қажеті болмағандықтан, мүмкін болатын бір шешім – бүкіл континенттік немесе жаһандық көлемдегі тірек желісін өзара байланыс желісі ретінде, ал негізгі маршрутизаторларды "желілік карталар" ретінде пайдалану. Мұндай шешімнің кемшілігі – барлық кідіріс уақыты ең нашар жағдайдағы беріліс кідірісінің екі есесіне дейін ұзарады. Бірақ оның бірқатар қызықты артықшылықтары бар: Ірі тірек пакеттік желілер әдетте сыйымдылықты дұрыс жоспарлау, тығындар және басқа да мәселелерді шешу үшін үлкен артық сыйымдылыққа ие (10 есе немесе одан да көп). Жүктілікпен теңдестірілген коммутатордың тірек желісі, жүйе бойынша өлшенгенде, бар болғаны 2 есе артық сыйымдылықпен 100% өнімділікті қамтамасыз ете алады. Ірі магистральдық желілердің негізін құрайтын оптикалық арналар тез ауыстырылмайды. Олар жүктеме теңгеріміндегі коммутатордың торларындағы тұрақты жылдамдығы 2R/N арналарымен жақсы үйлеседі. Жаһандық тығындар туралы ақпаратқа сүйенген маршрут кестелерін өзгертудің қажеті жоқ, себебі жаһандық тығын болмайды. Егер торап істен шықса, қайта бағыттау үшін оптикалық арналардың конфигурациясын өзгерту қажет. Бірақ қайта бағыттауды алдын ала есептеуге болады (істен шығуы мүмкін түйіндердің саны шектеулі), және қайта бағыттау қосымша маршрут кестелерін өзгертуді қажет ететін тығын тудырмайды.
Large backbone packet networks typically have massive overcapacity (10x or more) to deal with imperfect capacity planning, congestion, and other problems. A load balanced switch backbone can deliver 100% throughput with an overcapacity of just 2x, as measured across the whole system. The underpinnings of large backbone networks are usually optical channels that cannot be quickly switched. These map well to the constant rate 2R/N channels of the load balanced switch's mesh. No route tables need be changed based on global congestion information, because there is no global congestion. Rerouting in the case of a node failure does require changing the configuration of the optical channels. But the reroute can be precomputed (there are only a finite number of nodes that can fail), and the reroute causes no congestion that would then require further route table changes.