[EN]

Парадигмы компьютерных систем

В истории компьютерных технологий можно заметить чередование двух противоположных тенденций: коллективность — индивидуализация. Первые электронные вычислители были колоссальными инструментальными комплексами, требующими целой армии обслуживающего персонала, — однако в целом оператор был полновластным хозяином, эдаким всемогущим божеством, вручную программирующим регистры и контролирующим все технические мелочи. Прошли годы — и компьютеры стали корпоративными инструментами, предназначенными для обработки самых разных запросов; роль оператора при этом стала чисто посреднической: все что от него требовалось — это скормить компьютеру колоды перфокарт и перфоленты, смонтировать магнитные ленты и флоппи-диски (тогда они были по-настоящему гибкими!) в соответствии с прилагаемыми инструкциями, а в конце нарезать тонны распечаток и распихать их по личным и корпоративным ячейкам. Как только начала развиваться многозадачность — пользователи снова получили контроль над выделенными под конкретную задачу ресурсами, так что большой компьютер эффективно становился как бы разрезан на множество маленьких компьютеров для индивидуального пользования. Эта тенденция получила материальное воплощение в программируемых калькуляторах и персональных компьютерах. Однако эра сетевых решений выдвинула на первый план парадигму "клиент — сервер", с одним центральным компьютером (сервером) коллективно используемым конечными пользователями (клиентами), разделяющими серверные ресурсы в соответствии с заданными квотами. С тех пор эта парадигма оставалась неизменно популярной — а центр противостояния индивидуальной и коллективной работы сместился в область выбора между "тонкими" и "толстыми" клиентами. Различие функций сервера и рабочей станции (или мобильного устройства) привело к специализации оборудования и программного обеспечения; в течение некоторого времени серверные операционные системы значительно отличались от клиентских (или, по крайней мере, особым образом конфигурировались). Коммерческие приложения также разделились на серверную и клиентскую компоненты — особенно в задачах документооборота и средах совместной работы.

Однако время не стоит на месте — персональные устройства всех сортов становятся более мощными и универсальными, и, может быть, широкое распространение технологий peer-to-peer приведет к реабилитации "вычислительного индивидуализма" — а сервера будут лишь обеспечивать связность сети. Когда данные и код распределены между миллионами персональных компьютеров, избыточность достигает невиданных доселе масштабов — господство централизованных хранилищ, суперкомпьютеров и гигантских кластеров подходит к концу. В каком-то смысле, каждый компьютер становится одновременно и сервером, и рабочей станцией, предоставляя то одну, то другую функцию по требованию. Такая распределенная система гораздо устойчивее нескольких выделенных серверов (с любой степенью кластеризации), поскольку устранение одного узла не влияет сколько-нибудь существенно на работу сети в целом. Очевидно, это все та же идеология Интернета — только на уровне приложений.

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

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


[Компьютеры] [Наука] [Унизм]