Читаем Кодеры за работой. Размышления о ремесле программиста полностью

Сейбел: Но лишь немногие языки, вроде Си или C++, по-прежнему используют указатели в чистом виде. В Java есть сборка мусора, и данные перемещаются. По-вашему, это тоже излишняя локализация?

Аллен: Да. Я убеждена, что есть возможность сделать с данными то же самое, что мы сделали с вычислениями в мире оптимизации. Мы не очень хорошо умеем управлять данными. У нас нет хороших методов автоматического управления данными - установления местонахождения данных, которые будут использоваться совместно.

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

Сейбел: Вся ваша профессиональная деятельность во многом была связана с высокопроизводительными вычислениями. Однако, скажем, к 2019 году у каждого ноутбука будет 1000 ядер. Будет ли это означать, что создание высокопроизводительных и пользовательских компьютеров станет одним и тем же? Или с высокопроизводительными вычислениями все всегда будет совсем не так, как везде?

Аллен: Это, наверное, зависит от того, где мы сейчас на этой шкале. Дойти до петафлопсов - текущая задача высокопроизводительных вычислений, и я не знаю, каким образом эта задача будет решена. Естественно, битва за производительность будет вестись с помощью много-ядерности, поскольку ее движущие идеи - сокращение потребления энергии и множество других благих идей, а также решение некоторых задач на уровне элементарной физики.

Поможет решению этих задач и соревновательный элемент. Но использование этого множества ядер переводит проблему из области аппаратного обеспечения в сферу ПО, где, как мне кажется, мы не готовы ни к какому прогрессу. Использовать эти ядра - вот задача, которую нужно решать новым уровням языков. Нам нужно полностью исследовать эту проблему. Но для этого необходимо радикально новое мышление.

Думаю, за эти первые 50-60 лет (ENIAC появился в 1943 или 1944 году) мы создали не только превосходное, восхитительное - просто потрясающее - наследие, но и несколько вещей, от которых нужно избавляться. Чтобы их заменить, потребуется очень много времени, и, думаю, трудно предсказать, как все это будет развиваться. Но это развитие пойдет очень быстрыми темпами, если мы сможем применить новое мышление в нужных местах. Мы знаем, как проводить вычисления на большом объеме данных, но мы понятия не имеем, каким образом передать данные на вычислительные элементы компьютера.

Сейбел: Вы можете привести простой пример того, что понимаете под передачей данных на вычисление - в противоположность тому, что мы сегодня знаем, как делать?

Аллен: Для меня это означает собственноручно управлять данными. По сути, сегодня мы это делаем с помощью ссылок - они передаются посредством аппаратного обеспечения или фундаментальными операционными системами и системами поддержки. Зачастую эти ссылки располагаются на самом базовом уровне.

Сейбел: В том смысле, что возможен указатель внутрь структуры или массива?

Аллен: Да, на его элемент. После чего значение передается - в зависимости от протоколов аппаратного обеспечения или самой архитектуры - туда, где оно может быть использовано как часть вычислительного процесса.

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

Скорость вычислений — вот, по большому счету, что важно в высокопроизводительных вычислениях, поэтому мы делаем все для того, чтобы увеличить эту скорость. Загрузка вычислительного утройства - одна из больших задач, стоящих перед нами, но мы никогда не делали ее первостепенной задачей. Мы оставляем ее аппаратному обеспечению.

Сейбел: В своей лекции после получения премии Тьюринга вы сказали что-то вроде: “Мы на распутье, и мы можем этого не заметить. Мы можем пойти не той дорогой и идти по ней достаточно долго”.

Аллен: Да.

Сейбел: А верная дорога, по-вашему, - это вернуться к работе над автоматической параллелизацией?

Перейти на страницу:

Похожие книги

100 мифов о Берии. Вдохновитель репрессий или талантливый организатор? 1917-1941
100 мифов о Берии. Вдохновитель репрессий или талантливый организатор? 1917-1941

Само имя — БЕРИЯ — до сих пор воспринимается в общественном сознании России как особый символ-синоним жестокого, кровавого монстра, только и способного что на самые злодейские преступления. Все убеждены в том, что это был только кровавый палач и злобный интриган, нанесший колоссальный ущерб СССР. Но так ли это? Насколько обоснованна такая, фактически монопольно господствующая в общественном сознании точка зрения? Как сложился столь негативный образ человека, который всю свою сознательную жизнь посвятил созданию и укреплению СССР, результатами деятельности которого Россия пользуется до сих пор?Ответы на эти и многие другие вопросы, связанные с жизнью и деятельностью Лаврентия Павловича Берии, читатели найдут в состоящем из двух книг новом проекте известного историка Арсена Мартиросяна — «100 мифов о Берии».В первой книге охватывается период жизни и деятельности Л.П. Берии с 1917 по 1941 год, во второй книге «От славы к проклятиям» — с 22 июня 1941 года по 26 июня 1953 года.

Арсен Беникович Мартиросян

Биографии и Мемуары / Политика / Образование и наука / Документальное
Клуб банкиров
Клуб банкиров

Дэвид Рокфеллер — один из крупнейших политических и финансовых деятелей XX века, известный американский банкир, глава дома Рокфеллеров. Внук нефтяного магната и первого в истории миллиардера Джона Д. Рокфеллера, основателя Стандарт Ойл.Рокфеллер известен как один из первых и наиболее влиятельных идеологов глобализации и неоконсерватизма, основатель знаменитого Бильдербергского клуба. На одном из заседаний Бильдербергского клуба он сказал: «В наше время мир готов шагать в сторону мирового правительства. Наднациональный суверенитет интеллектуальной элиты и мировых банкиров, несомненно, предпочтительнее национального самоопределения, практиковавшегося в былые столетия».В своей книге Д. Рокфеллер рассказывает, как создавался этот «суверенитет интеллектуальной элиты и мировых банкиров», как распространялось влияние финансовой олигархии в мире: в Европе, в Азии, в Африке и Латинской Америке. Особое внимание уделяется проникновению мировых банков в Россию, которое началось еще в брежневскую эпоху; приводятся тексты секретных переговоров Д. Рокфеллера с Брежневым, Косыгиным и другими советскими лидерами.

Дэвид Рокфеллер

Биографии и Мемуары / История / Образование и наука / Документальное