Нет предела любознательности народа. Сначала один задался вопросом что будет, если ходить в качественно сделанном костюме вервольфа, теперь уже другой гражданин задает уже куда более умный вопрос, который звучит так:
Как в 50-х 60-х годах, скажем, когда не было ещё компьютеров, делались сложные, ниибически объёмные расчёты по космонавтике, аэродинамике?
Отличным ответом в данном случае послужит цитата из книги Вы конечно шутите, мистер Фейнман (кстати, рекомендую к прочтению целиком).
Другая проблема, над которой я работал, была вот какой. Нам приходилось делать множество вычислений, и мы делали их на счетных машинах Маршана. Между прочим, это интересно - просто чтобы дать представление, на что был похож Лос-Аламос. У нас были "компьютеры" Маршана - ручные арифмометры, калькуляторы с числами. Нажимаешь на них, и они умножают, делят, прибавляют и т.д., но не так легко, как это делается сейчас. Это были механические приспособления, часто ломающиеся, их то и дело приходилось отсылать на фабрику для починки. Довольно быстро все оставались без машинок. Тогда некоторые из нас стали снимать кожухи. (Считалось, что этого делать нельзя - правило гласило: "в случае снятия кожуха мы не несем ответственности...") Все же мы снимали кожухи и отлично обучались тому, как чинить эти машинки. Постепенно мы все больше и больше преуспевали в этом ремесле, по мере того как починки становились все более изощренными. Когда же обнаруживалось что-то слишком сложное, мы отсылали машинки на фабрику, но небольшие неисправности устраняли сами, поддерживая арифмометры в рабочем состоянии. Кончилось дело тем, что я чинил все эти "компьютеры", а один парень из механической мастерской заботился о пишущих машинках.
Ну, в общем, мы все решили, что самая главная задача - понять точно, что именно происходит во время взрыва бомбы, чтобы можно было точно указать, сколько выделяется энергии и т.д., - требовала намного больше выкладок, чем мы могли делать. Но один умный человек по имени Стэнли Френкель сообразил, что вычисления, возможно, удастся сделать на машинах IBM. Компания IBM выпускала машины для бизнеса - устройства для сложения, называемые табуляторами, и машины для умножения - мультипликаторы, в которые можно было закладывать карточки: машина считывала два числа с карточки и умножала их. Были также устройства, которые сличали числа, сортировали их и т.д.
И вот Френкель придумал замечательную программу. Если бы мы собрали довольно много таких машин в одной комнате, то мы смогли бы взять карточки и запустить их по циклу. Всякий, кто сейчас делает численные вычисления, знает точно, о чем я говорю, но тогда это было нечто новое - поточная линия из вычислительных машинок. Мы делали подобные вещи на машинках для сложения. Обычно продвигаешься шаг за шагом, проводя все выкладки самостоятельно. Но здесь все не так - сначала обращаешься к "слагателю", затем к "умножителю", опять к "слагателю" и т.д. Одним словом, Френкель спроектировал такую систему и заказал калькуляторы в компании IBM, поскольку мы поняли, что это хороший способ решения наших проблем.
При этом нам нужен был человек, который чинил бы машинки, поддерживал бы их в порядке и все такое. Военные все время собирались прислать нам такого человека из своих рядов, но дело постоянно задерживалось. Теперь мы всегда были в спешке. Все, что мы делали, мы старались делать как можно быстрее. В данном конкретном случае мы разработали все численные операции - предполагалось, что их будут делать машины - множь это, потом сделай это, потом вычти это. Мы разработали программу, но у нас пока не было машин для реальной проверки. Поэтому мы посадили в комнату девушек и снабдили каждую калькулятором Маршана: одна была "умножителем", другая - "слагателем". Еще одна возводила в куб: все, что она делала, - возводила в третью степень число на карточке и отправляла ее следующей девушке.
Так мы прошли по всему циклу, пока не "вылизали" его, не избавились от всех скрытых ошибок. Оказалось, что скорость, с которой мы теперь были в состоянии вычислять, стала чертовски большой - намного больше, чем при другом способе, когда каждый человек все шаги проделывал сам. По этой системе мы получили скорость вычислений, совпадающую с предсказываемой скоростью для машины IBM. Единственная разница состояла в том, что машины IBM не уставали и могли работать в три смены. А вот девушки через некоторое время уставали.
В общем, во время этой репетиции мы все отладили, и, наконец, прибыли машины, но без мастера-ремонтника. Это были, пожалуй, самые сложные машины в технике того времени - большущие (они пришли частично разобранными) с множеством проводов и чертежей, на которых было показано, как и что делать. Мы спустились вниз и принялись собирать машины, Стэн Френкель, я и еще один парень, но у нас возникли кое-какие неприятности, и самая серьезная из них состояла в том, что большие шишки приходили все время и говорили: "Вы что-нибудь сломаете!"
Мы собрали машины, и иногда они работали, а некоторые были собраны не правильно и не работали. В конце концов я принялся работать над одним из умножителей и увидел внутри какую-то согнутую часть, однако я боялся ее выпрямить, потому что она могла бы отломиться - а ведь нам все время твердили, что мы запорем что-нибудь так, что не исправишь. Когда, наконец, приехал мастер-ремонтник, он собрал еще неготовые машины, и все пошло как по маслу. Однако и у него возникли трудности с той машиной, с которой я не справился. После трех дней работы он все еще возился с этой последней машиной.
Я спустился вниз и сказал:
- Я заметил, что здесь согнуто.
Он обрадовался:
- А, ну, конечно, все из-за этого изгиба.
А что касается мистера Френкеля, который затеял всю эту деятельность, то он начал страдать от компьютерной болезни - о ней сегодня знает каждый, кто работал с компьютерами. Это очень серьезная болезнь, и работать при ней невозможно. Беда с компьютерами состоит в том, что ты с ними играешь. Они так прекрасны, столько возможностей - если четное число, делаешь это, если нечетное, делаешь то, и очень скоро на одной-единственной машине можно делать все более и более изощренные вещи, если только ты достаточно умен.
Через некоторое время вся система развалилась. Френкель не обращал на нее никакого внимания, он больше никем не руководил. Система действовала очень-очень медленно, а он в это время сидел в комнате, прикидывая, как бы заставить один из табуляторов автоматически печатать арктангенс x. Потом табулятор включался, печатал колонки, потом - бац, бац, бац - вычислял арктангенс автоматически путем интегрирования и составлял всю таблицу за одну операцию.
Абсолютно бесполезное занятие. Ведь у нас уже были таблицы арктангенсов. Но если вы когда-нибудь работали с компьютерами, вы понимаете, что это за болезнь - восхищение от возможности увидеть, как много можно сделать. Френкель подцепил эту болезнь впервые, бедный парень; бедный парень, который изобрел всю эту штуку.
Меня попросили прервать работу, которой я занимался в своей группе, спуститься вниз и принять группу, работавшую на машинах IBM. Я постарался избежать болезни. И хотя вычислители сделали только три задачи за девять месяцев, у меня была очень хорошая группа.
Истинная беда состояла в том, что никто никогда этим ребятам ничего не рассказывал. Военные выбрали их со всей страны для команды, которую назвали "Специальным инженерным подразделением" - в ней были умные парни, закончившие школу и обладавшие инженерными способностями. Потом их послали в Лос-Аламос и разместили в казармах. И им ничего не сказали.
Затем ребята пришли на работу, и единственное, что они должны были делать, это работать на машинах IBM - пробивать дырки в карточках, манипулировать с числами, которых они не понимали. Никто не объяснил им, для чего все это нужно. Дело двигалось очень медленно. Я сказал, что первое, что необходимо предпринять, это дать людям понять, чем все-таки они занимаются. Тогда Оппенгеймер переговорил в отделе безопасности и получил специальное разрешение, и в результате я смог прочесть техническому персоналу хорошую лекцию о том, что именно мы делаем. Они все пришли в страшное возбуждение: "Мы тоже сражаемся на войне, мы понимаем, что это такое!" Теперь они знали, что означают числа. Если выходило, что давление становится выше, значит, высвобождается больше энергии и т.д., и т.п. Они знали, что делают.
Полное перевоплощение! Они начали изобретать способы, как бы сделать процесс получше. Они усовершенствовали схему. Они работали по ночам. Ночью ими не нужно было руководить, им не требовалось ничего. Они все понимали, они изобрели несколько программ, которые мы потом использовали.
Да, моих парней действительно прорвало, и все, что для этого требовалось, - это рассказать им, чем мы все занимаемся. В итоге, если раньше требовалось девять месяцев на три задачи, то теперь мы пропустили девять задач за три месяца, что почти в десять раз быстрее.
Одна из тайных уловок при решении задач была вот какой. Задачи содержались в колоде карточек, которые должны были пройти по циклу. Сначала сложи, потом умножь - так это и шло по циклу машин в комнате, медленно двигалось по кругу. Мы придумали параллельно, но в другой фазе, запустить по циклу набор карточек другого цвета. Мы делали две или три задачи одновременно!
Однако это втянуло нас в другую проблему. В конце войны, например, прямо перед испытаниями в Альбукерки встал вопрос: сколько высвободится энергии? Мы вычислили энерговыделение для различных проектов, но не для того конкретного проекта, который в конце концов был использован. Тогда к нам спустился Боб Кристи и сказал: "Мы бы хотели иметь результаты действия этой штуки через месяц, - или спустя другое, тоже очень короткое время, вроде трех недель".
Я заявил: "Это невозможно".
Он сказал:
- Смотри, вы выдаете почти две задачи в месяц. На каждую уходит только две или три недели.
Я возразил: "Я знаю. Фактически на каждую задачу уходит гораздо больше, но мы делаем их параллельно. Пока они движутся по циклу, уходит много времени, и нет способа заставить их двигаться быстрее".
Он вышел, а я начал думать. Есть ли способ заставить задачу двигаться быстрее?
Что если бы мы не делали ничего другого на машинах, так что нам ничто не мешало бы? Я бросил вызов нашим молодцам, написав на доске: МОЖЕМ ЛИ МЫ ЭТО СДЕЛАТЬ? Они начали вопить: "Да, мы будем работать в две смены, будем работать сверхурочно!" - и всю подобную чепуху. Мы попробуем, мы попробуем!
Итак, было решено: все другие задачи - вон! Только одна задача, и полная концентрация на ней. Они начали работать.
...
Когда я вернулся к своей вычислительной работе, то обнаружил полную мешанину. Там были белые, карточки, голубые карточки, желтые карточки, и я начал возмущаться: "Ведь мы же договорились - не больше одной задачи, только одну задачу!" Мне сказали: "Уходи, уходи отсюда. Подожди, мы все тебе объясним".
Мне пришлось ждать, а произошло вот что. Когда пропускали карточки, машина иногда делала ошибку, или на карточке набивали не правильное число. Обычно в таких случаях нам приходилось возвращаться назад и все начинать сначала. Но мои сотрудники заметили, что ошибка в каком-то пункте в данном цикле сказывается только на соседних числах, в следующем цикле - снова на близлежащих числах и т.д. Так это и идет по всей колоде карточек. Если у вас 50 карточек и ошибка допущена в карточке Э39, она сказывается на карточках Э37, 38 и 39. В следующем цикле - на карточках Э36, 37, 38, 39 и 40. А затем она распространяется как болезнь.
Мои сотрудники обнаружили ошибку в том, что было уже сделано раньше, и у них возникла мысль - провести выкладки заново для небольшой колоды из десяти карточек вокруг ошибки. А поскольку десять карточек пройдут через машину быстрее, чем колода из пятидесяти карточек, они пропустят маленькую колоду, продолжая оперировать с пятьюдесятью карточками, в которых, как чума, распространяется ошибка. Но поскольку десять карточек будут готовы быстрее, они изолируют ошибку и исправят ее. Очень умно.
Вот как эти парни работали, чтобы увеличить скорость. Другого способа не было. Если бы им пришлось остановиться для исправления ошибки, мы бы потеряли время, а взять его нам было неоткуда. Вот так они работали.
Конечно, вы уже догадались, что случилось, пока они так действовали. Они обнаружили ошибку в голубой колоде. И тогда они добавили желтую колоду с несколько меньшим числом карточек - ее можно было прокрутить быстрее, чем голубую колоду. И вот как раз в тот момент, когда они были на грани умопомрачения, поскольку после исправления голубой колоды им еще придется править белую, приходит босс.
- Не мешайте, - говорят они. Я оставляю их одних, и все получается. Мы решили задачу вовремя.
Тэги: Dec2007 Разное Полезные сведенья
Комментировать:
Архив:
Jul2024 Jun2024 May2024 Apr2024 Mar2024 Feb2024 Jan2024 Dec2023 Nov2023 Oct2023 Sep2023 Aug2023 Jul2023 Jun2023 May2023 Apr2023 Mar2023 Feb2023 Jan2023 Dec2022 Nov2022 Oct2022 Sep2022 Aug2022 Jul2022 Jun2022 May2022 Apr2022 Mar2022 Feb2022 Jan2022 Dec2021 Nov2021 Oct2021 Sep2021 Aug2021 Jul2021 Jun2021 May2021 Apr2021 Mar2021 Feb2021 Jan2021 Dec2020 Nov2020 Oct2020 Sep2020 Aug2020 Jul2020 Jun2020 May2020 Apr2020 Mar2020 Feb2020 Jan2020 Dec2019 Nov2019 Oct2019 Sep2019 Aug2019 Jul2019 Jun2019 May2019 Apr2019 Mar2019 Feb2019 Jan2019 Dec2018 Nov2018 Oct2018 Sep2018 Aug2018 Jul2018 Jun2018 May2018 Apr2018 Mar2018 Feb2018 Jan2018 Dec2017 Nov2017 Oct2017 Sep2017 Aug2017 Jul2017 Jun2017 May2017 Apr2017 Mar2017 Feb2017 Jan2017 Dec2016 Nov2016 Oct2016 Sep2016 Aug2016 Jul2016 Jun2016 May2016 Apr2016 Mar2016 Feb2016 Jan2016 Dec2015 Nov2015 Oct2015 Sep2015 Aug2015 Jul2015 Jun2015 May2015 Apr2015 Mar2015 Feb2015 Jan2015 Dec2014 Nov2014 Oct2014 Sep2014 Aug2014 Jul2014 Jun2014 May2014 Apr2014 Mar2014 Feb2014 Jan2014 Dec2013 Nov2013 Oct2013 Sep2013 Aug2013 Jul2013 Jun2013 May2013 Apr2013 Mar2013 Feb2013 Jan2013 Dec2012 Nov2012 Oct2012 Sep2012 Aug2012 Jul2012 Jun2012 May2012 Apr2012 Mar2012 Feb2012 Jan2012 Dec2011 Nov2011 Oct2011 Sep2011 Aug2011 Jul2011 Jun2011 May2011 Apr2011 Mar2011 Feb2011 Jan2011 Dec2010 Nov2010 Oct2010 Sep2010 Aug2010 Jul2010 Jun2010 May2010 Apr2010 Mar2010 Feb2010 Jan2010 Dec2009 Nov2009 Oct2009 Sep2009 Aug2009 Jul2009 Jun2009 May2009 Apr2009 Mar2009 Feb2009 Jan2009 Dec2008 Nov2008 Oct2008 Sep2008 Aug2008 Jul2008 Jun2008 May2008 Apr2008 Mar2008 Feb2008 Jan2008 Dec2007 Nov2007 Oct2007 Sep2007 Aug2007 Jul2007 Jun2007 May2007 Apr2007 Mar2007 Feb2007 Jan2007 Dec2006 Nov2006 Oct2006 Sep2006 Aug2006 Jul2006 Jun2006 May2006