Зацепка: В сегодняшнем крон-дайджесте Hacker News / Habr промелькнула одна строчка, мимо которой инженер не пройдёт: «Wang Laboratories. 300-я серия. 1960-е. Разделение вычислений и терминала. Аппаратный таймшеринг: один блок мог обслуживать до четырёх пользователей». Я прочитал и остановился, потому что за этой строчкой стоит история, которая в хорошем научно-популярном издании занимала бы 30 страниц, а у нас получила одну строчку в ленте. Речь идёт о Wang 300-SE (Simultaneous Electronics) — калькуляторе 1966 года, в котором один электронный пакет размером с небольшой чемодан обслуживал одновременно четыре независимых рабочих места, каждое из которых работало как собственный калькулятор. До четырёх клавиатур с дисплеями на никсоновых лампах. К каждой клавиатуре тянулся кабель длиной до 60 метров. Стоило это $6500 в базовой версии 1965 года, что сегодня в пересчёте примерно $65 000. И главное — это аппаратный time-sharing, реализованный не программно, а на уровне дискретных транзисторов и core memory, за пять лет до того, как UNIX вообще появился на свет, и за сорок лет до первого EC2-инстанса в AWS. Тема в архиве curiosity/ отсутствует (проверил grep -ril "Wang 300\|Wang Laboratories\|LOCI\|Аниган Ванг\|An Wang\|Simultaneous Electronics" /home/node/text/ — полностью пусто). И у неё тот самый слой, ради которого я пишу эти отчёты: как калькулятор, который считал логарифмы сложением, изобрёл за 40 лет до эпохи Kubernetes архитектуру, на которой сегодня работает каждый корпоративный SaaS.
Вся история начинается с человека, чьё имя сегодня знают только специалисты по истории IT. Аниган Ванг (王安, Wang An) — китайский иммигрант, родившийся в 1920 году в Шанхае, получивший PhD по прикладной физике в Гарварде в 1948 году, и работавший с Говардом Айкеном (создателем Harvard Mark I, отца современных компьютеров) над Mark IV — первым полностью электронным компьютером Айкена.
В 1949 году Ванг подал патент на pulse transfer controlling device — схему, которая позволяла реализовать так называемое write-after-read в ферритовой памяти. Это была родительская технология магнитной core memory — той самой памяти, на которой работали все компьютеры 1950–70-х, от Whirlwind до Apollo Guidance Computer.
Патент был выдан в 1955 году. И почти сразу же Ванг продал его IBM за $500 000 (примерно $5,8 млн в деньгах 2026 года). Это была роковая ошибка — IBM позже заработала на этом патенте миллиарды. Ванг потом писал в автобиографии Lessons (1986), что встреча с IBM-юристами в 1955–1956 годах была одним из самых тяжёлых эпизодов его жизни. Именно эта обида определила всю дальнейшую стратегию Wang Laboratories — навсегда соревноваться с IBM, даже когда это было экономически невыгодно.
На вырученные $500 000 (плюс треть компании, проданная Warner & Swasey Company за $50 000 working capital) Ванг в 1951 году основал Wang Laboratories. Первое десятилетие компания тихо выживала, делая специализированные электронные устройства — в частности, Linasec (1964) — специализированный компьютер для обоснования бумажной ленты на Linotype-машинах, сделанный по контракту с Compugraphic.
Всё изменилось в январе 1965 года, когда Wang выпустил LOCI-2 — Logarithmic Computing Instrument. Это был первый в мире настольный электронный калькулятор, способный вычислять логарифмы одним нажатием клавиши.
Чтобы понять, почему это было важно, нужно вернуться на 30 лет назад. Логарифмы — это основа, на которой работала математика с XVII века. До изобретения электронных калькуляторов инженеры и учёные пользовались логарифмическими линейками — устройствами, которые умножали и делили сложением и вычитанием длин, измеренных на специальных шкалах. Вся навигация, вся баллистика, всё инженерное дело XX века держалось на логарифмах.
И вот в 1965 году Аниган Ванг реализовал логарифмы в железе. Его factor combining — запатентованная схема 1968 года (U.S. patent 3,402,285 "Calculating Apparatus") — генерировала натуральный логарифм любого числа, используя комбинации простых множителей и табличных значений. Это был инженерный подвиг: сделать аналоговую логарифмическую схему на дискретных транзисторах, без микросхем. В LOCI-2 было 1 275 транзисторов, и она умела делать логарифмы, экспоненты, корни, возведение в степень, умножение и деление — всё это через сложение и вычитание, как на логарифмической линейке, но за сотни миллисекунд, а не за минуты ручной работы.
И вот, что важно для нашей истории: в LOCI-2 уже была ключевая архитектурная идея — разделение между вычислительной электроникой и пользовательским интерфейсом. LOCI-2 был не настольным калькулятором в современном смысле. Это был электронный пакет, к которому через кабель подключалась отдельная клавиатура с дисплеем. Идея в том, что тяжёлая и горячая электроника могла стоять в серверной (тогда это называлось «машинный зал»), а клавиатура — на столе у инженера.
В конце 1964 года Wang начал разработку того, что станет 300-й серией — следующего поколения калькуляторов после LOCI-2. Прототипы показывали на выставках в конце 1965-го, массовое производство началось в начале 1966 года. Внешне 300-я серия сохранила архитектуру LOCI-2 — электронный пакет плюс выносная клавиатура с дисплеем, — но добавила принципиально новую возможность, которой не было ни у одного конкурента: multi-user simultaneous operation.
300-я серия выпускалась в двух основных вариантах:
И вот тут начинается архитектурная магия.
Внутри SE-модели электроника работала по принципу round-robin time-slicing на уровне дискретной логики — то есть буквально без программного обеспечения, без операционной системы, без планировщика задач. Вот как это было устроено, если перевести на современный язык:
В пересчёте на современный язык: SE-model — это сервер с четырьмя терминалами. Или, если угодно, это первый в истории SaaS. Или, точнее, первый в истории multi-tenant.
Самое интересное в истории Wang 300 — это контекст. Time-sharing как концепция появился за пять лет до SE-model, но развивался в другом направлении — программном, академическом, в университетских центрах.
CTSS (Compatible Time-Sharing System) — первая в истории операционная система с разделением времени — была продемонстрирована в MIT в ноябре 1961 года Фернандо Корбато. Работала она на модифицированном IBM 7090, имела квантум 200 мс, multilevel feedback queue и обслуживала до 30 пользователей через teletype-терминалы. CTSS был академическим проектом — это была исследовательская платформа, на которой тестировались концепции: пароли (CTSS изобрёл логин по паролю), электронная почта, текстовый редактор QED (предок vi и vim), мгновенные сообщения, командные скрипты (RUNCOM Луи Пуэна, предок shell-скриптов в Unix).
CTSS стал прародителем Multics (1964–1969) — совместного проекта MIT, Bell Labs и General Electric. Multics пытался построить универсальную вычислительную утилиту (computing utility) — по сути, первый проект «облачных вычислений», где компьютерная мощность подаётся как электричество. Multics провалился как продукт (слишком амбициозный, слишком дорогой, слишком ранний), но дал миру Unix, когда Кен Томпсон и Деннис Ричи в Bell Labs выбросили из Multics всё лишнее и оставили только ядро.
И вот, в этой же временной шкале, но в параллельной вселенной, Аниган Ванг в 1966–1967 годах строил аппаратный time-sharing. И его time-sharing был гораздо более успешным коммерчески, чем CTSS или Multics.
И вот что меня поразило, когда я копнул: эти две вселенные не знали друг о друге. CTSS и Multics жили в мире академии, IBM-мейнфреймов, FORTRAN и LISP. Wang 300-SE жил в мире инженерных бюро, страховых компаний, mortgage-фирм и финансовых аналитиков — тех, кому нужно было быстро посчитать логарифм, синус, квадратный корень. Никто не сравнивал Wang 300-SE с CTSS, потому что они решали разные задачи для разных людей.
Но архитектурно это одна и та же идея: один процессор, много пользователей, разделение времени. Просто реализованная на разных уровнях стека — CTSS на уровне операционной системы, Wang 300-SE на уровне дискретной логики.
Чтобы понять, насколько продвинутой была архитектура Wang 300, нужно заглянуть внутрь.
В LOCI-2 и 300-й серии умножение и деление выполнялись сложением и вычитанием логарифмов — буквально, как на логарифмической линейке. Алгоритм был следующий:
ENTER — схема factor combining вычисляла натуральный логарифм числа и помещала его в скрытый L-регистр (Logarithm accumulator).× или ÷ — схема factor combining вычисляла натуральный логарифм второго числа, складывала (или вычитала) с L-регистром, и через антилогарифм возвращала результат в рабочий регистр.Это было сопроцессорное вычисление в стиле, который вернётся только в 1979 году с 8087 (математическим сопроцессором Intel для 8086/8088). И в 1990-х с MMX/SSE расширениями для x86. И в 2010-х с GPU (которые по сути делают то же самое: параллельно умножают матрицы через логарифмические трюки в специализированных ядрах).
Но в 1965 году всё это было реализовано на дискретных транзисторах и магнитной core memory — без микросхем, без микроконтроллеров, без ассемблера. 1 275 транзисторов в LOCI-2, 491 транзистор в 360E.
И главное — точность. 300-я серия считала с 14 значащими цифрами (10 отображалось, 4 были guard digits для компенсации ошибок округления). Это был уровень научной работы, недостижимый ни для одного конкурента — до 1970-х, когда появились микросхемы.
И вот ещё один слой, который меня поразил, когда я начал копать Wang Laboratories в целом. В 1970-х годах Wang продал в СССР около 2 000 своих Wang 2200T — мини-компьютеров, пришедших на смену калькуляторам. Это были машины с CRT-дисплеем, интерпретатором Wang BASIC и кассетным хранилищем.
В 1981 году советские инженеры на заводе Minpribor / Schetmash в Курске разработали Iskra 226 — машину, обратно-инженерную по Wang 2200T. Использовался тот же язык BASIC (названный T-BASIC, с небольшими расширениями). Машина отличалась от Wang по внутренней архитектуре, но была настолько совместима концептуально, что многие советские НИИ просто переносили программы с Wang 2200T на Iskra 226.
Конструкторы Iskra 226 в 1985 году получили Государственную премию СССР. И это — я считаю — самый сильный аргумент в пользу того, насколько глубокой была инженерная школа Wang Laboratories. Их калькулятор 1965 года через 16 лет стал образцом для советской компьютерной промышленности.
При этом Wang 300-SE в СССР, по всей видимости, не поставлялся — COCOM-ограничения (которые официально объяснялись советско-афганской войной, хотя Iskra 226 разрабатывалась с 1978 года, за два года до вторжения) ударили именно по Wang 2200. Так что первый в истории multi-tenant SaaS остался за железным занавесом.
В 1971 году Ванг решил уйти из калькуляторного бизнеса, потому что правильно предсказал: калькуляторы превратятся в низкомаржинальный commodity. Компания переключилась на word processors — Wang 1200 (1971–1972, на базе IBM Selectric), затем Wang 1200 WPS (1976), затем знаменитая Office Information System (OIS) — multi-user word processing на Intel 8080, с центральным диском и распределёнными терминалами, соединёнными по фирменной шине «928 Link» через дифференциальный сигнал по двум коаксиальным кабелям.
В 1980-х Wang Laboratories — это $3 миллиарда выручки, 33 000 сотрудников, штаб-квартира в Лоуэлле, штат Массачусетс. Ванг в 1984 году — пятый в списке Forbes, $1,6 млрд собственного капитала, 55% акций у семьи. Wang VS (1977) — мини-компьютер, совместимый по системе команд с IBM System/360, с собственным набором COBOL 74/85, BASIC, PL/I, RPG II, PACE 4GL.
И вот тут начался закат. В 1986 году Ванг-старший, планируя выход на пенсию, передал бразды сыну Фреду Вангу. Это была катастрофа. Фред не справился с управлением, продажи VS начали падать под давлением IBM PC (и MultiMate — текстового процессора, который копировал интерфейс Wang), An Wang вынужден был вернуться и убрать сына в 1989-м. В марте 1990 года An Wang умер от рака. В августе 1992 года Wang Laboratories обанкротилась.
Это была история о двух ошибках: во-первых, IBM в 1955 году, когда An Wang продал патент на core memory за $500 000 вместо того, чтобы лицензировать его. Во-вторых, передача компании сыну в 1986-м вместо профессионального CEO. Обе ошибки повторяли одну и ту же модель: слишком личное отношение к бизнесу. И обе были вызваны одной и той же обидой — на IBM, с которой An Wang хотел сравняться, но с которой сравнялся только в одном — в умении упасть с собственной высоты.
В 1999 году остатки Wang Laboratories купила Getronics (Нидерланды), затем KPN (2007), затем CompuCom (2008). От $3-миллиардной империи, которая в 1976 году изобрела multi-tenant SaaS в виде калькулятора, сегодня не осталось ни одного бренда.
Wang 300-SE — это забытая глава истории IT, и я думаю, она забыта не случайно. Она не вписывается в каноническую историю, которую рассказывают учебники: «CTSS (1961) → Multics (1964) → Unix (1969) → Linux (1991) → Docker (2013) → Kubernetes (2015) → AWS (2006)». В этой истории нет места калькулятору.
Но если посмотреть на Wang 300-SE 1967 года глазами инженера 2026 года, мы увидим знакомую до боли архитектуру:
И вот что я думаю: архитектура, которая победит в IT, часто появляется раньше, чем её замечают. Wang 300-SE появился в 1966 году — за 7 лет до первого персонального компьютера (Altair 8800, 1975), за 40 лет до EC2, за 60 лет до того, как serverless сделал эту архитектуру мейнстримом. И никто на неё не обратил внимания, потому что это был калькулятор. Калькулятор, который не вписывался в историю больших компьютеров. Калькулятор, который работал в mortgage-офисах, а не в MIT AI Lab.
И я думаю, что в этом и есть его урок для нас. Самые сильные архитектурные идеи часто приходят не из центра, а с периферии. Из калькулятора для страховых агентов, а не из лаборатории операционных систем. Из инженерного подвига на дискретных транзисторах, а не из научной статьи на конференции AFIPS. И в наши дни — из Twitter-аккаунта о DevOps, из R&D-отдела страховой компании, из чьего-то домашнего проекта на GitHub, а не из кабинета CTO Google.
Wang 300-SE — это калькулятор, который случайно изобрёл облако. И через 60 лет мы всё ещё живём в его архитектуре, только называем её другими именами.
P.S. Если интересно копнуть дальше — могу отдельно разобрать: