KnigaRead.com/
KnigaRead.com » Научные и научно-популярные книги » Физика » В. Копыленко - Межзвёздные путешествия. Опыт антифантастики

В. Копыленко - Межзвёздные путешествия. Опыт антифантастики

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн "В. Копыленко - Межзвёздные путешествия. Опыт антифантастики". Жанр: Физика издательство неизвестно, год неизвестен.
Перейти на страницу:

Допустим, мы решили гарантировать доставку исправного оборудования в конце вояжа, разместив на борту корабля такое количество экземпляров устройств, при котором хотя бы одно останется исправным к концу полета.

Учитывая, что продолжительность полета может иметь несколько сотен лет, избыточность может оказаться огромной, что приведет к тому, что к концу путешествия внутренность корабля будет представлять собой свалку. И, всё-таки, проблема не в этом.

Возникнет более серьезная проблема: как определить из огромного множества устройств исправное устройство в конце вояжа?. Это тем более невыполнимо, так как не известно, КТО будет определять и какими критериями ОН должен руководствоваться?

ПРИМЕЧАНИЕ 3

Известно, что сложность процесса проверки работоспособности технического устройства зачастую выше проверяемого алгоритма, то есть проверяющее устройство может оказаться сложнее проверяемого.

Почему же в Природе не возникают эти проблемы? Чем это вызвано? Прежде всего, тем, что все экземпляры в Природе непрерывно проверяются на работоспособность.

Действительно, все мальки, сразу после появления в среде обитания начинают свою независимую жизнедеятельность. Да, конечно, часть из них будет съедена, некоторые попадут в неблагоприятные условия и погибнут, но для оставшихся не будет проблемы проверки на их жизнедеятельности. Так же обстоят дела с семенами.

Таким образом, избыточность в Природе — вовсе не избыточна. Она возникает из учета условий, в которых должны адаптироваться новые особи.

Далее мы рассмотрим, как возможно обеспечить эти условия в технических устройствах.

Особенность рассматриваемых ниже методов заключается в том, что они должны обеспечивать готовность изделия к выполнению своей задачи после завершения срока путешествия независимо от его продолжительности.

Далее обсуждаются возможные методы обеспечения надежности, но не как практические методы (это может послужить поводом для углубленных исследований), а как иллюстрация выше названного принципа «каждый за себя».


Защита сохранности «хардвэра»


Допустим, мы имеем n процессоров, каждый из которых, например, выполняет программу для получения результата вычисления выражения (2х2). Программа записана в следующем виде:

Выполнить операцию 2х2,

Если результат равен 4, то переписать

этот текст программы на то же место и

записать в контрольную ячейку К дату последней записи.

Примем, что

1. процессор прекращают работу либо, когда закончился текст, либо когда встретилась незнакомая ему операция.

2. нарушения в работе процессора происходят только в результате деструктивных воздействий. (То есть, он не имеет технологических сбоев, связанных с ошибками при конструировании и изготовлении. Всё это должно быть устранено заранее).

3. Под ненадежностью мы будем понимать возможность неисполнения заданного алгоритма.

Допустим, мы имеем n процессоров, каждый из которых циклически повторяет приведенную выше программу. Тогда, в результате «бурной» деятельности процессоров, в каждой ячейке Ki (i:=1,n) будет записана одна и та же дата.

ПРИМЕЧАНИЕ 4

Вместо даты в Ki можно записывать порядковый номер выполнения программ. Важно, чтобы это выполнялось всеми n процессорами.

Допустим, что при очередном раунде j-ый процессор остановился, так как не смог выполнить операцию, записанную в виде «Выполнить операцию 2х2». Это приведет к тому, что в ячейку Kj будет записана информация, отличная от Ki.

Примем, что по окончании раунда каждый из завершивших программу процессоров, в том числе и i—ый, сравнивает содержимое своей ячейки Ki с содержимым аналогичных ячеек других процессоров и если, например, Ki>Kj, то i—ый процессор переписывает на новое место свой текст программы, включает новый процессор, присвоив ему номер j и записывает в его ячейку Kj, содержимое собственной ячейки Ki.

Таким образом, после каждого раунда будут функционировать n компьютеров, и это может сохраняться до тех пор, пока будут резервные процессоры для замены вышедших из строя и достаточно памяти.

Если принять, что на борту есть устройства и материалы необходимые для производства процессоров, то подобная модель будет функционировать как угодно долго.

ПРИМЕЧАНИЕ 5

Эти возможности могут быть реализованы в результате развития нанотехнологии

Заметим, что рассмотренная модель нами применяется для иллюстрации использования принципа «каждый за себя» в технике. Как можно видеть, в этой модели каждый процессор работает независимо от других и это приводит к тому, что даже

ЕСЛИ В ТЕЧЕНИЕ ОДНОГО РАУНДА ОТКАЖЕТ n-1 ПРОЦЕССОРОВ, то при наличии необходимых ресурсов В СЛЕДУЮЩЕМ РАУНДЕ ЧИСЛО ИСПРАВНЫХ БУДЕТ восстановлено до n.

Остается заметить, что величина n может выбираться из условия, что за время одного раунда откажет максимум один процессор.

Не напоминает ли это механизм сохранения популяции рыб?


Защита базы данных и программного обеспечения


Мы обсудили способ обеспечения надежности процессора. В действительности предложенный способ позволяет проверить не только процессор, но и сохранность текста программы. В рассматриваемом случае мы исходим из того, что программы изначально, то есть до «загрузки» протестированы и, поэтому, нам необходимо проверять только «целостность» текста.

ПРИМЕЧАНИЕ 6

В действительности, такая проверка позволяет определить отсутствие нарушений ячеек памяти, в которой записан текст программы. Такая проверка позволяет контролировать не только текст программы, но и «целостность базы данных».

Дальше мы будем рассматривать проверку программного обеспечения аналогично проверке базы данных.

Допустим, на борту находится n компьютеров, и в каждом i-ом (i:=1, n) компьютере база данных записана в виде двух одинаковых файлов. Аi и Вi. (АiВi)

Помимо действий описанных в предыдущем разделе, каждый компьютер непрерывно выполняет следующий алгоритм:

1. Сравнить файлы Аi и Вi.. Если они не совпадают, то работу закончить. Иначе

2. Записать дату последней проверки в ячейку. Пi

3. После окончания работы всех компьютеров, сравнить Пi со значениями других компьютеров и определить разность, вычислив δi,.j= Пi — Пj для i-го и j-го компьютеров. Если для j-го компьютера, δi,.j>0, это значит, что проверка с помощью j-го процессора не обеспечивает выполнение условия (AjBj) и поэтому i-ый компьютер переписывает Аi и Вi на место Aj и Bj.

Таким образом, после каждого раунда все компьютеры будут иметь одинаковые базы данных.

Из этого следует, что база данных Аi,Вi (i:=1, n) будет сохраняться до тех пор, пока будут ресурсы, позволяющие запускать новый процессор взамен неисправного.

ПРИМЕЧАНИЕ 7

Можно предположить, что на борту находится оборудование, способное перерабатывать детали неисправного j-го компьютера под управлениемi-го. В этом случае база данных будет сохраняться до тех пор, пока не иссякнет бортовой источник энергии.

Мы обсудили возможность надежной доставки вычислительной техники вместе с программным обеспечением. Однако, возникает вопрос, достаточно ли этого?

Для того, чтобы ответить на этот вопрос следует обсудить, каким должно быть программное обеспечение?

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*