Кристос Сэкеллэрайоу (Christos Sakellariou) и Питер Бентли (Peter Bentley), специалисты в области информационных технологий из Университетского колледжа в Лондоне (University College in London), создали новый тип компьютера, который способен выполнять сегменты программ в беспорядочном, хаотичном порядке, а не последовательно, как это делает большинство обычных компьютеров. Такой подход в теории позволит этому компьютеру работать без любых программных сбоев практически бесконечное время.
Одной из главных причин, по которым происходят сбои в работе программ современных компьютеров, является способ построения этих самых программ. Код программы представляет собой последовательность инструкций и данных, упорядоченных в соответствии с алгоритмом программы. Проблемы с программами начинаются в тот самый момент, когда один из участков кода, выполняющийся в данный момент времени, не может выполнить свои действия правильно и вернуть управление следующему участку кода.
Для обхода вышеупомянутой проблемы исследователи создали компьютер, которые не работает на принципе последовательного выполнения кода. Вместо этого он управляет выполнением кусков информации, так называемых систем, которые содержат в себе и код и данные. При этом, выполнение этих систем производится в случайном хаотическом порядке. В результате такого хаотичного выполнения программного кода получается компьютер, способный за счет специальных уловок, восстановить на лету сбои в работе программ, и который теоретически сможет работать без сбоев, как говорится, без зависаний.
Идея создания такого компьютера была почерпнута исследователями из природы, которая демонстрирует распределенные вычислительные способности и способности к самовосстановлению после ошибок. Особенно явно такие возможности биологических систем проявляются на примере головного мозга, который выполняет "биологические программы", ответственные за мышление, поведение и реакцию людей на различные события. Помимо этого, мозг способен работать над самыми разными задачами параллельно в одно и тоже время.
Чтобы наделить подобными способностями компьютер, исследователи на базе микросхемы программируемой логики Field Programmable Gate Array (FPGA) создали специального диспетчера, который служит для выделения места в памяти и обеспечения "хаотичности" выполнения участков программ, систем. Одним из преимуществ реализации такого диспетчера на аппаратом уровне является то, что ему не требуется ждать завершения выполнения одной из систем для того, чтобы начать управление выполнением следующей системы. Таким образом, обеспечивается параллельное выполнение сразу нескольких систем в одно и тоже время. Помимо функций диспетчера выполнения, микросхема FPGA выполняет роль менеджера обмена информацией, которую передают друг другу разные системы.
Поскольку системы выполняются изолировано и не зависят друг от друга, неспособность одной из них выполнить свои действия не приведет к краху системы в целом. Помимо этого, в состав системы могут быть внедрены сторожевые системы, которые смогут обнаружить проблемы с выполнением нормальных систем и в случае обнаружения последних, перезапустить эти системы или немного изменить их код, позволив успешно завершить начатые действия.
Такой подход в компьютерном мире называется само-восстанавливающимся кодом, но, к сожалению, такие программы и компьютеры не получили еще широкого распространения. Новый компьютер, построенный исследователями, демонстрирует, что такие компьютеры, основанные на принципах теории хаоса, могут быть созданы на базе имеющихся современных аппаратных средств и что они могут эффективно справляться с возложенными на них задачами, обеспечивая при этом небывалую надежность своей работы.