Кіріспе

Локстеп жүйелері – бір уақытта бірдей операцияларды параллель түрде орындайтын, қателерге төзімді компьютерлік жүйелер. Дубликация (қайталану) қателерді анықтау және түзетуге мүмкіндік береді: егер кем дегенде екі жүйе болса (қос модульді дубликация), қате пайда болды ма жоқ па, оны анықтау үшін локстеп операцияларының нәтижелерін салыстыруға болады, ал егер кем дегенде үш жүйе болса (үш модульді дубликация), қате көпшілік дауыс беру арқылы автоматты түрде түзетілуі мүмкін. "Локстеп" термині әскери қолданыстан шыққан, онда ол синхронды жүруді білдіреді, яғни қадамдар физикалық мүмкіндік шегінде бірге жүреді. Локстеп режимінде жұмыс істеу үшін әрбір жүйе бір анықталған күйден келесі анықталған күйге өтуге бапталады. Жүйеге жаңа деректер келгенде, ол оларды өңдеп, жаңа нәтижелер шығарады және күйін жаңартады. Осы өзгерістер жиынтығы (жаңа деректер, жаңа нәтижелер, жаңа күй) бір қадамды құрайды деп есептеледі және оны атомдық транзакция ретінде қарастыру керек; яғни, барлығы бірдей орындалады немесе ештеңе орындалмайды, аралық жағдай болмайды. Кейде жүйелер арасында уақыт серпілісі (кешігу) орнатылады, бұл сыртқы факторлардың (мысалы, кернеудің өсуі, иондаушы сәулелену немесе тікелей инженерия) салдарынан туындаған қателерді анықтау мүмкіндігін арттырады.

Локстеп жады

Кейбір өндірушілер, Intel сияқты, lockstep жады терминін көп арналы жад құрылымын сипаттау үшін қолданады, онда кэш жолдары екі жад арнасы арасында бөлінеді, сондықтан кэш жолының жартысы бірінші арнадағы DIMM-де, ал екінші жартысы екінші арнадағы DIMM-де сақталады. Екі ECC-қосылған DIMM-нің бір қателікті түзету және екі қателікті анықтау (SECDED) мүмкіндіктерін lockstep құрылымында біріктіру арқылы, олардың бір чиптегі деректерді түзету (SDDC) қасиетін екі чиптегі деректерді түзетуге (DDDC) дейін кеңейтуге болады, бұл кез келген бір жад чипінің бұзылуынан қорғайды. Intel-дің lockstep жады құрылымының кемшіліктері – пайдаланылатын RAM мөлшерінің азаюы (үш арналы жад құрылымында жадтың максималды көлемі физикалық түрде қол жетімді максималдың үштен бір бөлігіне дейін төмендейді) және жад подсистемасының өнімділігінің төмендеуі.

Екі модульді артық

Егер есептеу жүйелері дубликатталған болса, бірақ екеуі де әр қадамды белсенді түрде өңдейтін болса, қадамның соңында олардың нәтижелері әртүрлі болған жағдайда, араларында шешім қабылдау қиынға түседі. Осы себепті, DMR жүйелерін "басшы/құл" конфигурациясы түрінде, құл "қосалқы режимде" басшыға көмектеседі, синхронды жұмыс істеуге қарағанда осылай жұмыс істеу кең таралған. Құл бірлігінің әр қадамды белсенді түрде өңдеуінің қажеттілігі болмағандықтан, басшы әр қадамның өңделуі аяқталғаннан кейін өзінің күйін құлға көшіру – жиі қолданылатын тәсіл. Егер басшы қандай да бір уақытта істен шықса, құл бұрынғы белгілі жақсы қадамнан жұмысты жалғастыруға дайын болады. Lockstep немесе DMR тәсілі (басшыдағы қателерді анықтау құралдарымен бірге қолданылғанда) басшыдағы аппараттық ақауларға қарсы қорғаныс ұсынуға мүмкіндік береді, бірақ олар бағдарламалық қателерден қорғамайды. Егер басшы бағдарламалық қатеге байланысты істен шықса, құл сәтсіз аяқталған қадамды қайта орындауға тырысқанда, сол қатені қайталап, сол сияқты істен шығуы әбден мүмкін, бұл – жалпы түбірден туындаған қателіктің мысалы.

Үш модульді артық

Егер есептеу жүйелері үш рет қайталанса, оларды "дауыс беру" жүйелері ретінде қарастыру мүмкін болады. Егер бір құрылғының нәтижесі қалған екеуінен өзгеше болса, ол бұзылған деп анықталады. Қалған екеуінің сәйкес нәтижесі дұрыс деп есептеледі.