Компьютерные сети

We use cookies. Read the Privacy and Cookie Policy

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

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

Рис. 17.1. Организация и самоорганизация компьютеров. Вверху: главный компьютер распределяет задачи — организация. Внизу: отдельные компьютеры распределяют задачи между собой — самоорганизация

Преимущества подобной системы — сети, составленной из нескольких компьютеров, — очевидны. Такие компьютеры производятся серийно, они взаимозаменяемы, их можно устанавливать отдельно друг от друга в разных помещениях вычислительного центра (или какого-либо учреждения). Компьютеры могут быть как одинаковыми, так и специализированными под выполнение различных задач (некоторые должны иметь только мониторы, другие же — принтеры и прочие устройства). При этом возникают принципиально новые проблемы, связанные с тем, насколько способными к самоорганизации можно считать подобные компьютерные сети, состоящие из множества машин. С одной стороны, если эти компьютеры жестко соединены друг с другом, они опять-таки представляют собой некое подобие прежнего большого компьютера; при этом распределение задач между отдельными компьютерами определяется способом соединения. С другой стороны, существует вероятность, что компьютеры автоматически установят между собой новые связи. В этом случае один из компьютеров, нуждающийся в помощи, мог бы послать другому некий сигнал, снабженный, как говорят компьютерщики, особым «флажком» или «маркером», содержащим информацию о том, откуда и куда направлено сообщение, и запрос о готовности машины-адресата взять на себя выполнение определенной задачи. В ответ на этот сигнал вводится в действие так называемый «протокол», согласно которому компьютер, получивший сообщение, должен дать отправителю ответ о своей готовности (или неготовности) взяться за выполнение поставленной задачи. После обмена сообщениями в случае готовности происходит перенаправление задачи с одной машины на другую. Такое перенаправление, разумеется, требует некоторых затрат, каковых не возникает при жестко установленных связях между компьютерами. Задача конструкторов в данном случае состоит в том, чтобы найти оптимальное решение, располагающееся где-то между жестким заданием соединений компьютеров в сети и распределением задач, имеющим место при самоорганизации этих соединений; поиски этого решения на настоящий момент только-только начаты. Компьютеры, объединенные в подобную сеть, распределяют задачи между собой и решают их параллельно, затем переходят к новому распределению и т. д. Процессы самоорганизации реализуются, как говорят ИТ-специалисты, на уровне неких «фундаментальных структур».

Что же представляют собой эти «фундаментальные структуры»? Для объяснения вновь воспользуемся результатами многочисленных опытов, рассматриваемыми на страницах этой книги, хотя до сих пор мы ни разу не упоминали о существовании этих самых «фундаментальных структур». Как нам уже известно, в опытах с нагреванием жидкости или при химических реакциях возникновение макроскопических структур происходит в результате изменения внешних условий — например при подведении к системе большего количества энергии. В случае компьютерных сетей можно ожидать аналогичных явлений: ставя перед компьютерами больше задач, мы тем самым увеличиваем объем вводимых данных, в результате чего автоматически становится возможным иное, новое распределение задач между отдельными компьютерами, т. е. самоорганизация вычислительных процессов. При этом, правда, могут возникать и нежелательные явления, уже знакомые нам по предыдущим главам, — например осцилляции. В этом случае при распределении задач между отдельными компьютерами возникают периодические колебания, в результате чего каждый отдельный компьютер пропускает через себя колоссальный поток информации. Синергетика может помочь избежать возникновения подобных осцилляций. Воспользуемся аналогией с сетью нейронов мозга. Многократное распределение задач в компьютерной сети можно использовать для укрепления поначалу слабой связи между отдельными компьютерами. При этом в действие вступает принцип конкуренции, обеспечивающий «выживание» наиболее эффективных связей и подавление остальных; это приводит к тому, что компьютеры — точно так же, как шахматисты, — начинают в конце концов «мыслить блоками». Эти блоки не обязательно должны быть локализованы в каком-то совершенно особом компьютере — они могут находиться в разных машинах одной сети.

Наконец, существует возможность поставить всю компьютерную сеть в условия, которые действовали бы подобно дарвинистскому принципу о выживании сильнейшего; например, раз за разом ставить перед компьютерами одну и ту же задачу с условием, что метод решения постоянно должен изменяться. В итоге компьютеры остановятся на том способе решения, который, к примеру, требует наименьших затрат времени[28].

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

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

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