Отношения между академической наукой и производством всегда были непростыми — сейчас они характеризуются переносом центра тяжести в пользу прикладных работ. О том, как следует выстроить эти отношения и как соблюсти баланс, рассказал Рой Левин, руководитель научно-исследовательской лаборатории Microsoft Research в Кремниевой долине.
Трудно представить себе то, насколько значительна роль одной из пяти исследовательских лабораторий Microsoft Research, расположенной в Кремниевой долине. Если судить по формальным показателям (в ее штате числится менее четырех десятков сотрудников, да и исполнилось ей всего пять лет), то она должна существенно уступать по своей значимости другим лабораториям, насчитывающим тысячи сотрудников. Между тем к этому скромному по своим видимым показателям научному учреждению проявляется заметное общественное внимание. Не случайно то обстоятельство, что открытию лаборатории была посвящена статья в New York Times, с тех пор о ней часто пишут и специальные, и бизнес-издания. Особый статус лаборатории складывается из двух факторов: высокого научного, а зачастую и социального статуса каждого из работающих в ней исследователей и прямой связи с ведущими университетами региона, прежде всего с университетами Беркли, Санта-Круз и Стэнфорда.
Не надо обладать особой проницательностью, чтобы прийти к очевидному выводу — в задачу лаборатории входит выполнение, так сказать, интерфейсных функций между местным академическим сообществом и Microsoft. Для компании, даже такой гигантской, как Microsoft, решение этой задачи чрезвычайно важно: оно позволит занять должную позицию в той элитарной среде, которая прежде ей не очень благоволила. И хотя срок ее существования невелик, есть основания полагать, что задуманное реализуется. После создания лаборатории результаты совместных исследований ее сотрудников и крупных академических ученых докладываются на конференциях, публикуются в журналах Association for Computing Machinery (ACM) и Institute of Electrical and Electronics Engineers (IEEE). Зная местные университетские нравы, особенно Беркли, еще несколько лет назад представить себе подобное было сложно.
Один из секретов успеха данного начинания состоит в том, что вдохновителем и творцом уникального концентратора знаний и интеллекта стал Рой Левин, нынешний директор лаборатории. Это известная личность, ветеран отрасли, обладатель богатейшего опыта научной работы. Задолго до перехода в Microsoft, где он работает последние десять лет, Левин много времени отдал исследовательскому подразделению Digital Equipment Corporation, впоследствии ставшему частью Compaq, а еще раньше занимал должность ведущего специалиста в исследовательском центре Xerox Palo Alto Research Center. Можно сказать, что Левину невероятно повезло, ему посчастливилось связать прошлое с современностью, застав тот уникальный исторический период, когда именно в Xerox PARC были заложены основы современных компьютерных систем, а сегодня возглавив самую передовую лабораторию. Когда-то его непосредственным шефом был великий Батлер Лэмпсон, один из основателей Xerox PARC, непосредственно руководивший созданием компьютера Alto, предшественника всех персональных компьютеров. Собственная научная работа Левина была постоянно связана с распределенными системами. В частности, он разрабатывал экспериментальную программную среду Cedar, ориентированную на высокопроизводительные станции. Разработка Cedar оказалась существенным вкладом в создание языков программирования Modula-2 и Modula-3, которые в свою очередь привели к созданию таких языков, как Java и C#.
Научный багаж Левина и других ветеранов-сотрудников лаборатории, среди которых роль патриарха принадлежит отцу мини-ЭВМ VAX Гордону Беллу, имеет огромное значение для корпорации, которая, как известно, от рождения не имеет научных корней. Microsoft начиналась как чисто программистская компания, но за три десятилетия она с неизбежностью превратилась в один из самых мощных «мыслительных танков» индустрии. После создания 15 лет назад первой исследовательской лаборатории в Редмонде Microsoft рекрутировала в свои ряды нескольких «великих», в том числе и Лэпмсона, а дальше «процесс пошел»: Лэмпсон пригласил Левина и т.д.
Беседа с Роем Левином в рамках недавней конференции Techfest 2007 в Редмонде, посвященной 15 юбилею Microsoft Research, позволила узнать некоторые детали деятельности вверенной ему лаборатории.
Несколько слов об основных направлениях работ, проводимых в вашей лаборатории.
В нашей деятельности мы сочетаем теоретические исследования с практикой. Есть исследования, попадающие в область Computer Science в чистом виде; к ним относятся работы в области теории игр в приложении к экономике, к ценообразованию и балансу рынка, а также исследования в области статистических баз данных и квантовых вычислений. Но есть и исследования с прикладным оттенком. В эту категорию входят исследования, связанные с тем, что сейчас принято называть микроэлектромеханическими системами (Microelectromechanical System, MEMS), устройствами, размеры которых находятся в диапазоне от микрона до миллиметра, а также с новыми устройствами для взаимодействия человека с машиной. К последним можно отнести, что может прозвучать неожиданно, новые типы микрофонов и устройств для ввода данных для носимых компьютеров, а также способы для вывода сложных данных, для моделирования и распознавания действий пользователя. Близкими к этой тематике являются исследования в области новых мультимедийных средств и машинной графики, основанные на использовании больших вычислительных мощностей. Мы занимаемся теоретическими и практическим вопросами автоматизации принятия решений, машинным обучением, в том числе с использованием методов раскопки данных, всеми аспектами управления знаниями. И конечно же, в область наших интересов входят такие традиционные темы, как криптография и информационная безопасность, системные архитектуры, разработка программного обеспечения. Совершенно новыми для нас являются работы, связанные с социальными сетями.
Признаюсь, в голове не укладывается, как удается справиться с таким гигантским спектром задач, если учесть, что в лаборатории всего около 40 сотрудников?
Разумеется, мы сами не можем претендовать на реализацию комплекса полноценных всеобъемлющих исследований по каждой из перечисленных тематик. В организации нашей деятельности есть две специфические черты, объясняющие то, как при относительной малочисленности мы сохраняем универсальность. Во-первых, мы стараемся не разбрасываться, занимаемся всеми этими темами, но в контексте одного общего для нас направления. С момента нашего образования в 2001 году и до настоящего времени распределенные системы были доминирующим направлением, это связано в том числе и с тем, что я сам занимаюсь распределенными системами более 40 лет.
Во-вторых, мы выступаем в качестве своего рода модераторов-посредников между академическими и прикладными исследованиями. Когда я набирал штат сотрудников, то за первые шесть месяцев удалось найти примерно дюжину людей, обладающих не только глубокими теоретическими знаниями, но еще и трезвой практической организацией ума.
К тому же я не ставил перед собой в качестве цели только долговременные исследования. Да, глобальные цели важны, но не менее существенны и практические результаты. К примеру, одной из важнейших целей для нас стала борьба со спамом. Наши способы выделения и экстрагирования спама из потока электронных сообщений уже переданы в производственные подразделения Microsoft. В значительной мере мы заняты тем, что переводим научные достижения 90-х годов в форму, которую могут воспринять разработчики. Таким образом, мы заняли промежуточную позицию между академическими исследователями и производственными подразделениями.
Удалось ли реализовать задуманное?
Обычно я не удовлетворен сделанным, но в данном случае готов утверждать, что на протяжении последних пяти лет мы неплохо поработали. Должен признать, что мы создали лабораторию с небольшим отставанием: на тот момент практически все производители, за исключением Microsoft, уже имели прямые связи с теми представителями компьютерной науки, которые вели прикладные исследования. Нам нужно было преодолеть определенный пессимизм со стороны как представителей компании, так и академического сообщества и доказать свою правоту. Фактом, подтверждающим наше признание академическими исследователями, стало вхождение в программные комитеты важных научных конференций, в редакционные советы ведущих журналов. С другой стороны, мы продемонстрировали прецеденты передачи научных достижений в практику.
В качестве конкретного примера могу привести наше участие в совершенствовании технологий поиска сервисного и поискового портала MSN. Здесь мы использовали наши антиспамовские наработки для того, чтобы поисковая машина могла распознавать страницы и разделять содержательные сообщения и спам. Нами был проведен большой объем исследований, связанных с оптимизацией инфраструктуры распределения данных в системах хранения, они будут реализованы в почтовой системе Hotmail следующего поколения.
И, разумеется, мы не могли не заниматься проблемами параллельного программирования, которые приобретают в современных условиях особую важность в связи тем, что многоядерные и многопотоковые процессоры с неизбежностью закона Мура вытеснят классические процессоры, а это означает переход к новой парадигме программирования. Дэйв Паттерсон, профессор из Университета Беркли, изобретатель RISC-процессоров и RAID-массивов, назвал эту задачу самым серьезным вызовом компьютерной науке на сегодня (Показательно, что Паттерсон был участником Techfest 2007. — Л. Ч.). Я полностью разделяю его точку зрения, но убежден, что решение проблем параллелизма будет найдено очень не скоро.
Почему вы не слишком оптимистично оцениваете перспективу прогресса в параллельных вычислениях?
К сожалению, сейчас мы находимся отнюдь не на пике интереса к компьютерной науке, энтузиазм ученых уменьшился в мире вообще и в компании в частности. Даже здесь, на конференции TechFest 2007, многоядерности и параллелизму представлены только две исследовательские программы.
Старший вице-президент Microsoft Research Рик Рашид объясняет общее снижение интереса к науке тем, что после 2001 года, возможно, из-за краха «доткомов» и других кризисных событий этого времени число людей, желающих заниматься исследованиями в области Computer Science, заметно сократилось. В итоге, видя перед собой задачу, мы не можем найти специалистов, способных ее решить, мы испытываем голод на исследователей с системным и математическим образованием. И это сейчас, когда в США насчитывается рекордное количество людей, обладающих научной степенью; между тем прогнозируется, что в 2010 году число защищенных диссертаций уменьшится вдвое. Скорее всего, основная причина этого состоит в нарушении эффективной системы финансирования науки, существовавшей прежде. Стоит вспомнить первые годы становления компьютерной отрасли, когда финансирование осуществлялось государством: следуя постулатам Ванневара Буша, государство с готовностью выделяло средства на исследования, так или иначе связанные с укреплением обороны. Коммерциализация компьютерных систем оказалась обоюдоострым мечом; компании не готовы к долговременным научным программам. Кроме того, специфическую для нашей отрасли негативную роль сыграла возможность слишком быстрой коммерциализации идей, из-за чего развился наблюдаемый в настоящее время процесс перетекания талантов из науки в бизнес. Нарушился баланс между наукой и бизнесом, его восстановить можно только совместными усилиями государства и крупнейших частных компаний. Есть и еще какие-то общие причины снижения интереса к науке, он наблюдается и в других странах.
Но, если кадровый кризис удастся преодолеть, то что тогда самое важное?
Нам нужно постоянно думать о смене парадигмы, о росте числа ядер, скоро их будет 32, а дальше больше. Чтобы справиться с этим явлением, нужно изменить свои представления о том, как писать приложения. В Microsoft предпринимается ряд шагов в данном направлении, один из них — разработка нового языка программирования, способного автоматически создавать параллельные программные конструкции. Этот язык должен позаимствовать методы, используемые при программировании СУБД, когда несколько процессов сворачиваются в одну так называемую «атомную транзакцию» (atomic transaction). Язык позволит обеспечить автоматическую синхронизацию отдельных этапов транзакции и предоставит средства, которыми программист сможет произвести тонкую настройку синхронизации. Но для этого предстоит заметно изменить общие представления о параллельном программировании, отказаться от некоторых вещей, которые сегодня считаются едва ли не обязательными. Но еще сложно говорить о самом языке; он находится на ранних этапах развития, предстоит его доработать, выполнить хотя бы первые тесты.
Кроме того, Microsoft сотрудничает с производителями аппаратного обеспечения, например, вместе с Xilinx разрабатываются новые структуры памяти, моделируемые на Berkeley Emulation Engine, где используются программируемые массивы или программируемые вентильные матрицы Field Programmable Gate Array Virtex 5 FPGA. Когда будут получены первые результаты, мы, конечно же, обратимся к AMD, Intel или кому-то еще. Но, к сожалению, в понимании сути проблем мы пока далеко не продвинулись.