Разместил Marat Dukhan (Intel) пн, 08/06/2009 - 16:47 На прошлой неделе Дмитрий задался актуальным вопросом: чем загрузить сегодняшний суперкомпьютер, который завтра будет вмещаться под корпусом мобильника. Действительно, для настольных компьютеров уже сегодня терафлопс вычислительной мощи не кажется чем-то запредельным, а будущая архитектура CPU, Larrabee и поколение DirectX-11 GPU продвинут стандарт вычислительной мощи ещё дальше. Так, шаг за шагом мы приближаемся к новому замечательному пределу производительности в 1 Петафлопс или 1000 000 000 000 000 операций с плавающей точкой в секунду. На первый взгляд кажется, что такая вычислительная мощность ни кому и не нужна. Но, если покапаться глубже, можно найти кучу алгоритмов, которые до сих пор были слишком медленными, чтобы их использовать. В играх наконец-то появится действительно реалистичная графика (кажется, эту фраза появляется в печати с завидным постоянством, но тем не менее). С переходом 3d-графики на raytracing графика в играх засияет, как спецэффекты в голливудских фильмах. Вообще говоря, использовать raytracing можно уже сегодня, но для этого вам понадобится 4 6-ядерных Xeon'а. Кроме графики, в играх ещё есть физика, и чем ближе мы будем приближаться к петафлопсу, тем больше мир за монитором будет напоминать мир перед ним. Думаю, мы ещё дождёмся времени, когда профессора в университетах будут показывать физические опыты на примере какой-нибудь модной компьютерной игрушки. Впрочем, довольно об играх. У нас хватит и более серьёзных задач на один петафлопс. Вы часто управляете компьютером голосом? Врядли. Хотя программ для этой задачи предостаточно, у них у всех есть два общих недостатка: компьютер понимает только простые команды и он не отличает, говорите вы с ним и с приятелем по телефону. Но когда у нас будет петафлопс...когда у нас будет петафлопс производительности и петабайт памяти, мы сможем делать семантический разбор того, что говорит пользователь. Компьютер сможет не просто сопоставлять слова пользователя с набором из десяти фраз, а разбивать предложения на слова, сопоставлять их с контектом, и делать именно то, что вам нужно. А ещё с петафлопсом производительности мы сможем распознавать, что же заснято на картинку (например, с HD-вебкамеры). Сегодня компьютеры умеют распознавать лица на фотографиях, но делать полное распознавание всех объектов на картинке компьютер пока не может. Хм..наверное, это потому, что у нас ещё нет петафлопса! Ведь для этого во-первых нужна колоссальная база данных с изображениями разных предметов, а во-вторых компьютер должен уметь выполнять астрономическое число операций за сотые доли секунды. И вот когда петафлопсовый компьютер научиться распознавать, смотрите вы на него или нет, когда вы говорите, и научиться понимать, что вы ему говорите, с ним станет удобно общаться голосом. А какие новшества ожидают программистов? Вот сегодня программист пишет программу, потом запускает её билд и идёт пить кофе. Понятно, что такой путь разработки, во-первых вреден для здоровья (ибо нельзя столько кофе пить), а во-вторых не лучшим образом использует время программиста. Так что пусть программа потихоньку компилируется, оптимизируется и линкуется пока программист её пишет. Программист изменил строчку в функции — она быстро перекомпилировалась без оптимизации и начала потихоньку оптимизироваться в фоне. А программист продолжает работу над следующей функцией. А потом программист нажимает F5 — и программа тут же запускается. И ещё. Есть такая вещь — Image-based Rendering. Это когда у вас есть много фотографий одного и того же места с разных сторон и вы из них восстанавливаете 3D-модель. Вычислений это требует тьму. Но когда у нас будет петафлопс...вы любите футбол? Тогда вам понравятся трансляции футбола в 3D! Зрелищность хлынет через край: можно будет сделать виртуальный облёт камеры вокруг Аршавина перед тем самым ударом или даже посмотреть на этот гол с точки зрения мяча. Итак, ждём петафлопс! Пожалуйста, обратитесь к странице Уведомление об оптимизации для более подробной информации относительно производительности и оптимизации в программных продуктах компании Intel.
Войдите, чтобы оставлять комментарии
mt2 пн, 08/06/2009 - 08:09
С одной стороны, хочется написать что-то восторженное, типа: даешь суперпроизводительность! С другой, все те же проблемы, что и ранее: софт сильно отстает от возросших возможностей «железа». И судя по всему, не скоро, в массе своей, нагонит. И еще проблема: как только суперпроизводительность станет общедоступной – все защиты придется менять: пароли, цифровые подписи, сами стандарты шифрования. По моим ощущениям, проблемы в сфере распознавания образов сейчас отнюдь не от недостаточной производительности. Например, всевозможные диктографы потребляют очень немного ресурсов, но вот широко использовать их на практике пока, к сожалению, не удается – сами алгоритмы распознавания оставляют желать много лучшего. (Здесь больше других «виноваты» математики – не те задачи решают! – о чем я писал в другом блоге То же можно сказать и про создание 3D моделей из 2D изображений – смотрел тут одну демо пакета, «весящего» несколько тысяч долларов (неплохо для программки! – там предлагается промаркировать столько точек на 2D вручную, что трудоемкость даже простенькой модели удручает, и при этом демо почти не тормозит комп. Насчет производительности при написании/редактировании программ: в подавляющем большинстве случаев сейчас она более чем достаточна, кодеры пьют кофе: а) потому что любят кофе, б) потому что нужно подумать, в) потому что кодинг - тяжелая работа и нужно устраивать частые передышки
Войдите, чтобы оставлять комментарии
Dmitry O. (Intel) пн, 08/06/2009 - 09:18
А я считаю, что с достижением производительности в Петафлопс понятие билда просто исчезнет как класс. Ну скажите, зачем мне что-то компилировать, если там УЖЕ Петафлопс? И зачем мне что-то оптимизировать?
Даешь интерпретаторы или managed среды. А там, кстати, и сейчас билд происходит почти мгновенно. Это ведь только бедные-несчастные плюсовики до сих пор страдают от низкой скорости билдов (тут, я думаю, mt2 как любитель Pascal со мной согласится)
А если пойти дальше, то само программирование превратится в сплошное удовольствие. Представляете, - "компьютер, напиши мне, если тебе нетрудно, программку вычисляющую значение числа Пи по алгоритму Чудновского, и скинь первые двадцать миллиардов найденных знаков моему другу Васе на телефон"
Ссылка по теме: http://www.youtube.com/watch?v=x3Lm9nrFeMk
Войдите, чтобы оставлять комментарии
mt2 пн, 08/06/2009 - 12:34
> А если пойти дальше, то само программирование превратится в сплошное удовольствие. Представляете, - "компьютер, напиши мне, если тебе нетрудно, программку вычисляющую значение числа Пи по алгоритму Чудновского, и скинь первые двадцать миллиардов найденных знаков моему другу Васе на телефон"
Вот именно это я и имел ввиду! Нужен софт, позволяющий записать задание на языке, близком к естественному, получив такое задание, этот софт должен сам рыться по локальным и глобальным БД, отыскивая алгоритм (в данном случае Чудновского), трансформировать его в программу, оптимизировать под данную платформу и заданное количество цифр, откомпилировать программу, отладить, запустить и скинуть Васе на телефон. -- Но пока это мечты, и не потому что железо не тянет, а софта такого нет.
Про Pascal, конечно же, полностью согласен :))) - давно пора вспомнить о еще не забытом "старом"! Правильный язык - одна из составляющих для вывода софтовой индустрии из затяжного кризиса, каковой кризис и тормозит прогресс по железу. Другая составляющая - это принципиально новая ОС, написанная с учетом сегодншних реалий, а не залатывающая дыры ДОС и Юникса времен текстовых консолей и перфокарт. Причем начиная с БИОСа. Третья составляющая это другое железо - притом что CPU - самый сложный элемент, он сегодня самый совершенный, а со всем остальным гораздо хуже. Концепция электронного жесткого диска очень древняя, но современные флеш-карты таковой концепции отвечают очень приблизительно. Сделать постоянную память без движушихся деталей, при этом соизмеримой емкости, времени доступа и цены! - задача не простая, но наверное проще, чем сделать многоядерные CPU. Сделать комп вообще бесшумным. Про тепловые трубы и прочие тепловые насосы, в том числе и полупроводниковые, говорят уже лет тридцать, ну а блок питания пусть втрое больше объемом, но без вентилятора, это и вчера было под силу сделать. Означенного недостаточно, но даже это сильно улучшит ситуацию.
Войдите, чтобы оставлять комментарии
mt2 пн, 08/06/2009 - 12:47
Дмитрий!
Простите, что о больном. Тут, помнится, Вы жаловались, что форточки слетели и все данные погибли. Ситуация, увы, знакомая каждому. А решение давно известное: три магические клавиши не всегда приводят к рестарту, и поэтому на каждом компе есть кнопка резета. Точно так же на каждом диске должна быть кнопка, делающая специальную зону диска физически недоступной для перезаписи - read only. Именно в такую зону и должно устанавливаться ядро принципиально новой ОС. После установки переключаем в read only, и чтобы никак программно это было не изменить. И чтобы по Интернету никаких авто-обновлений системы, в том числе и вирусных. Я еще в 1991 обсуждал это с директорами известной тогда фирмы DEC (знаменитые PDP-11, потом Ваксы) на их симпозиуме в Гааге, на их машинах тогда такая кнопка была.
Войдите, чтобы оставлять комментарии
Dmitry O. (Intel) пн, 08/06/2009 - 23:18
Ну кто ж не помнит старика PDP 11 - замечательная была системка!
И чтобы быть совершенно объективным - "форточки" стояли до последнего. И данные я не терял. Скажем так, в очень больших компаниях системы автоматических обновлений доведены до полного логического абсурда. Автоматически обновляются не только Windows, но и многое, многое другое. Я думаю, это такой AI, а офисный компьютер специально дается сотруднику для увлекательной игры - кто кого? Ты апдейты, или апдейты тебя?
Так вот в тот раз победили апдейты :)))))) Хотя вы правы, проблема, если ее формулировать коротко, в изолированном ядре.
Войдите, чтобы оставлять комментарии
Ilnar вт, 09/06/2009 - 00:22
Думаю, при наличии такого объема вычисительных ресурсов можно было бы задачу программирования можно оставить самой машине -- просто дать ему готовые кирпичики (алгоритмы) с описанием входов и выходов. А уж как достигнуть конечную точку, по каким пунктам пройти - решается очень просто. В итоге все становится походим на анекдот про математика, который сводит задачу вскипятить уже полный воды чайник к пустому чайнику. Оверхеды будут покрываться за счет петафлопа. Да и тут если кубики разбить на шаги, оптимизация смогла бы выкинуть лишние участки работы как не нужные. ____________________ Борханов Ильнар
Войдите, чтобы оставлять комментарии
mt2 вт, 09/06/2009 - 04:02
К сожалению, в самой идеологии автоматического программирования много подводных камней. Важнейшей составляющей в такой системе является автоматическое преобразование программ и алгоритмов. Простейшие преобразования и сейчас осуществляются в компиляторах: раскрытие циклов, удаление мертвых переменных и мертвых фрагментов кода и т.д. И появляются те же возражения, что и против машинного решения проблемы 4х красок: если никто из людей не может понять такого решения - то это решение неприемлемо
Войдите, чтобы оставлять комментарии
eugene-klyuchnikov вт, 09/06/2009 - 22:18
Эх, легко говорить про автоматические языки, пока вам начальство не приказало написать... э-мм... реализацию онного. Это же такое количество математики граничащей с философией... В-общем - это не софт отстаёт, а человеческий мозг, который пока не в силах формализовать задачу постановки задачи... Пока учиться учат только в университете, да и то 5 лет, только homo sapiens, и только "эмпирическим" путём.
Ладно... хорошо хоть с онтологиями современный софт уже работает. Да и то - писанный не на Java, не на C++, а на D.
А петафлопс занять - как-нибудь сумеем. Вот например - быстрый алгоритм сортировки выполняется за O(N * log N). Простой - за O(N^2). А можете придумать самый медленный? Подсказка - он должен быть медленнее O(N!) ;-)
Войдите, чтобы оставлять комментарии
mt2 ср, 10/06/2009 - 16:49
Да, кроме шуток, очень серьезная проблема - как только появляется железо более чем в 4 раза "скорострельнее", так обновления большинства программ выходят со "скорострельностью" не более 1.5.
Войдите, чтобы оставлять комментарии
Гость ср, 08/07/2009 - 02:14
Когда у нас будет петафлопс... Ух... Будет где развернуться... Я даже с затаённым дыханием надеюсь, неужели 1С не надо будет ждать десятками минут при в общем-то житейски простых вопросах... А иначе может получиться конфуз. Представьте себе такой диалог, голосом: "1С, скажи мне, а сколько микросхем А007KА98Е было запаяно прошлой весной на платы РМ521666?" .... .... пауза 15 минут... .... .... .... 1С: "пятьсот!" "Ой, чего-чего пятьсот? Это ты мне?" .... пауза 25 минут...