Разделы
Счетчики
Суперкомпьютеры-2015
В интервью "Ленте.ру" директор подразделения Microsoft Technical Computing Кирилл Фаенов рассказал о будущем высокопроизводительных компьютерных вычислений. В частности, Фаенов сообщил, в каких направлениях будут наиболее востребованы подобные вычисления в будущем.Лента.ру: Насколько нам известно, вы занимаетесь задачами, связанными с высокопроизводительными вычислениями, серверами и системами, которые могут выдерживать большую нагрузку. Расскажите, какие вычисления необходимы для решения научных проблем?
Этим направлением я занимался последние пять лет. За последний год мы открыли новое направление, расширяющее то, чем мы занимаемся в высокопроизводительных вычислениях. Это направление - technical computing. У нас есть желание и видение того, как более комплексно решать проблему научных расчетов. Высокопроизводительные вычисления - это область, которая занимается очень узкой частью научных расчетов, проблемой того, как, собственно, рассчитать некоторую модель в очень больших масштабах или анализировать большие массивы данных.
Если посмотреть на научный процесс в целом - это циклический процесс сбора данных, выявления закономерностей, построения модели, тестирования этой модели на новых данных и использования этой модели для моделирования каких-нибудь инженерных решений, для принятия решений о том, как более эффективно распределить ресурсы, оптимизация практически в любой области.
В этом процессе задействовано много ярусов IT-системы. Отметим, что высокопроизводительные вычисления работают с моделями. Но как эти модели создаются?
На сегодняшний момент отсутствует процесс автоматического создания моделей, отсутствует эффективная поддержка всего цикла научных расчетов. При этом в большинстве случаев ключевой частью этого процесса являются ученые, ведь именно они выдвигают гипотезы. И поэтому мы рассматриваем весь цикл в комплексе. От анализа данных до построения моделей, до их тестирования, их использования уже в конкретных IT-решениях внутри предприятия.
Задача Microsoft - облегчить использование компьютерных ресурсов как можно большему числу пользователей. Эта же задача перед нами стоит и в научных вычислениях. В мире примерно 70 миллионов научных работников, включая, например, финансовых аналитиков, занимающихся серьезными расчетами. Из них примерно 15 миллионов используют какие-либо компьютерные средства для проведения расчетов, и только один миллион использует высокопроизводительные вычисления.
Наша конечная цель - упростить научный цикл для 70 миллионов пользователей. Мы хотим, чтобы они в полной мере использовали возможности для создания моделей с достаточной точностью. Конечно, "облачные" решения играют свою роль в этой области. Моя область, technical computing, - это общее название, в которое входит создание пакетов для физиков, математиков, людей с прикладными задачами. Мы позволяем им визуализировать данные, фильтровать их, строить и оптимизировать модели, использовать языки программирования, которые более удобны не для профессиональных программистов, а именно для людей с математическим образованием.
Эти модели, выраженные высокоуровневыми языками программирования, можно передать профессиональным программистам, а те могут их использовать для коммерческих решений, например встраивать в систему принятия решений на предприятии.
Можно распараллелить модели для более масштабных вычислений. Чтобы они либо анализировали большие массивы данных, либо могли просчитать больше вариантов и сценариев, причем каждый из них с более высокой точностью. Для того чтобы обеспечивать эту эффективность, мы создаем HPC-решения на базе серверной операционной системы Windows. "Облачная" платформа Windows Azure позволяет донести HPC-ресурсы до большего числа пользователей, включая тех, которые даже никогда себе не представляли, что у них будут ресурсы для того, чтобы поставить свой собственный вычислительный кластер.
То есть вы хотите несколько расширить аудиторию в миллион научных работников, которые сейчас используют высокопроизводительные вычисления. Как вы считаете, из 70 миллионов, скольким потенциально нужны такие высокопроизводительные решения?
Из потенциальных 70 миллионов 15 миллионов человек уже используют компьютерные средства для математического моделирования. По опросам, которые проводила IDC, более 50 процентов использующих настольные компьютеры для таких задач, говорят, что есть задачи, к которым с их средствами не подступиться. Только 10 процентов используют кластерные решения, то есть мы видим, что сегодня людей, у которых уже есть такие плохо решаемые на их технике задачи, как минимум в 5 раз больше, чем пользователей HPC. Учитывая, что темп сбора данных в любой области повышается и обработка этих данных для эффективного принятие решений становится все более и более актуальной, то, скорее всего, этот рынок может увеличиться в 10 раз.
Есть конкретный пример - посмотрим, что происходило в финансовой среде, примерно в 1998 – 2000 году, когда довольно серьезные HPC мощности стали употребляться крупными банками для хеджирования, анализа рисков, но это происходило только в самых крупных банках. Последние несколько лет страховые компании смотрят на усложняющуюся среду, например, на рост числа катастроф, и понимают, что им нужно увеличить мощность средств расчета рисков и активов, это повышает запросы вычислительной мощности в 100 раз, а через год - в тысячу раз.
Вы могли бы назвать какие-то наиболее яркие научные, академические способы применения высокопроизводительных вычислений сейчас и в условном 2015 году? Или любом другом, когда ваш прогноз сбывается и 15 миллионов человек начинают использовать "облачную" архитектуру, позволяющую им сделать то, что хочется.
В научной среде первые высокопроизводительные вычисления были посвящены погоде. Созданный полвека назад первый компьютер ENIAC делал баллистические расчеты и расчеты, связанные с погодой. То есть военные и метеорологи всегда были начальными пользователями.
За последние 10 лет можно говорить о росте использования технологий в медицине. Генетика, наверное, была бы невозможна без компьютерных мощностей. Например, такая программа, как BLAST, позволяет осуществлять поиск фрагментов ДНК в базе данных ДНК. Она коренным образом изменила медицинские исследования. Также могу привести в пример моделирование протеинов, моделирование лекарств на квантово-химическом уровне - это те расчеты, в которых за последние 10 лет активно использовались высокопроизводительные мощности.
Также меня очень интересует перспективная область машинного видения и обработка больших массивов фотографий. Например, в медицине накапливаются гигантские объемы результатов магнитно-резонансного сканирования. Или можно вспомнить спутниковую фотосъемку, которая дает все лучшие снимки незасекреченных областей всего мира. Обработка и выявление информации из фотоснимков и других изображений будет очень перспективной областью.
Очевидно к чему это может привести в медицине – статистический анализ огромных массивов данных большого числа пациентов.
Обнаружение патологий, которые не заметил обычный врач.
То, о чем сегодня говорят, - индивидуальная медицина. Представьте, каждый даст на исследование свою ДНК или каждый будет ежегодно делать томографию, и у нас есть информация на 80 процентов населения в одном архиве, в котором можно сделать статистический анализ и выявить какие-то тренды по возрастным группам или каким-нибудь другим признакам.
Получается "облачный" доктор Хаус.
Да-да. Есть пример из другой области. Microsoft очень плотно сотрудничает с Институтом космических исследований. У них есть много наработок в области использования спутниковой съемки для анализа таких вещей, как лесные пожары, особенно в труднодоступных областях, определение уровня влияния на местность, скажем, засухи, чтобы можно было выделять государственные ресурсы на помощь каким-то областям, без трудоемких измерений.
Можно использовать спутниковую съемку для принятия решений в случае аварий и катастроф, например, землетрясений, чтобы определить, где произошли разрушения, опять же вместо того, чтобы посылать людей, чтобы они что-то исследовали. Можно выявить через сравнение космических снимков места, где произошли изменения.
Возвращаясь к медицине, только к сфере профилактики, надо упомянуть телеметрию, отслеживание информации об изменениях веса, содержания сахара в крови, частоты пульса. Я думаю, что через 5 или через 10 лет у каждого человека будут какие-нибудь часы - как сейчас у всех есть мобильные телефоны - которые будут фиксировать простейшую информацию, такую как уровень сахара и пульс.
В развитых странах выделяют три основных фактора здоровья всего общества – это диета, уровень стресса, упражнения. Эти факторы можно будет отслеживать, измерять, запускать государственные программы, продвигать здоровое поведение людей в больших масштабах, уменьшать тем самым число патологий. Такие вещи могу стать реальными в течение следующих 5-10 лет.
Для образования это как-то подходит?
Я довольно тесно работал в Сиэтле с группой, которая решила помочь детям с синдромом Аспергера (легкая степень аутизма). Это катастрофически растущая область, по крайней мере в Америке.
Да, как только хакера ловят, он сразу говорит, что у него синдром Аспергера.
Кстати, интересно, что в Кремниевой долине и в Сиэтле, где работает много программистов, число детей с Аспергером растет с большой скоростью. Проблема в том, что лечение стоит примерно 30-40 тысяч долларов в год. Возникает вопрос, как эффективно помочь детям в больших масштабах. Компания, которая была создана на базе Вашингтонского университета, через компьютерные игры смогла показать эффективность изменения поведения детей с синдромом Аспергера и получения простейших навыков, которые позволяют им больше внимания уделять собеседнику.
Часть синдрома Аспергера заключается в том, что больные не сосредотачиваются на лице собеседника. Детям 4-5 лет предлагаются компьютерные игры, которые помогают им концентрировать внимание. Это было сделано как "облачное" решение, что позволило собирать статистику, чтобы потом на основании этих данных делать индивидуализированные планы лечения для каждого ребенка. Это один пример.
Также есть ряд школ в Америке, которые пытаются строить индивидуализированные планы тестов, уроков, и использовать сбор информации и статистический анализ в больших масштабах, чтобы повысить эффективность процесса обучения.
До того, как появилась концепция cloud-ов, "облаков", до того, как большие компании завели серверные фермы, была достаточно развита (и до сих пор работает) концепция распределенных вычислений. На клиентских компьютерах запускается какая-то программа, и она что-то там считает, пока компьютер простаивает. Например, у моего коллеги есть такая программа, которая борется с раком. Как вы относитесь к этой концепции и к ее перспективам? Понятно, что, в принципе, с одной стороны - это остроумное решение, а с другом стороны, если есть серверная ферма, то можно обеспечить какой-то более стабильный темп расчетов, безопасность и так далее.
Мы считаем это перспективным направлением. Многие клиенты спрашивают нас об этом решении. Windows HPC Server 2008 R2, который выйдет этим летом, будет поддерживать возможность использования рабочих станций как части кластерных ресурсов, в качестве дополнения к ним.
Проблема в том, что распределенные системы не позволяют делать важные части расчетов. В частности, задачи по обработке больших массивов данных решаются очень эффективно, если есть некий расчет, который можно считать на отдельном узле. Но делать этот расчет нужно, учитывая миллионы различных параметров. То есть речь идет о параметрических вычислениях, когда можно послать задачу на отдельный компьютер, там что-то рассчитать и вернуть результаты обратно. Если же нужен статистический анализ, корреляция на огромном массиве данных, то невозможно изначально разбить это все на кусочки, поскольку приходится сравнивать все со всем.
Другой пример - расчет погоды. Берется большая площадь, целая страна. Если делать расчет на следующий день на всю страну на одной машине, это займет целый день. Поэтому страна делится на ряд областей, каждая из которых считается на отдельном компьютере. Но при этом из-за динамики нужно синхронизировать параметры на каждом из этих кусков, и это отнимает много времени. Таких взаимодействий много. Чтобы закончить все это вычисление в довольно быстром темпе, надо, чтобы все эти измерения произошли быстро. Если же это распределенная система, то обмен данными сможет заблокировать всю корпоративную сеть, а если это делать через интернет, то это вообще может занять слишком много времени. Существует целый класс решений, которые не эффективны в распределенных вычислениях.
Еще один вопрос, схожий - о высокопроизводительных вычислениях с помощью графических процессоров, с помощью параллельных вычислений и так далее. Вскоре мы будем говорить с Nvidia, которая этим активно занимается. Хотелось бы узнать мнение Microsoft на эту тему, потому что много говорят о перспективности подобных решений, но, в то же время, традиционные суперкомпьютеры часто строят на базе традиционных серверов и модулей.
Мощный суперкомпьютер RoadRunner создан на базе именно графического процессора Cell, который используется как акселератор, и обычных серверных процессоров AMD Opteron. Тенденция к использованию графических процессоров действительно есть. За последние несколько лет мы увидели взрывной рост на этом рынке. Конечно, нужно отдать должное Nvidia за очень эффективную реализацию их планов, как в технической, так и в маркетинговой области.
Нужно отдать должное возможности использовать графический процессор для совершенно реальных расчетов. Но, опять же, не для всех решений. Проблема параллельных вычислений в том, что слишком много разных типов задач, которые не ложатся на все архитектуры. Но довольно большое количество задач графические процессоры поддерживают хорошо. Так что это действительно реальный тренд, которые есть сейчас, и в течение следующих пяти лет, я думаю, мы увидим еще больше суперкомпьютеров, построенных на базе гибридных архитектур. Возможны также "облачные" решения, включающие в себя подобные coпроцессоры.
Если они станут действительно популярными для важного класса задач, то повлияют на изменения архитектуры самих процессоров. Ведь математические сoпроцессоры сначала были отдельными, а потом, в конце концов, они влились в чипы.
Потому что, допустим, не 100 процентов программ, а 20 используют вычисления с плавающей точкой, но при большом рынке становится дешевле интегрировать такой модуль в обычный процессор. А если мы посмотрим на закон Мура, который продолжает соблюдаться, то есть каждые два года удваивается число элементов в процессоре...
Каждые два года закон Мура хоронят.
Сейчас говорят о том, что все процессоры стали параллельными. Мы можем представить себе многоядерные чипы с сотнями процессорных ядер, и можно в какой-то момент сказать, что часть из них будет отдана под специализированные архитектуры, так же как вычисления с плавающей точкой перешли на обычный процессор.
Вопрос в том, как через пять лет на архитектуру обычных процессоров повлияют ставшие эффективными акселераторы.
Очевидно, что те же графические процессоры, которые сейчас используются для параллельных вычислений, стараются охватывать все больший класс решений. В СМИ, например, часто говорят, что GPU поработят обычные процессоры, потому что их в конечном итоге каким-то образом можно будет использовать для обычных вычислений. В то же время, допустим, Intel и AMD взяли курс на увеличение числа ядер, как вы и сказали, и, соответственно, в конечном итоге это все, как я понимаю, сольется во что-то одно.
Стимул покупки AMD компании ATI как раз в том, что в какой-то момент ядра станут гетерогенными, то есть будут какие-то для параллельных вычислений, какие-то для обычных, в этом, как мне кажется, и состоит видение разных компаний. Вопрос - сколько нужно будет этих разных ядер и каков процент задач, для которых действительно нужен будет отдельный вид транзисторов, и пересчитать на стоимость создания таких вещей, их производства.
У вас наверняка есть какое-то видение того, каким будет мир через 5 лет. На YouTube был ролик, который назывался Microsoft's Vision For 2019. Представьте, что решения Microsoft или тенденции, которые Microsoft задает вместе с остальными компаниями, победили. Как будет выглядеть окружающий мир в 2015 году?
Microsoft в общем или в рамках technical computing?
В общем. Но, конечно, интересно и то, и то.
Одно из главных направлений - это интеграция компьютерных систем в окружающий мир и слияние с окружающим миром. Мобильные телефоны стали теперь уже не только телефонами, но и компьютерами, но и интерфейсами для огромного количества решений, которые мы принимаем каждый день, например, возможность сфотографировать этикетку на каком-то продукте и решить, где его лучше купить, возможность выбрать направление движения, в зависимости от того, какая где загруженность дорог, возможность определить каким рейсом лучше лететь, если происходит задержка, как вернуться домой, если ваш вылет отменен.
Ежедневно множество задач, для которых мы и не думали применять компьютер, становятся совершенно реальными с мобильными телефонами. Вы когда-нибудь видели Microsoft Surface?
Да, видел, это такой большой сенсорный "стол".
Очень интересное решение, которое позволяет взаимодействовать не только с портативными компьютерами, но и с предметами в нашем реальном мире. У вас есть стена, на которой можно, допустим, располагать ваши документы и работать, а дети могли бы использовать ее как игрушку. То есть мир становится все гибче и пластичнее, реагирует на наши желания и потребности в каждой конкретной ситуации. Это, наверное, один из главных трендов.
Второй - это то, что мы делаем в области вычислений: комбинация данных и сложных моделей для прогнозирования принятия решений. Есть пример с картами - до этого мы смотрели карты на компьютере, теперь можно смотреть карты на телефоне, поверх них накладывается информация о том, где пробки и где какая интенсивность движения, потом можно смотреть в календаре, какой у меня план на день. Появляется подсказка, каким образом туда лучше доехать или как изменить свой график. Все более и более умное взаимодействие между тем, что происходит в окружающем мире, и моими задачами, и подсказка в реальном масштабе времени в зависимости от ситуации, в которой я нахожусь.
И это появляется в огромном количестве областей. На предприятиях, например, так создаются новые продукты и лекарства. То же самое происходит и с обычными пользователями, которые получают информацию о возможных последствиях принятия тех или иных решений.
В наших интервью есть традиционный вопрос. Если бы у вас была возможность перенести и внедрить любую технологию из 2015 года в 2010-й, какую бы вы выбрали?
Гигантский гибкий дисплей, как обои, которые можно наклеить или положить в любом пространстве, и взаимодействовать с ним.
Почему именно это?
Потому что это открывает больше возможностей для работы. Если посмотреть историю развития пользовательских интерфейсов, то размер поверхности, с которой мы взаимодействуем, играет решающую роль в производительности труда и удовлетворенности развлечениями.
Почему мы стремимся покупать большие телевизоры и мониторы? Поскольку 80 или 90 процентов информации поступает к нам в виде зрительных образов. Объем, который мы можем захватить, имеет огромное влияние на то, как мы взаимодействуем с каким-то предметом. То есть возможность обладания гибкой и бесконечной поверхностью была бы очень полезна.
Гибкость этой поверхности и возможность приложить ее в любом месте открыла бы потенциальные возможности для совместной работы. Допустим, это какая-то группа, которая может собраться в коридоре, разложить такой экран, и вместо того, чтобы вешать доску для рисования, открыть этот дисплей и на нем продемонстрировать информацию, с которой, помимо всего прочего, можно будет взаимодействовать.
По-моему, это действительно будет прорыв в области новых неординарных решений применения компьютерных технологий. Второе - это сбор профессиональной телеметрии, то есть через 10 лет можно будет иметь часы, которые смогут инфракрасно снять пульс, проанализировать кровь. Кстати, есть очень интересное решение у Вашингтонского университета (в Японии кто-то тоже над этим работает) - контактные линзы, которые снимают пульс с зрачка, делают химический анализ слезы, выделяя из нее гормоны и глюкозу, и у края глаза может показывать информацию о том, сколько глюкозы содержится в крови.
Представьте такой датчик, который может снимать простейшую телеметрию, биохимию и так далее, а потом очень удобно показывать, связывать с мобильным телефоном, чтобы собрать полученную информацию.
Для диабетиков это просто спасение.
И не только, для любого человека. Сейчас большое внимание уделяется изучению влияния диеты на эффективность работы и способность выдерживать стресс. Сейчас это в большей степени касается спортсменов и руководителей, которые находятся под огромным стрессом целый день.
Мне кажется, что другой интересной областью является проекция на глаза. В Сиэтле был стартап, который для авиамехаников сделал такой прибор, который лазером прямо на сетчатке рисует чертеж. Я считаю это очень перспективным направлением - просто на область нашего зрения накладывать изображение.
Тем более что к этому явно есть тяга, потому что в киберпанке всегда изображают каких-нибудь хакеров, людей с какой-нибудь линзой на глазу. Последний вопрос, вы много работаете со стартапами, вкладываетесь во что-то. Во что бы вы вложились?
Я считаю, что нужно вкладываться в то, к чему есть личный интерес и что будет удерживать ваше внимание в течение следующих 5-10 лет, потому что в мире очень много умных людей, которые будут принимать хорошие решения.
В конце концов, чтобы в чем-то быть лучше, чем среднестатистический инвестор, и сделать деньги, надо на чем-то концентрировать свое внимание достаточно продолжительное время. И это должно человека интересовать. Это не должно быть просто что-то, на чем можно сделать деньги.
Лично меня интересует область использования больших компьютерных решений для решения проблем здравоохранения в масштабах целых стран. Ряд стартапов, с которыми я работаю, занимаются решениями в области здравоохранения, собирают информацию о здоровье человека и потом пытаются разными методами делать анализ поведения, мониторинг для профилактики заболеваний. Это позволяет понять, как предотвратить большинство заболеваний в масштабах целых стран.
Мне кажется, что это очень перспективно.