Anatoly Levenchuk ([info]ailev) wrote,
@ 2009-09-16 23:51:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Harold "Bud" Lawson
Имел сегодня счастье примерно час беседовать с Гарольдом Лоусоном (1937г.), который изобрел переменную типа "пойнтер" (при формулировании языка PL/1), сделал первый в мире компилятор COBOL (для UNIVAC-1, и работал этот компилятор в памяти 2Кслова!), принимал участие в разработке архитектуры компьютеров Burroughs (и регулярно общался на эту тему с Аланом Кеем), написал в 2002г. статью в Communications of ACM (вот ее черновик, по сути в конечном варианте было не так уж много изменений: http://www.ida.liu.se/ext/cugs/doclib/Lawson-WP.pdf) с тезисом о самом ужасном событии для компьютерного дела -- победе микропроцессоров (их ужасная архитектура выкинула на долгое время на свалку все, что было накоплено в опыте проектирования мейнфреймов, а экономическая модель разрушила поиск гармонии между софтом и железом за счет перераспределения функций), а также выполнил огромное количество всяких других проектов (о которых он говорит -- "я люблю помогать людям").

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

Теперь он занимается развитием системного мышления (то есть методологией), совсем недавно был архитектором ISO 15288, и сфера его нынешних интересов -- системная инженерия и образование в этой сфере (так, он читает пятидневные курсы по системной инженерии). Он Fellow одновременно в ACM, IEEE и INCOSE.

Очень надеюсь, что не последний раз с ним встречался.

16 сентября 2009г.
На фото я с Harold "Bud" Lawson (крайний справа -- Mats Bjorkeroth, управляющий директор системноинженерной фирмы Syntell).

Про СССР он рассказал, что БЭСМ-6 была восхитительной архитектуры, и что решение клонировать System/360 вместе с ее софтом было эффективным способом отбросить компьютерную промышленность СССР на десятки лет (он подчеркнул еще раз: интеллектуально десятки лет) назад. На Западе аналогичную задачу отброса тамошней промышленности назад решил микропроцессор (который поначалу был слишком прост, чтобы на нем можно было применить уже известные на тот момент архитектурные решения для мейнфреймов, а потом уже "совместимость" не позволила этого сделать -- и не позволяет этого делать до сих пор). Лоусон считает, что новые компьютерные архитектуры появятся не на Западе, а где-нибудь в на периферии мира, где просто нет денег на воспроизводство дорогих, сверхсложных и одновременно сверхслабых машин, а нужно будет что-нибудь сделать "дешево и сердито". Он полностью поддерживает тезис Алана Кея, что современные хардверные архитектуры задолжали по производительности примерно 1000 раз (http://queue.acm.org/detail.cfm?id=1039523) -- но кроме того, он считает, что они еще и вредно влияют на архитектуру софта из-за неправильного архитектурного баланса между софтом и железом.


(17 comments) - (Post a new comment)


[info]vit_r
2009-09-16 08:33 pm UTC (link)
"Увы, менеджеры склонны поощрять сложность -- за нее больше платят", с

А можно ли оригинал на английском? И можно ли на него ссылаться?

(Reply to this) (Thread)


[info]ailev
2009-09-16 08:56 pm UTC (link)
Оригинал на английском был произнесен сегодня устно, письменного текста нет :)

Я не запомнил, как это было точно по английски, я смысл запомнил. Я думаю, вполне можно на это ссылаться -- вряд ли мне послышалось. Мы как раз обсуждали, что система управления поездами в Швеции занимала меньше 30Кбайт ровно потому, что архитектура была аккуратно сделана, и система получилась простой (хотя и относилась к управляющим системам реального времени и содержала 339 процедур на микропроцессоре 68HC11 -- трюк был в том, что работу по прерываниям минимизировали, применив "софтверные цепи", software circuits). А еще то, что весь COBOL был помещен в 2Кслова. И он радостно подтверждал возможность проекта Ian Piumarta (http://www.vpri.org/html/writings.php), который работает с его корешом Аланом Кеем, надеясь запихнуть полнуфункциональную операционную систему с утилитами в 20Кстрок кода.

А затем он говорит, что этим направлениям никто не дает хода, ибо менеджеры склонны поощрять сложность (complexity), ибо за нее больше платят.

(Reply to this) (Parent)(Thread)


[info]eldhenn
2009-09-17 06:19 am UTC (link)
>запихнуть полнуфункциональную операционную систему с утилитами в 20Кстрок кода

Что такое "полнофункциональная ОС" в данном контексте?

(Reply to this) (Parent)(Thread)


[info]ailev
2009-09-17 07:37 am UTC (link)
ОС, сравнимая по функциональности с Windows XP или Windows Vista (авторы проводят прямое сравнение).

(Reply to this) (Parent)(Thread)


[info]eldhenn
2009-09-17 07:51 am UTC (link)
20к строк кода? X-window system считается частью ОС? Драйверы считаются частью ОС? HAL считается частью ОС?

(Reply to this) (Parent)(Thread)


[info]ailev
2009-09-17 08:14 am UTC (link)
А давайте вы не у меня поспрашиваете, а у первоисточника (начните, например, с http://www.vpri.org/pdf/tr2008004_steps08.pdf).

(Reply to this) (Parent)


[info]mynine
2009-09-16 09:43 pm UTC (link)
А где-нибудь ещё можно ознакомиться с реально обоснованными соображениями по поводу микропроцессоров и майнфреймов?
Данные мысли очень любопытны, но вовсе не очевидны и хотелось бы каких-то подробностей...

(Reply to this) (Thread)


[info]ailev
2009-09-16 10:03 pm UTC (link)
У меня же в блоге: http://ailev.livejournal.com/481100.html (и там по ссылкам).

(Reply to this) (Parent)


[info]avlasov
2009-09-17 08:38 am UTC (link)
С микропроцессорами не все так просто. Ибо скорость обмена микропроцессора с внешним миром не поспевает за ростом внутренней производительности процессора.
Как говорится, суперкомпьютер - это устройство, которое преобразует проблему вычислений в проблему ввода/вывода. А микропроцессоры давно уже по мощности сравнимы с суперкомпьютерами прошлого.
А еще есть проблема программирования многоядерных архитектур, мало кто умеет это делать.
Теоретически хард может и отстает в 1000 раз, но на практике спрос не велик даже на менее производительные архитектуры. Потому как окружение к такому харду совсем не готово. Начиная с системы доступа к памяти.

(Reply to this) (Thread)


[info]ailev
2009-09-17 08:42 am UTC (link)
О чем и речь. Решать нужно вопросы компьютерной архитектуры, а не процессорной архитектуры. Включая возврат к ассоциативной памяти.

(Reply to this) (Parent)(Thread)


[info]avlasov
2009-09-17 12:26 pm UTC (link)
В современных системах нет ассоциативной памяти, ибо ее заменяют софтварными хэш-таблицами.
И вобщем-то тут железо особо не поможет, ибо эффективность хэш-таблицы зависит от стратегии хэширования, приходится подбирать хэш под конкретный случай. А железная реализация не будет достаточно гибкой.
Точнее возможно сделать кое-какие оптимизации и на уровне железа, т.е. сделать какой-нить микрокод, который бы хэш вычислял. Т.е. что-то вроде чипа с программируемой микроархитектурой, в которой можно организовывать свои конвееры вычислений.
Но это не ассоциативная память в чистом виде.

(Reply to this) (Parent)


[info]avlasov
2009-09-17 08:55 am UTC (link)
с тезисом о самом ужасном событии для компьютерного дела -- победе микропроцессоров
У военных есть такая наука как метастратегия. Основная мысль в том, что потенциал мобилизации и потенциал уничтожения периодически доминируют друг над другом с циклом где-то в 250 лет. Т.е. одно время можно профессиональных военных завалить пушечным мясом, а в другие времена хорошо вооруженные профессионалы успевают отстреливать пушечное мясо быстрее, чем оно появляется на свет.
С микропроцессорами тоже самое. Много маленьких стандартных микропроцессоров сейчас побеждают специализированные разработки. По крайней мере, экономически. Но накопится критическая масса технологий, сделают архитектуры, что победят и сей тренд. Но я до того времени вряд ли доживу, как программер, по крайней мере :).

Китайцы кстати фигарят свой проц (Dragon). А японцы промышленно делают процы покруче интеловских (Grape DR, Sparc64 VIIIfx).

(Reply to this)


[info]rogovsky
2009-09-20 06:27 am UTC (link)
БЭСМ-6 были RISC?

(Reply to this) (Thread)


[info]ailev
2009-09-20 06:49 am UTC (link)
Да в компьютерах не RISC важно, а организация ввода-вывода, обращения к памяти и т.д.

(Reply to this) (Parent)(Thread)


[info]rogovsky
2009-09-20 10:38 am UTC (link)
А, ну я знаю как в военных системах отечественной разработки это было реализовано
Разумеется, с уродцем x86 не сравнить, но там и сложность на порядок выше - обычный быдлокодер ничего путного не напишет

(Reply to this) (Parent)(Thread)


[info]ailev
2009-09-20 03:34 pm UTC (link)
Мне кажется, что вы очень недобры к людям. "Быдлокодер" -- это не самая лестная характеристика для любого человека, и зря разбрасываться такими словами не стоит.

(Reply to this) (Parent)


[info]ygam
2009-10-05 12:32 am UTC (link)
Да. Но ничего революционного в ней не было: то же самое было верно и для современных ей компьютеров Control Data Corporation Сеймура Крея вроде CDC 6600.

(Reply to this) (Parent)


(17 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…