Изобретение относится к вычислительному устройству, которое содержит множество вычислительных машин, которые связаны между собой средствами аппаратного и/или программного обеспечения так, что при выходе из строя одной или нескольких вычислительных машин внешняя функциональность вычислительного устройства не ухудшается или ухудшается только незначительно (отказоустойчивое вычислительное устройство).
Изобретение относится далее к способу функционирования подобного устройства.
В современном обществе уже сегодня большое количество служебных линий, соединений связи, контрольных задач и т.п. реализуется с помощью цифровых вычислительных машин. Например, заказ товаров через Интернет все более вытесняет еще обычный до недавнего времени заказ по почте.
В подобном процессе заказа клиент использует свой соединенный с Интернет компьютер для связи с сервером фирмы, предлагающей услуги, чтобы использовать имеющееся там программное обеспечение заказа для своего заказного поручения.
В процессе заказа клиент не замечает, каким количеством различных вычислительных машин одновременно или последовательно обрабатывается его процесс заказа; пока в процессе заказа не возникает никакой ошибки, ситуация заказа представляется для клиента такой, как если бы он связывался только с одной вычислительной машиной в качестве "отвечающего партнера".
Если, однако, процесс заказа не удается, то клиент часто замечает это потому, что он должен вводить уже введенную информацию еще раз, так как из-за сбоя какой-либо из вычислительных машин системы заказа, информация была потеряна.
Подобные обслуживаемые через Интернет системы заказа хорошо известны и ежедневно используются миллионами пользователей.
Недостатком подобных систем является то, что хотя они состоят обычно из множества вычислительных машин, выход из строя одной из этих вычислительных машин ведет к выходу из строя всей вычислительной системы или, по крайней мере, к частичной потере функций и тем самым к потере информации и времени обработки. Этот недостаток обоснован тем, что применение подобных вычислительных устройств (кластеров) решает в основном задачу распределения поставленных к вычислительной системе требований между несколькими вычислительными машинами (распределение нагрузки), чтобы повысить скорость и количество одновременно обрабатываемых процессов. За счет того, что в подобных устройствах вследствие желаемого распределения нагрузки подлежащие обработке запросы не направляются одновременно к нескольким вычислительным машинам и вычислительные машины этого устройства не синхронизированы, выход из строя одной вычислительной машины неизбежно ведет по крайней мере к частичной потере функций и/или к потере информации.
Вычислительное устройство с множеством серверов приведено, например, в ЕР 0942363 А2. При этом поступающие данные запроса разбивают по классам услуг, которые затем соответственно обрабатывают определенным количеством серверов. Если определенная услуга не может быть обработана, поскольку имеющиеся в настоящий момент в распоряжении ресурсы производительности вычислительной машины являются не достаточными, то выделяют сервер из других классов услуг, в распоряжении которых еще имеются вычислительные ресурсы, и подчиняют затребованной службе.
В названном описании к выложенной европейской заявке таким образом описан кластер компьютеров, в котором производят распределение нагрузки данных запроса по серверам так, что при возникновении дефицита ресурсов одной службы вступает сервер другой службы, который еще имеет свободные вычислительные мощности.
Недостатком при этом является то, что ни одно решение не предусмотрено для случая появления ошибки так, что выход из строя одной службы хотя и не влечет за собой потерю соответствующей службы в целом, однако, не гарантировано, что переданные на кластер компьютеров данные запроса в случае ошибки сохраняются и могут обрабатываться дальше по возможности без прерывания.
Поэтому подобные вычислительные устройства не пригодны для критических применений, в которых не должно происходить потери данных и/или какой-либо задержки обработки, чтобы исключить появление опасности для человека и окружающей среды. Поэтому запрещается использование подобных устройств в качестве, например, системы контроля на атомных электростанциях, в качестве защитной системы в случае опасных электрических или химических процессов или в качестве системы управления критичных по времени процессов.
В DE 19814096 A1 описан способ для переключения включенных с избыточностью однотипных блоков.
Из этих однотипных блоков один функционирует в качестве главного блока, который обслуживает процесс автоматизации. Второй однотипный блок находится в так называемом подчиненном режиме (в резерве), чтобы иметь возможность в случае неисправности главного блока взять на себя его функцию.
Оба однотипных блока снабжаются синхронно одинаковыми данными запроса от вышестоящего устройства.
В случае сбоя главного блока блок в подчиненном режиме активируется непосредственно в обход вышестоящего устройства, чтобы взять на себя функцию главного блока. Таким образом обеспечено, что в случае ошибки происходит быстрое переключение от неисправного на работоспособный блок.
Однако там не показано, как в случае ошибки может быть обеспечено, чтобы не терялись никакие данные запроса, и чтобы блок, который в случае ошибки берет на себя функционирование, поставлял корректные выходные данные.
Кроме того, недостатком этого способа, известного из уровня техники, является то, что блоки должны быть одного типа. За счет этого использование различных между собой блоков одинаковой функции для решения проблемы исключено, что приводит к высоким затратам при реализации подобного устройства с избыточностью. Можно было бы, например, выполнять главную (ведущую) вычислительную машину в виде очень производительной вычислительной машины, а резервную (ведомую) вычислительную машину в виде несколько менее производительной вычислительной машины. В нормальном случае высокопроизводительная вычислительная машина брала бы на себя функцию вычислительного устройства и тогда только в случае сбоя получались бы небольшие потери в вычислительной мощности (когда резервная вычислительная машина берет на себя работу); однако, такое более экономичное с точки зрения затрат по сравнению с цитированным уровнем техники вычислительное устройство не может отказоустойчиво функционировать, согласно описанному способу.
В WO 98/44416 описана отказоустойчивая компьютерная система.
Эта система содержит, например, четыре или больше центральных процессора, которые работают с тактовой синхронизацией.
Поступающие данные обрабатываются одновременно всеми центральными процессорами с тактовой синхронизацией.
Центральные процессоры передают результаты их вычислений на блок анализатора, который определяет достоверность этих результатов и выдает достоверный результат.
В случае этой системы отказоустойчивость практически реализована исключительно средствами аппаратного обеспечения. Это означает, что полностью однотипные между собой блоки (центральные процессоры) обрабатывают абсолютно одновременно (тактово синхронно) те же самые входные данные и поставляют относящийся к ним результат. Выход из строя одного блока таким образом не приводит к отказу всей системы.
Недостатком при этом является то, что подобные работающие с тактовой синхронизацией решения являются очень дорогостоящими, так как режим с тактовой синхронизацией предъявляет высокие требования к применяемому аппаратному обеспечению, которое, кроме того, должно быть полностью однотипным; допуски при этом практически не допустимы. Кроме того, синхронизация примененных блоков является очень сложной, так как параллельно включенные блоки при обработке данных запроса не должны расходиться даже на один такт. Далее, нельзя использовать аппаратное обеспечение отличающегося между собой типа, чтобы реализовать избыточность согласно этому уровню техники.
Другими примерами из уровня техники для подобных систем с избыточностью, которые реализуют избыточность исключительно средствами аппаратного обеспечения, являются так называемые Н-системы (системы высокой готовности) семейства систем автоматизации SIMATIC фирмы Сименс (например, S5-155H; S7-400H). При этом используют соответственно два полностью идентичных между собой, специальных центральных процессорных блока, которые соответственно тактово синхронно обрабатывают параллельно одинаковые данные запроса. Синхронизация и контроль за отказом центральных процессорных блоков являются очень сложными; кроме того, очень высокими являются расходы на приобретение.
В основе изобретения поэтому лежит задача создания отказоустойчивого вычислительного устройства, которое преодолевает описанные недостатки, может универсально монтироваться из различных компонентов и является экономичным в изготовлении.
Задача согласно изобретению решается с помощью отказоустойчивого вычислительного устройства с уровнем коммутации и с уровнем обработки, в котором
- уровень коммутации образован по крайней мере одной вычислительной машиной коммутации, которая выполнена с возможностью присвоения поступающим данным запроса временной метки,
- уровень обработки образован по крайней мере двумя вычислительными машинами обработки, которые параллельно обеспечены уровнем коммутации данными запроса,
- вычислительные машины обработки выполнены с возможностью обработки данных запроса затем в ближайшей операции обработки, если актуальное значение временной метки попадает в соответственно значащую область значений.
В подобном соответствующем изобретению устройстве данные запроса, которые должны обрабатываться устройством в результат, направлены к вычислительной машине или вычислительным машинам уровня коммутации (брокер).
Уровень коммутации при этом снабжает поступающие данные запроса временной меткой, которая, например, может быть актуальным сигналом времени датчика времени или последовательным номером, который содержит момент времени поступления данных запроса в уровне коммутации.
Данные запроса, при необходимости, предварительно обрабатываются уровнем коммутации и вместе с соответствующей временной меткой передаются параллельно на вычислительные машины обработки уровня обработки. В случае, если уровень обработки состоит из нескольких частичных уровней обработки (подуровни обработки), которые образованы каждый из по крайней мере двух вычислительных машин и соответственно специализированы на обработку определенного вида запроса, то данные запроса в зависимости от их вида передаются от уровня коммутации на соответствующие вычислительные машины надлежащего подуровня обработки.
Важная задача уровня коммутации таким образом заключается в том, чтобы снабдить данные запроса, подлежащие обработке до получения результата устройством согласно изобретению, входным штемпелем времени и передать дальше на вычислительные машины уровня обработки, которые затем производят обработку данных запроса до результата.
Отказоустойчивость соответствующего изобретению устройства относительно выхода из строя одной из вычислительных машин обработки реализована за счет того, что данные запроса переданы дальше не только, как во многих решениях уровня техники (так называемые кластерные решения), на одну вычислительную машину уровня обработки, а на все вычислительные машины уровня обработки.
Таким образом обеспечено, что данные запроса в уровне обработки не являются потерянными, если одна вычислительная машина в этом уровне выходит из строя.
Вычислительные машины обработки определяют затем соответственно с помощью актуального значения временной метки, которой снабжены данные запроса, должны ли они обрабатываться соответствующей вычислительной машиной обработки в следующей операции обработки или нет.
За счет этого предотвращается, что несинхронизированная параллельная передача информации к уровню обработки приводит к тому, что вычислительные машины обработки получают в качестве результатов данных запроса различные ответы.
Вычислительные машины обработки анализируют актуальное значение временной метки в том смысле, что они устанавливают, попадает ли актуальное значение временной метки в соответственно значимую область значений.
Вычислительные машины уровня обработки обрабатывают обычным образом данные запроса множества операций обработки, которые могут следовать циклически друг за другом. Это означает, например, что каждые 100 мс выполняется новая операция обработки. Согласно изобретению вычислительными машинами обработки в один определенный цикл обработки обрабатывают только те данные, актуальное значение временной метки которых попадает в соответственно значимую область значений; последняя может, например, состоять из таких временных меток, которые старше, чем стартовый момент времени следующего цикла обработки за вычетом максимального времени задержки, которое максимально необходимо, чтобы передать данные от уровня коммутации к вычислительным машинам уровня обработки.
Таким образом обеспечено, что вычислительные машины уровня обработки обрабатывают данные запроса синхронно по крайней мере в моменты времени старта их операций обработки. Так далее предотвращается, что вычислительные машины обработки вследствие задержки времени при передаче от уровня коммутации перерабатывают данные запроса независимо друг от друга, то есть асинхронно, и тем самым вычисляют различные относительно данных запроса результаты.
Этот описанный вид соответствующей изобретению синхронизации обозначается как "неявная синхронизация". При этом не требуется, чтобы отдельные вычислительные машины работали относительно друг друга абсолютно тактово синхронно. Более того, при этом является решающим, что отдельные вычислительные машины обработки являются синхронизированными только настолько, что они соответственно обрабатывают только те данные запроса, которые до момента времени старта следующей операции обработки еще могут быть надежно переданы относительно времени передачи от уровня коммутации ко всем вычислительным машинам уровня обработки.
Если, например, при контроле вычислительной машиной обработки окажется, что данные запроса в уровне коммутации поступили слишком поздно относительно момента времени старта следующей операции обработки (это может быть установлено путем анализа временных меток), то есть данные запроса не могут быть надежно переданы до начала старта ближайшей операции обработки ко всем вычислительным машинам уровня обработки, то данные запроса будут обрабатываться вычислительными машинам обработки только в их следующую за ближайшей операцию обработки. Таким образом обеспечена избыточность соответствующего изобретению устройства, так как все вычислительные машины уровня обработки обрабатывают данные запроса и выход из строя одной из этих вычислительных машин не влечет за собой потери данных или соответственно результатов.
В предпочтительной форме выполнения изобретения интерфейс соответствующего изобретению вычислительного устройства образован уровнем коммутации, который принимает поступающие данные запроса от внешнего мира и передает соответствующий им вычисленный результат во внешний мир.
Для пользователя, который извне с запросом попадает в вычислительное устройство и хочет получить результат, вычислительное устройство представляется как одна единственная вычислительная машина. Как входные, так и выводные данные передаются только одним интерфейсом.
В следующей предпочтительной форме выполнения изобретения уровень коммутации выполнен с возможностью оценивать результаты, вычисленные вычислительными машинами обработки к данным запроса на основе заданного правила достоверности, выбирать исходя из этой оценки из результатов один результат и передавать его во внешний мир.
В соответствующем изобретению вычислительном устройстве, данные запроса по причине избыточности обрабатываются множеством вычислительных машин обработки. В качестве результата данных запроса, однако только один из этих результатов должен быть выдан во внешний мир; пользователь должен получать однозначный результат и не попадать в положение необходимости выбора одного из возможно отличающихся при известных обстоятельствах результатов.
С помощью заданного правила достоверности поэтому уровень коммутации оценивает, какой из названных результатов передается во внешний мир.
Правило достоверности может, например, состоять в том, что уровень коммутации сравнивает между собой определенные вычислительными машинами обработки к данным запроса результаты и устанавливает, сколько из этих результатов совпадают между собой. Если количество совпадающих результатов является больше, чем количество не совпадающих результатов, то один из результатов из группы совпадающих результатов передается во внешний мир в качестве достоверного результата.
Правило достоверности может быть сделано еще более жестким за счет того, что, например, достоверный результат передается во внешний мир только тогда, когда совпадают все результаты вычислительных машин обработки. Таким образом надежность того, что результат правильный, является максимальной.
Предпочтительно уровень коммутации образован по крайней мере двумя вычислительными машинами коммутации и каждая из этих вычислительных машин коммутации выполнена с возможностью обнаружения ошибочного функционирования по крайней мере одной другой вычислительной машины коммутации и взятия на себя ее функции.
Таким образом избыточность вычислительного устройства согласно изобретению реализована также относительно функционирования уровня коммутации. При выходе из строя одной из вычислительных машин уровня коммутации это распознает по крайней мере одна другая вычислительная машина уровня коммутации. После этого она берет на себя функцию неисправной вычислительной машины коммутации и обрабатывает данные запроса.
Названное распознавание ошибки в уровне коммутации может быть реализовано, например, за счет того, что вычислительные машины коммутации обмениваются между собой периодическими сигналами (интервал контроля времени, сторож), которые контролируются на постоянное наличие. Если теперь такой сигнал для одной из вычислительных машин уровня коммутации, например, для по крайней мере одного тактового цикла не поступит, то соответствующая вычислительная машина характеризуется как неисправная и ее функцию берет на себя другая вычислительная машина уровня коммутации. Предпочтительно вычислительные машины коммутации соединены через шину связи, по которой передаются данные запроса. Таким образом каждая вычислительная машина уровня коммутации имеет доступ к данным запроса так, что в случае сбоя одной из вычислительных машин, ее может заменить другая вычислительная машина.
В следующей предпочтительной форме выполнения изобретения уровень обработки разделен по крайней мере на два подуровня обработки, которые образованы каждый по крайней мере двумя вычислительными машинами и предусмотрены для обработки соответственно определенного запроса. В этой предпочтительной форме выполнения изобретения каждый подуровень обработки специализирован на обработку соответственно одного определенного вида данных запроса. Так как каждый подуровень обработки образован по крайней мере двумя вычислительными машинами, ошибка одной из этих вычислительных машин не ведет к потере соответствующей функции.
Образование подуровней обработки обеспечивает распределение нагрузки данных запроса по вычислительным машинам обработки так, что имеющаяся в распоряжении вычислительная мощность является хорошо использованной.
Предпочтительно каждому подуровню обработки присвоена по крайней мере одна из вычислительных машин коммутации в качестве его запросной вычислительной машины коммутации.
В этой предпочтительной форме выполнения изобретения распределение нагрузки внутри устройства еще больше улучшено, так как вычислительные машины коммутации использованы ориентированно на специальную задачу. Если для каждой задачи (вид данных запроса) предусматривают по крайней мере две вычислительных машины в качестве запросной вычислительной машины коммутации, то избыточность является реализованной также в уровне коммутации для каждой задачи.
Изобретение ведет дальше к способу для эксплуатации отказоустойчивого вычислительного устройства с уровнем коммутации и с уровнем обработки со следующими операциями.
1. Поступающие данные запроса записывают по крайней мере одной вычислительной машиной коммутации уровня коммутации и снабжают временной меткой.
2. Снабженные временной меткой данные запроса направляют вычислительной машиной коммутации параллельно к по крайней мере двум вычислительным машинам обработки уровня обработки.
3. Данные запроса обрабатывают вычислительными машинами обработки соответственно в ближайшей операции обработки, если актуальное значение временной метки попадает в соответственно значащую область значений.
В предпочтительной форме выполнения изобретения вычисленные вычислительными машинами обработки в 3-ей операции, относящиеся к данным запросам результаты, анализируют вычислительной машиной коммутации на основе заданного правила достоверности и на основе этой оценки выбирают один из этих результатов.
В следующей предпочтительной форме выполнения изобретения данные запроса параллельно записывают по крайней мере двумя вычислительными машинами коммутации.
В последующем более подробно представлены три примера выполнения изобретения. При этом показывают:
Фиг.1 - соответствующее изобретению вычислительное устройство с множеством вычислительных машин коммутации, а также с уровнем обработки, разделенным на множество подуровней обработки,
Фиг.2 - соответствующее изобретению вычислительное устройство с одной вычислительной машиной коммутации и с двумя вычислительными машинами обработки, причем неявная синхронизация представлена более подробно,
Фиг.3 - временная диаграмма для представления временного прохождения данных запроса, которые передаются от уровня коммутации к уровню обработки.
Фиг.1 показывает вычислительное устройство 1 с уровнем коммутации 10, а также с уровнем обработки 30.
Уровень коммутации 10 содержит вычислительные машины коммутации 11, 12, 1n, к которым направляют данные запроса 7 через модуль коммутации 8. При этом все вычислительные машины уровня коммутации получают параллельно одинаковые данные запроса.
Вычислительные машины коммутации 11, 12, 1n связаны между собой через соединения связи 2. К соответственно одному из этих соединений связи 2 подключена по крайней мере одна вычислительная машина обработки каждого подуровня обработки 20 посредством соединений связи 3а, 3b, 3с.
Каждый подуровень обработки 20, который образован множеством вычислительных машин обработки 201, 202, 20х, 211, 212, 21y, 221, 222, 22z, служит соответственно для обработки определенного вида данных запроса 7; каждый подуровень обработки 20 специализирован таким образом на обработку одной определенной задачи.
Путем вида выполнения соединений связи 2, 3а, 3b, 3с предупреждается, что отказ какого-либо одного из этих соединений связи 2, 3 приводит к потере данных и/или к потере предоставляемой в распоряжение этим подуровнем обработки 20 функции. Если отказывает, например, соединение связи 3а, то подуровни обработки 20 могут снабжаться данными запроса посредством соединения связи 3b.
Кроме того, также выход из строя какой-либо одной из вычислительных машин уровня коммутации или обработки не приводит к потере информации и/или функции, так как они выполнены многократными.
Каждая задача, которая обрабатывается в одном из подуровней обработки 20, обрабатывается там несколькими вычислительными машинами обработки так, что выход из строя одной из этих вычислительных машин не ведет к потере функции соответствующего подуровня обработки 20.
Распознавание ошибки в уровне коммутации может быть реализовано, за счет того, что вычислительные машины коммутации обмениваются между собой периодическими контрольными сигналами (интервал контроля времени, сторож), которые контролируются на постоянное наличие. Если теперь такой сигнал для одной из вычислительных машин уровня коммутации, например, для по крайней мере одного тактового цикла не поступит, то соответствующая вычислительная машина характеризуется как неисправная и ее функцию берет на себя другая вычислительная машина уровня коммутации.
Отказ одной из вычислительных машин коммутации 11, 12, 1n не ведет к потере функции уровня коммутации 10, так как данные запроса 7 посредством модуля коммутации 8 передаются на все вычислительные машины уровня коммутации и каждая из вычислительных машин коммутации 11, 12, 1n вследствие особого выполнения соединений связи 2, 3а, 3b, 3с имеет доступ к данным во все вычислительные машины обработки уровня обработки 30. Потеря функции одной из вычислительных машин коммутации уровня коммутации 10 нейтрализуется таким образом взятием на себя этой функции другой вычислительной машиной коммутации.
В уровне коммутации 10, а также в каждом подуровне обработки 20 уровня обработки 30, следовательно, могут отказывать и/или работать со сбоями соответственно все вычислительные машины вплоть до одной без того, чтобы страдала функция соответствующего изобретению вычислительного устройства 1 в целом.
Вычислительные машины каждого подуровня обработки 20 обрабатывают полученные данные запроса, которые снабжены временной меткой, в ближайшей операции обработки, если значение временной метки попадает в значащую область значений. Если это не так, то они сначала отодвигают обработку до операции обработки следующей после этой ближайшей операции. Операции обработки могут следовать циклически друг за другом (циклы обработки как специальный случай рабочих операций).
Предпочтительно операции обработки вычислительных машин обработки начинаются соответственно в один и тот же момент времени так, что вычислительные машины обработки хотя не являются тактово синхронизированными, однако синхронизированы по крайней мере относительно общего начала их операций обработки (это охвачено понятием "неявная синхронизация").
Вычислительные машины 11, 12,...1n в уровне коммутации 10 могут быть синхронизированы между собой аналогично описанной неявной синхронизации вычислительных машин обработки также неявно.
Фиг.2 показывает вычислительное устройство согласно изобретению с уровнем коммутации 200, который образован вычислительной машиной коммутации 40, и уровнем обработки 300, который содержит две вычислительные машины обработки 51, 52.
Данные запроса 42 вводят в модуль ввода 43а. Датчик хронирующего сигнала 44 передает временную метку 46 в модуль ввода 43а.
В модуле ввода 43а данные запроса 42 снабжают временной меткой 46 и в качестве снабженных временной меткой данных запроса 48 передают параллельно на обе вычислительные машины обработки 51, 52. В вычислительных машинах обработки 51, 52 блок обработки 511 отделяет временную метку 46 от данных запроса 42 и передает данные запроса 42 на модуль прикладной программы 61.
Отделенную временную метку 46 передают от блока обработки 511 на модуль обработки 53. В этом модуле обработки 53 временную метку 46 анализируют на предмет того, попадает ли ее значение в значимую область значений. Это может иметь место, например, тогда, когда данные запроса 42 в уровне коммутации 200 поступили так рано, что они после передачи уровнем коммутации 200 к вычислительным машинам обработки 51, 52, для чего самое большее необходимо максимальное время задержки коммутации, поступают во все вычислительные машины обработки, до того, как начнется следующая операция обработки вычислительных машин обработки. Соответствующие моменты времени для начала соответственно следующей операции обработки в каждой из вычислительных машин обработки при этом для всех вычислительных машин обработки предпочтительно равны.
Таким образом реализуется "неявная синхронизация" и предотвращает, чтобы вычислительные машины обработки 51, 52 "взаимно расходились", то есть к моменту времени старта операций обработки обрабатывали различные данные и поставляли таким образом различные результаты.
Если актуальное значение временной метки 46 попадает, например, как пояснено выше, в значащую область значений, то модуль обработки 53 дает управляющий сигнал 55 на модуль прикладной программы 61 так, что последний предпринимает обработку данных запроса 42 и передает результирующиеся данные результата 54 на выходной модуль 43b вычислительной машины коммутации 40. Если теперь модуль обработки 53 при оценке временной метки 46 установит, что ее актуальное значение не попадает в значащую область значений, то есть, например, данные запроса к началу следующей операции обработки не могут быть надежно переданы на все вычислительные машины обработки, то модуль обработки 53 выдает управляющий сигнал 55 только для следующего за ближайшим циклом цикла обработки так, что модуль прикладной программы 61 обрабатывает данные запроса 42 только в следующем за ближайшим цикле обработки. Это справедливо для всех участвующих вычислительных машин обработки 51, 52 так, что они в этом смысле являются синхронизированными.
Вычислительные машины обработки 51, 52 передают вычисленные ими данные результата 54 на выходной модуль 43b вычислительной машины коммутации 40. В выходном модуле 43b теперь данные результата 54 оцениваются и какой-либо один результат 41 из них выдается.
Оценка в выходном модуле 43b может заключаться, например, в сравнении данных результатов 54, выданных вычислительными машинами обработки 51, 52. Если оба результата равны, то выходным модулем 43b выдается в качестве результата 41 один из этих результатов.
Если теперь оба результата не совпадают, то результат 41 может, например, заключаться в сообщении об ошибке. Если одна из вычислительных машин обработки 51, 52 в случае ошибки вообще не может выдать никаких данных результата 54, то выходной модуль 43b выбирает в качестве результата 41 данные результата 54 работоспособной вычислительной машины обработки.
На Фиг.3 по оси времени I представлен временной ход поступления данных запроса 70, 80, 90, которые снабжаются уровнем коммутации соответственно временной меткой соответственно моменту времени поступления данных и передаются на все вычислительные машины обработки уровня обработки. Данные запроса 70, 80, 90 поступают через определенные временные промежутки друг от друга в уровень коммутации.
Оси времени II, III, IV, V приданы в соответствие вычислительным машинам уровня обработки, причем оси времени II, III, IV показывают моменты времени поступления данных запроса 70, 80, 90 в виде снабженных временной меткой данных запроса 75, 85 или соответственно 95 на три вычислительные машины обработки.
Ось времени V показывает моменты времени обработки t70, t80, t90, к которым первоначальные данные запроса 70, 80, или соответственно 90 обрабатываются затем вычислительными машинами обработки. Моменты времени t0, t1, t2, t3 являются моментами времени старта для операций обработки С0, C1, C2, С3, вычислительных машин обработки. Операции обработки могут циклически следовать друг за другом. Например, 100 мс является типичной величиной для длительности одного цикла обработки; возможными, однако, являются также другие, в частности более короткие длительности цикла.
Максимальным временем задержки передачи ts является временной интервал, который максимально необходим, чтобы надежно передать данные запроса 70, 80, 90 на все вычислительные машины уровня обработки, даже если соединения связи между вычислительными машинами обработки и уровнем коммутации и/или вычислительные машины обработки не являются между собой однотипными, в частности, не являются одинаково быстрыми. Максимальное время задержки передачи ts предпочтительно содержит резерв времени так, что также при самых невыгодных условиях передачи передача данных от уровня коммутации к уровню обработки длится не больше, чем максимальное время задержки передачи ts.
Данные запроса 70 снабжаются уровнем коммутации временной меткой и передаются в качестве данных запроса 75 на уровень обработки. Как видно из Фиг.3, данные запроса 75 поступают на три вычислительные машины уровня обработки к различным моментам времени. Оси времени III, IV показывают, что данные запроса 75 в двух из трех вычислительных машин обработки поступают не своевременно к началу t0 ближайшей операции обработки Со; временная метка данных запроса 75 не лежит в значимой области значений. По этой причине вычислительные машины уровня обработки начинают обработку данных запроса 75 только к моменту времени обработки t70, что соответствует началу следующей за ближайшей операции обработки C1. Таким образом обеспечивается то, что данные запроса 75 обрабатываются с избыточностью несколькими, в частности, всеми вычислительными машинами обработки.
Данные запроса 80 передаются своевременно до начала операции обработки С2 на все вычислительные машины уровня обработки так, что они начинают обработку снабженных временными метками данных запроса 85 уже к моменту времени t80 начала ближайшей операции обработки С2 после поступления данных 80. В названном последнем случае временная метка данных запроса 85 таким образом попадает в значимую область значений так, что обработка вычислительными машинами обработки происходит уже в ближайшей, следующей за моментом времени поступления данных операции обработки С2.
Данные запроса 90 точно также снабжаются уровнем коммутации временной меткой и направляются на вычислительные машины уровня обработки, где они в двух из вычислительных машин обработки приходят своевременно до начала ближайшей операции обработки. В третьей вычислительной машине уровня обработки, однако, появляется ошибка так, что данные запроса 95 не могут быть им обработаны. Однако временная метка данных запроса 95 попадает в значимую область значений, так как они поступили в работоспособные вычислительные машины уровня обработки своевременно до начала ближайшей операции обработки так, что они берут на себя обработку данных запроса 95 к моменту времени t90 начала ближайшей операции обработки С3. Несмотря на ошибку одной или нескольких вычислительных машин уровня обработки данные запроса 95 обрабатываются работоспособными вычислительными машинами уровня обработки. Таким образом, ошибка не приводит к потере данных или вычисленных результатов.
Изобретение относится к вычислительной технике. Техническим результатом является обеспечение способа и отказоустойчивого вычислительного устройства, которое обеспечивает обнаружение ошибочного функционирования коммутирующего процессора. Для этого устройство содержит уровень коммутации и уровень обработки данных, уровень коммутации образован вычислительными машинами коммутации, а уровень обработки образован вычислительными машинами обработки. Согласно способу одна вычислительная машина коммутации периодически подает контрольные сигналы на другую вычислительную машину коммутации и в случае отсутствия поступления контрольного сигнала от этой вычислительной машины коммутации в течение заданного периода времени обнаруживает ошибочное функционирование этой вычислительной машины коммутации, после чего вычислительная машина коммутации, обнаружившая ошибочное функционирование, берет на себя функции, выполняемые вычислительной машиной коммутации, для которой обнаружено ошибочное функционирование. 2 н. и 5 з.п. ф-лы, 3 ил.
уровень коммутации (10) образован, по крайней мере, двумя вычислительными машинами коммутации (11, 12, ln), каждая из которых предназначена для присвоения временной метки (46) данным запроса (7), поступающим от внешних устройств;
уровень обработки (30) образован, по крайней мере, двумя вычислительными машинами обработки (201, 202, 20х, 211, 212, 21y, 221, 222, 22z), которые параллельно снабжаются данными запроса (7) от уровня коммутации (10), и
вычислительные машины обработки предназначены для обработки в ближайшей операции обработки (С0, C1 С2) данных запроса (7), актуальное значение временной метки (46) которых попадает в соответственно значащую область значений с обеспечением синхронного начала обработки данных запроса вычислительными машинами обработки, отличающееся тем, что каждая из вычислительных машин коммутации предназначена для выдачи данных, полученных от вычислительных машин обработки, на внешние устройства; периодической подачи контрольных сигналов на, по крайней мере, одну другую вычислительную машину коммутации; обнаружения ошибочного функционирования, по крайней мере, одной другой вычислительной машины коммутации при отсутствии поступления контрольного сигнала от, по крайней мере, одной другой вычислительной машины коммутации в течении заданного периода времени и взятия на себя функций, выполняемых вычислительной машиной коммутации, для которой обнаружено ошибочное функционирование.
a) каждая из, по крайней мере, двух вычислительных машин коммутации (11, 12, In) уровня коммутации (10) записывает поступающие данные запроса (7) с внешних устройств и снабжает временной меткой (46) эти данные запроса,
b) каждая, по крайней мере, из двух вычислительных машин коммутации (11, 12, ln) уровня коммутации (10) параллельно направляет снабженные временной меткой (46) данные запроса (7) на, по меньшей мере, две вычислительные машины обработки (201, 202, 20х, 211, 212, 21y, 221, 222, 22z) уровня обработки (30), и
c) вычислительные машины обработки соответственно обрабатывают данные запроса (7) в ближайшей операции обработки (С0, C1 С2), если актуальное значение временной метки (46) попадает в соответственно значащую область значений так, что вычислительные машины обработки синхронно начинают обработку данных запроса и передают обработанные данные на вычислительные машины коммутации, которые передают полученные данные на внешние устройства, отличающийся тем, что
d) по крайней мере, одна вычислительная машина коммутации (11, 12, In), образующая уровень коммутации (10), периодически подает контрольные сигналы на, по крайней мере одну другую вычислительную машину коммутации и в случае отсутствия поступления контрольного сигнала от, по крайней мере, одной другой вычислительной машины коммутации в течении заданного периода времени обнаруживает ошибочное функционирование этой, по крайней мере, одной другой вычислительной машины коммутации, после чего вычислительная машина коммутации, обнаружившая ошибочное функционирование, берет на себя функции, выполняемые вычислительной машиной коммутации, для которой обнаружено ошибочное функционирование.
US 5551034 А, 27.08.1996 | |||
Резервированная система | 1988 |
|
SU1584137A1 |
US 5790397 А, 04.08.1998 | |||
US 5896523 А, 20.04.1999 | |||
РЕЗЕРВИРОВАННАЯ СИСТЕМА | 1991 |
|
RU2010315C1 |
Авторы
Даты
2006-07-10—Публикация
2002-02-28—Подача