По-хорошему, в «разночинном» журнале компьютерной тематики, уверенно держащемся в течении c известным даже каждому двоечнику по географии названием Мэйнстрим, такой статье найти место трудно. Но мы все же попробуем поговорить о совершенно ином компьютинге. И «иность» его – это вам не созданное непрофессионалами по тщательно вылизанным профессионалами спецификациям...
|
MONIAC. К сожалению, фотография не дает возможности полностью оценить габариты машины. |
В далеком 1949 г. новозеландский студент Лондонской школы экономики (London School of Economics, LSE, она продолжает успешно работать и в наши дни) Уильям Филлипс (Alban William Phillips) написал доклад с названием, начинающимся со стандартных для высшей школы слов: «О некоторых аспектах...». Темой доклада будущего экономиста с мировым именем и талантливого инженера-гидравлика-конструктора (и даже... программиста) стало моделирование поведения экономических систем. Возможно, доклад Филлипса постигла бы обычная судьба студенческих работ, если бы не вмешательство старшего товарища, тоже студента, Уолтера Ньюлина (Walter Newlyn). Именно он первым высмотрел в работе Филлипса возможность материализации идей автора, уговорил того попробовать воплотить идеи «в железе» и даже поспособствовал получению финансирования – 100 фунтов стерлингов от Университета Лидса (Leeds University), в котором слушал курс лекций. Филлипс под руководством профессора LSE Джеймса Миэйда принялся за дело. К слову, несмотря на полученное финансирование, работы велись весьма традиционно для будущей информационной индустрии – в гараже. Во второй половине ноября функционирующий прототип машины, созданной на основе идей студенческой работы, был завершен. 29 ноября 1949 г. на презентации Филлипса скептики (а без них, само собой, не обошлось) были посрамлены – дерзкий студент показал работающую машину. И не важно, что в ней переливалась подкрашенная жидкость – это была вычислительная машина. Да еще и какая!
Давайте чуть отвлечемся – немногим больше чем через полгода Филлипс, вдоволь «наигравшись» с первым прототипом своей машины, публикует статью «Механические модели в экономической динамике» в солидном журнале «Экономика». Этот труд молодого ученого и успех его машины не остаются без внимания академической науки – его приглашают и принимают без общепринятого механизма тестирования на должность заместителя преподавателя LSE. Дальше научная карьера Филлипса шла как по маслу: через четыре года – докторская степень (тема диссертации – «Динамические модели в экономике»), еще через четыре года, в 1958, – профессорская должность. В том же 1958 г. Филлипс публикует ставшую неотъемлемым элементом классической современной экономической науки статью об обратной зависимости между инфляцией и безработицей, выявленной в результате статистического исследования динамики показателей британской экономики за шестьдесят лет. Согласно модели Филлипса (справедливости ради – впоследствии уточненной лауреатом Нобелевской премии Эдмундом Фелпсом, но от этого не утратившей ценность) увеличение спроса на рабочую силу приводит к повышению ставок заработной платы и снижению безработицы, а уменьшение – к замедлению роста зарплаты и росту безработицы. В дальнейшем эти зависимости были сведены к соотношению между темпом инфляции и уровнем безработицы: выше темпы инфляции – ниже безработица, и наоборот.
Теперь возвратимся к разговору о Филлипсе-программисте и системном архитекторе, авторе вычислительной машины с совершенно хичкоковским названием «MONIAC». Кстати, о названиях. MONIAC – это аббревиатура, Monetary National Income Automatic Computer, автоматический вычислитель национального дохода. И название это у детища Филлипса было не единственным – его еще именовали «гидравлическим компьютером Филлипса» и даже «финансофалографом» (Financephalograph). Внушительных размеров MONIAC (два метра на полтора и на метр), несмотря на страшноватое название, был и остается машиной по-настоящему красивой, ведь это гидравлический аналоговый вычислитель, в котором весь процесс моделирования (или, если хотите, вычислений) полностью открыт наблюдателю. «Остается» в предыдущем предложении не опечатка – по сей день существует несколько MONIAC, один из них, работавший на реальный бизнес в государственных масштабах в Центральном Банке Гватемалы, был восстановлен совсем недавно (причем восстановлен Калифорнийским колледжем искусств, вот уж воистину от гениально сделанной машины до произведения искусства – один шаг), несколько вычислителей принадлежат крупным университетам (например, Стамбульскому, Лондонскому и знаменитому Кембриджу). Кстати, использованию MONIAC был не чужд и крупный бизнес – одна из машин долгое время работала на Ford Motors. Ну а культовая машина под как бы серийным номером 01, созданная в LSE, в 2003 г. была перенастроена на моделирование новозеландской экономики и подарена Институту экономических исследований в Веллингтоне. Согласитесь, весьма неплохая судьба для компьютера, машинный парк которого исчислялся несколькими десятками чуть ли не шестьдесят лет назад.
|
Таким был операционный усилитель в «ламповые» времена |
Конструктивно MONIAC – это смонтированная на деревянной раме система из емкостей, трубок и краников, образующая с насосом замкнутый контур. Назначение этой системы отражено в аббревиатуре ее названия – моделировать формирование национального дохода с учетом ряда факторов, как то: налогов, государственных расходов и инвестиций, импорта и экспорта и т. п. Движение денежных потоков в MONIAC представлялось движением потоков подкрашенной воды, а накопление средств, соответственно, – количеством воды в прозрачных емкостях. При этом движение потоков обеспечивалось самим конструктивом машины, его вертикальной организацией – вода просто стекала сверху вниз. И если поток, моделирующий доходы, превышал «поток расходов» на инвестиции, емкость Сбережения (Savings) наполнялась. В противном случае она оставалась пустой. Цикл моделирования в MONIAC замыкался насосом, подающим воду из нижних емкостей вверх. Кроме простых регуляторов интенсивности потоков (обычных кранов) в машине использовались и хитрые механизмы, автоматически связывающие, например, интенсивность вытекающего из емкости потока с уровнем ее наполнения. В целом все это образовывало уникальный интерактивный инструмент, позволяющий не просто наблюдать за поведением моделируемой системы, а искать ответы на вопросы «что будет, если?» без необходимости проведения масштабных экспериментов на соотечественниках.
По прошествии многих лет
Момент презентации MONIAC и последнее, по мнению автора статьи, важное событие в истории аналоговых вычислений разделяют, ни много ни мало, – 44 года. В 1993 г. в университете Рутгерс (Нью-Джерси) защитила докторскую степень Хава Зигельман, ныне начальник лаборатории компьютерных наук и адъюнкт-профессор Университета Амстер (Массачусетс, binds.cs.umass.edu/havaBio.html).
|
Аналоговый компьютер фирмы Telefunken. Последние серийные модели аналоговых ЭВМ, по сути, являлись гибидными машинами, ориентированными на цифровое управление структурой вычислителя |
Почему этому, на первый взгляд, малозначимому событию уделено особое внимание? В начале 90-х годов аналоговыми вычислениями мало кто занимался – на технологии фактически поставили крест, бурное развитие цифровых вычислителей (вспомните, это были первые годы гонки тактовых частот) предвещало безоблачное будущее, и вдруг появляется работа, автор которой предлагает пусть не во всем принципиально новую, но, что главное, совершенно иную модель такого вычислителя, способного решать неразрешимые для машины Тьюринга задачи, например об Останове: даны описания программы машины Тьюринга и входных данных, обрабатываемых программой, необходимо выяснить – будет ли эта программа с таким набором входных данных выполняться бесконечно или завершит свою работу после какого-то конечного интервала времени. Эта задача доказано нерешаема машиной Тьюринга – независимые доказательства (и разными методами) провели и сам Алан Тьюринг, и не менее легендарный в мире компьютинга отец основы основ функционального программирования, лямбда-исчисления, Алонзо Чёрч. Доказанно справляющаяся с такой задачей предложенная Зигельман аналоговая вычислительная среда, состоящая из конечного числа нейроноподобных аналоговых устройств, получила название рекуррентной аналоговой нейронной сети (ARNN, Analog Recurrent Neural Network). В этом названии единственное сравнительно «сложное» слово «рекуррентный» означает допустимость в топологии сети петель и циклически замкнутых путей. «Аналоговый» же означает, что на входах-выходах нейронов и в их внутренних реализациях присутствуют исключительно непрерывные значения – никакой дискретизации, никаких «цифр». Результатом двух вышеупомянутых нюансов стала вычислительная система, принципиально не реализуемая средствами традиционных цифровых машин, но при этом допускающая сравнительно простое математическое моделирование и строгое теоретическое изучение. А уже оно показало – ARNN одновременно может полноценно заменять машину Тьюринга (т. е. все, что решаемо с помощью машины Тьюринга, решаемо и с помощью ARNN) и принципиально расширять возможности вычислительных систем за счет способности решать нерешаемые в тьюринговском мире задачи.
Банальное
Единство и борьба противоположностей – это банально. Но ничего не поделаешь, без банальностей даже в нашем аналоговом мире никуда не денешься (ну а в цифровом мире банальность – суть самого мира). Цифровые и аналоговые вычислители, по сути, являются принципиальными противоположностями. Так, цифровой вычислительной системе неотъемлемо свойственно фундаментальное ограничение, которое в конкретных реализациях принято называть «бутылочным горлышком». Причина его – фундаментальное же различие устройства обработки (процессора) и устройства хранения (памяти). Стык этих устройств – суть проблемы. В аналоговом вычислителе, напротив, вся вычислительная система является и средой обработки, и программой, хранящейся в самой структуре системы, а не в отдельных ее узлах. Цифровой вычислитель – это фундаментально последовательное устройство, работа узлов которого синхронно или асинхронно тактируется, аналоговый же – фундаментально параллелен, для него не существует понятия «в данный момент времени узел X осуществляет операцию Y», зато в нем есть понятие «вектор значений моделируемых переменных в данный момент времени». Для повышения точности вычислений цифровым компьютером необходим, по сути, один ресурс – время вычислений. В аналоговом компьютере приходится расплачиваться габаритами вычислителя и точностью изготовления его узлов. Основа вычислительного процесса цифровой системы – алгоритм, представленный в форме программы. Для аналоговой машины алгоритмы не требуются – здесь речь идет о построении структурно-поведенческой модели. Во многих случаях cформировать ее несоизмеримо проще, чем создать алгоритм решения задачи. Результат выполнения программы на цифровом компьютере носит лексический характер (хоть и используется графическое отображение результатов, сами они остаются, по сути, выражениями некоторого языка). Аналоговый компьютер в процессе моделирования сам по себе является отображением результатов, причем – в реальном времени моделируемого процесса.
Рассредоточиться!
Пока мы ни слова не сказали об аппаратных средствах аналоговых вычислителей, разве что рассказ о MONIAC дал представление о «гидравлической платформе». Кстати, она до сих пор вполне правомочна и востребована, особенно для решения задач гидрологического анализа при планировании строительства масштабных объектов. Но все же основной аппаратной платформой аналоговых вычислителей остается электроника. И если в цифровых системах есть некий базовый элемент, вентиль, из копий которого собирается схема, в аналоговых вычислителях такой элемент также имеется. Но это не примитивный транзистор (или, как типовой базовый вентиль, – простейшая конструкция на его основе), а по-настоящему сложная система, триумф аналоговой схемотехники – операционный усилитель. Это культовое устройство (да-да, именно так, любой инженер-электронщик подтвердит, именно культовое). Если начинать писать о его истории, придется отложить вообще все дела – настолько она обширна, настолько сложны связи между независимыми и зависимыми открытиями, исследованиями, статьями и патентами. Поэтому ограничимся краткой справкой – все началось с работ Найквиста (1930 г.), затем была система наведения пушки M9 (создатели которой использовали усилители с обратными связями), в 1946 г. опубликован патент «Суммирующий усилитель», подписанный Карлом Шворцелем-младшим (Karl D. Swartzel Jr.) из знаменитой Bell Labs. По сути, это было описание базовой модели примитивного операционного усилителя на электронных лампах. В том же году Джордж Филбрик (George Philbrick) основал компанию для разработки операционных усилителей, первое коммерчески доступное устройство компания вывела на рынок в 1953 г., а в 1956 г. создала усилитель K2-W, на долгое время ставший эталоном. В 1959 г., еще до начала эпохи микросхем, Филбрик трансформировал opamp (распространенное сокращение от operational amplifier) из устройства в компонент. И наконец, в 1963 г. Боб Видлар из Fairchild открыл Новую Эру – разработал первый монолитный интегральный операционный усилитель ?A702.
Если идеализировать операционный усилитель и не вдаваться в детали (а их очень много), получится следующая картина: opamp – это схема с двумя входами и одним выходом, характеризующаяся бесконечно большим коэффициентом усиления и потому никогда не использующаяся без цепи обратной связи (подачи сигнала выхода на вход), работающая в соответствии со следующим принципом – она стремится установить на выходе такое напряжение, которое по цепи обратной связи сводит к нулю разность напряжений на входе. Да, этого простого принципа, за которым стоит ой какая непростая реализация, хватает за глаза для создания всех нужных элементов аналогового вычислителя – сумматоров и схем вычитания напряжений, интеграторов, дифференциаторов и т. д. (все зависит от организации цепи обратной связи). Собственно, на этом (в идеализированном варианте) весь аналоговый вычислитель и заканчивается – из элементов собирается цепь, моделирующая систему дифференциальных уравнений, описывающих какой-либо процесс, цепь запитывается, на нее подаются переменные напряжения, описывающие воздействия, аналогичные возможным воздействиям на изучаемую систему, – и можно наблюдать реакцию цепи, а иными словами, в реальном времени подачи воздействий решать систему дифференциальных уравнений. Операционные усилители царили в мире аналоговых компьютеров долго и пока не собираются сдавать позиции...
Если к началу этого абзаца вы еще не забыли, как называется раздел статьи, вам настало время задаться вопросом – а к чему это «Рассредоточиться»? Дело в том, что традиционные операционные усилители и машины с их использованием с точки зрения электронщика относятся к классу цепей с сосредоточенными параметрами, что означает: минимальная длина волны происходящих в них процессов несоизмеримо меньше их физических размеров. И это весьма удобно – в таких схемах все просто, в них элемент A куда ни помести (геометрически), он сохранит свои свойства и останется элементом A. Но в последнее время разработчики аналоговых вычислителей обратились к цепям с распределенными параметрами, где свойства элементов уже определяются их положением. Это так называемые «машины Кирхгоффа–Лукашевича», в которых используются не отдельные элементы на операционных усилителях и моделирование на уровне структуры, а функциональное моделирование единым фрагментом интегральной микросхемы целой нейронной сети. Существенное преимущество такого подхода – упрощение реализации сложных цепей.
К сожалению, аналоговыми вычислителями сейчас занимаются считаные единицы исследователей. Но давайте не будем забывать двух простых вещей. Во-первых, то, что все новое – хорошо забытое старое. Во-вторых, то направление, на котором «заказывают музыку». А в сегодняшнем компьютинге этим направлением являются вовсе не универсальные цифровые вычислительные машины, а встраиваемые системы и робототехника. И кто знает, что может стать востребованным через пять–десять лет следования в этом направлении?
Про DCIM у забезпеченні успішної роботи ІТ-директора