Кіріспе

Ортақ ресурстарға қолжетімділікті бөлетін электрондық құрылғы. Арбитрлер – ортақ ресурстарға қолжетімділікті бөлетін электрондық құрылғылар.

Асинхронды төрешілер

Арбитрдің маңызды түрі асинхронды тізбектерде асинхронды сұраныстар арасында ортақ ресурсқа қол жеткізу ретін анықтау үшін қолданылады. Оның функциясы – екі операцияның бірдей уақытта, олар осылай жасауға тиіс болмаған жағдайда, орындалуына жол бермеу. Мысалы, бірнеше процессор немесе басқа құрылғылары компьютер жадына қол жеткізетін және бірнеше сағаты бар компьютерде, екі синхронды емес көзден келетін сұраныстар дерлік бір уақытта түсуі мүмкін. "Дерлік" дегеніңіз – уақыт бойынша өте жақын, фемтосекундтардың ішінде болуы мүмкін. Сонда жад арбитры қай сұранысты бірінші қызмет ету керектігін шешуі керек. Алайда, мұны белгілі бір уақыт ішінде жасау мүмкін емес [Андерсон 1991].

Асинхронды төрешілер және метақалыптылық

Төрешілер өзара қақтығыстарды шешеді. Флип-флоп тізбегі сияқты, арбитрдің екі тұрақты күйі бар, олар екі таңдауға сәйкес келеді. Егер екі сұрау арбитрге бірнеше пикосекунд (қазіргі кезде фемтосекунд) аралығында келіп түсетін болса, тізбек тұрақты күйлерінің біріне жетуден бұрын метатұрақты күйге түсуі мүмкін, соның арқасында қақтығыс шешіледі. Классикалық арбитрлер метатұрақтылық кезінде күшті тербелістерге ұшырамау және қосымша қуатты пайдалану арқылы метатұрақтылықтан мүмкіндігінше жылдам шығу үшін арнайы жасалған. Кіріс берілгеннен кейін тұрақты күйге жетпеу ықтималдығы уақыт өте келе экспоненциалды түрде төмендейді. Бұл мәселенің сенімді шешімі 1970 жылдардың ортасында табылды. Арбитрдің белгілі бір уақытта шешім қабылдауы мүмкін болмаса да, қиын жағдайларда (жақын шақырулар) сәл кешігіп шешім қабылдайтын арбитр жұмыс істей алады. Арбитрдің әлі тұрақты күйге келмегенін анықтайтын көп сатылы синхрондау тізбегін пайдалану қажет. Арбитр тұрақты күйге жеткенше өңдеуді кейінге қалдырады. Теориялық тұрғыдан алғанда, арбитрдің тұрақтануына кез келген уақыт жұмсалуы мүмкін (Бюридан принципін қараңыз), бірақ практикада ол көбінесе бірнеше қақпалық кешігуден аспайды. Классикалық мақала – [Kinniment and Woods 1976], онда бұл мәселені шешу үшін "3 күйлі флип-флоп" қалай жасалатыны сипатталған, және [Ginosar 2003], арбитр дизайнындағы жиі кездесетін қателер туралы инженерлерге ескерту. Бұл нәтиже өте маңызды, өйткені көппроцессорлық компьютерлер осысыз сенімді жұмыс істей алмайды. Алғашқы көппроцессорлық компьютерлер 1960 жылдардың соңында пайда болды, бұл сенімді арбитрлердің әзірленуіне дейін болды. Әр процессордың дербес сағаты бар кейбір ертедегі көппроцессорлар арбитр жарысынан зардап шекті, демек, сенімділіксіз болды. Бүгінде бұл мәселе жойылды.

Синхронды төрешілер

Арбитрлер синхронды жағдайларда ортақ ресурсқа қол жеткізуді бөлу үшін де пайдаланылады. Толқындық арбитр – бұл үлкен желілік коммутатордың бір түрінде кездесетін синхронды арбитрдің мысалы.