Какова история этой разработки?
   - За время работы мы создали десятка полтора прототипов-модификаций. Их различия в основном в конструкции узла, отвечающего за трансляцию движений языка в движения курсора. Были аналоги джойстиков, трекболов, тачпадов, трэкпойнтов, сенсоров, - мы перепробовали все.
   Первые устройства были анатомически строго индивидуальными (делались по слепку челюсти пациента), и их нельзя было массово производить. Сейчас у нас есть три промышленных прототипа (с технической документацией), готовых к производству: тренировочный вариант (рассчитан на один-полтора месяца), базовый вариант для длительной работы и высокотехнологичный индивидуальный вариант с прецизионной механикой (например, ход кнопки там всего лишь 0,005 мм).
   Работа заняла первое место на конкурсе БИТ-2006 (проект социально-значимый, устройство тиражируемое, потенциальный рынок продемонстрировали - что еще экономистам надо?). 24 октября на соревновании технологических бизнес-планов IBTEC, проводящемся Университетом Беркли (ibtec.org), мы получили награду и звание «Гуманитарный проект 2006 года в США».
    Как удалось договориться о демонстрации Гейтсу?
   - Честно говоря, я и сам не знаю всех деталей. Это ведь не мы вышли на Гейтса, а его помощники - на нас. А вообще, проект пошел в гору после того, как мы нашли для своей команды двух замечательных экономистов и специалиста по развитию бизнеса. Нас поддерживают Intel, Microsoft, фонд «Новые таланты»; десять дней назад вели переговоры в штаб-квартире Google. Без помощи всех этих организаций - лоббированием, людьми, протоколами, софтом и железом - нам бы потребовалось на порядок больше времени.
   Демонстрация длилась 10-12 минут. Пообщались с Крейгом Манди, Андрей Фурсенко взял нас на карандаш. А сам Гейтс предложил подумать над адаптацией устройства для управления Xbox. «Если ребенок, лишенный движения, сможет играть в свою любимую игру - это будет потрясающе, - сказал он нам. - Обязательно свяжитесь с нашей группой специальных возможностей (accessibility group)!»
    На какой стадии сейчас коммерциализация?
   - У нас есть несколько патентов. Хотим выводить устройство на рынок, ищем инвестиции, ищем подходы к нацпроектам, ищем умные страховые компании для наших инвалидов (детали см. на www.gravitonus.com).
 

ПАРАЛЛЕЛИ: Внутренняя Пустота

 
    Автор: Георгий Пачиков
    В наше время любой мало-мальски образованный человек постоянно пользуется Интернетом. С его помощью мы решаем множество вопросов. Даже правописание можно проверить - залезаешь в Интернет и смотришь, как то или иное слово пишется (и что оно означает). Поэтому Сеть всегда должна быть под рукой. К сожалению, из соображений безопасности доступ в Интернет нередко ограничивается. Порой доходит до абсурда. Вот свежий пример.
   Недавно я вернулся из Италии, жил там в разных гостиницах. В одном из них включаю компьютер и обнаруживаю, что… Интернета нет. Обращаюсь к портье. «Как нет?! - удивляется он. - У нас есть Интернет!» «Но Wi-Fi, - отвечаю, - не работает»… Выясняется, что он вообще не знает, что такое Wi-Fi! А доступ в Интернет, оказывается, есть только на первом этаже в специальной комнате. Но и там я обнаруживаю, что не могу ничего делать: к услугам постояльцев - просто «доступ в Интернет» и все, ничего больше брандмауэр не пропускает. Можно лишь посмотреть новости, побродить по некоторым сайтам. Нормальный человек уже привык, заходя со своего ноутбука в Интернет, запускать почтовый клиент, Skype. На гостиничном компьютере ничего подобного нет. А если мне нужно воспользоваться VPN и подключиться к корпоративной сети? Я уж не говорю про клавиатуру с немецкими или итальянскими буквами, которая даже в латинской раскладке отличается от привычной…
   Отсутствие где бы то ни было Интернета уже становится проблемой для путешественника. Мой мобильный телефон, разумеется, имеет GPRS, но это ничего не меняет: я подключен к российскому оператору, и в Италии мой GPRS не работает, я должен покупать контракт у местного провайдера. Когда нет Wi-Fi - это уже нонсенс. (Кстати, когда ездишь по Америке, порой кажется, что там уже не осталось отелей без бесплатного Wi-Fi.) Я с нетерпением жду того времени, когда все «более или менее разумное пространство» будет покрыто беспроводными сетями, теми же WiMAX. Надеюсь, в один прекрасный день, сидя где-то на острове, мы сможем так же легко выходить в Интернет, как в Москве или Бостоне.
   Но зачем тогда сотовый телефон, - спросите вы, - если кругом будет Интернет? Разумеется, в этом случае он будет абсолютно не нужен! А отсюда вытекает вопрос: не являются ли телефонные провайдеры тормозом для прогресса? Уже сегодня я могу позвонить с компьютера в любую точку земного шара, причем бесплатно (скажем, через Skype; сегодня уже неприлично давать визитную карточку без Skype-адреса) или всего лишь за два цента в минуту, что явно невыгодно телефонным компаниям. Все, что для этого нужно, - карманный компьютер и беспроводное подключение, и проблема связи решена. Но если она так легко решается, зачем еще и мобильник?!
   Сотовые компании годами ведут свой бизнес, давно конкурируют, но конкуренты они локальные: у нас, к примеру, это Билайн, МТС и Мегафон. Однако существует глобальная конкуренция, в результате которой их бизнес может стать никому не нужен. Любопытно, насколько сотовые операторы озабочены этой проблемой, ведь они рискуют лишиться всего, если им на смену придет нечто новое. Можно плохо написать программу, но всегда найдутся те, кто напишет другую; Skype - лишь одна из реализаций, и наиболее успешных, причем даже не по качеству, а по организации сервиса. Кстати, было много подобных программ, получше Skype, но не это главный показатель, важнее - насколько им пользуются.
   Как-то мой приятель Саша Семенов написал: «Не стоит путать выдающихся предпринимателей с выдающимися менеджерами. Менеджер должен закончить Гарвардскую школу бизнеса, иметь резюме, солидный service record и обладать прочими признаками предметного специалиста. Предприниматель же в принципе не может быть хорошим предметным специалистом: он должен быть пуст, свободен от профессиональных пристрастий и лишних знаний. Единственные требования - интеллект и энергия, которые есть жажда жизни, выражающаяся в неподдельном интересе к людям, ко всему, что они делают и думают. Именно внутренняя пустота дает предпринимателю необходимую открытость новым идеям и гибкость в их реализации…» В моем понимании предприниматель - это человек, у которого родилась хорошая идея, как что-то сделать. После этого он нанимает бизнесмена, объясняет идею, привлекает деньги, и дальше уже бизнесмен раскручивает бизнес.
   Чтобы прийти со своим условным Skype и подвинуть всех этих сотовых операторов с их ценами на роуминг, нужна та самая внутренняя «пустота», способность увидеть и понять реальные потребности людей.
 

ТЕХНОЛОГИИ: Симулятор для Microsoft

 
    Автор: Владимир Гуриев
    Отправной точкой для этой заметки стала статья Джона Маркоффа (John Markoff) в New York Times о том, что Microsoft собирается проектировать процессоры самостоятельно и займется этим специально созданная исследовательская лаборатория Computer Architecture Group, которую возглавит легендарный Чарльз «Чак» Тэкер (Charles «Chuck» Thacker).
   Удивительно, но текст Маркоффа оказался единственным источником информации об этом сенсационном решении. Новостные агентства, сама Microsoft и, разумеется, производители процессоров, которых такие известия должны были бы обеспокоить, хранили стойкое молчанье. Один из топ-менеджеров европейского отделения Intel, с которым я разговаривал на прошлой неделе, о радикальном шаге Microsoft попросту не знал. Складывалось впечатление, что текст Маркоффа случайно проник в New York Times из какой-то другой, хоть и похожей на нашу, реальности.
   Газета New York Times рассчитана на людей, считающих, что Java - это остров, поэтому никаких технических подробностей в тексте не было. Чтобы уточнить детали, мы связались с профессором Беркли Дэвидом Паттерсоном (David Patterson), который о новой инициативе Microsoft отозвался в высшей степени одобрительно. Если одобрительно - стало быть, он точно должен знать, о чем речь.
   Для компьютерной индустрии Паттерсон такая же знаковая фигура, как и Тэкер. Если последний прославился, работая в Xerox Palo Alto над персональным компьютером Alto (а затем поучаствовал еще в паре десятков проектов, оказавших непосредственное влияние на компьютерную индустрию), то Паттерсон известен тем, что стоял у истоков архитектуры RISC. Нынешние проекты Паттерсона пока не привлекли пристального внимания прессы, и широкой публике он известен главным образом как соавтор монументального труда «Computer Architecture: A Quantitative Approach», выдержавшего уже четыре издания. В этой книжке содержатся все основные идеи Паттерсона на тему, куда должна двигаться компьютерная индустрия. И надо сказать, что частенько профессор из Беркли слегка обгоняет время: многие предложения не получили практического воплощения до сих пор, хотя в целом компьютерное сообщество относится к изысканиям Паттерсона очень положительно.
   Профессор не является сотрудником Microsoft, поэтому он не хотел, да, наверное, и не мог дать комментарии о планах компании. Зато рассказал, какой именно неупомянутый в статье Маркоффа проект Беркли заинтересовал корпорацию. Проект называется RAMP, Research Accelerator for Multiple Processors.
 
Мультиядерный тупик
 
   Но сначала пару слов о Microsoft. Компанию часто называют софтверным гигантом, и это, конечно, справедливо: весь бизнес Microsoft построен на успехе операционных систем и (в последние десять лет) комплекта программ для выживания в офисе. Однако корпорация уже давно перестала быть «мягкой» и всерьез интересуется разработками в области железа, будучи наряду с Intel одним из главных двигателей прогресса на рынке ПК. И даже если не обращать внимания на то, что творится в исследовательских лабораториях, а учитывать лишь рыночные удачи, Microsoft и здесь есть чем гордиться - компанию, продавшую несколько десятков миллионов Xbox, c полным правом можно причислить к успешным производителям компьютеров.
   Microsoft тесно сотрудничает с Intel, однако времена Wintel постепенно уходят в прошлое, и компания печется прежде всего о своих интересах. Когда в Microsoft пришли к выводу, что для Xbox 360 лучше подойдет PowerPC от IBM, то особенно расшаркиваться перед старым партнером, поставлявшим процессоры для первого поколения приставок, не стали. И теоретически, конечно, можно предположить, что в компании считают сотрудничество с Intel, AMD или IBM недостаточно продуктивным. Но настолько непродуктивным, что выгоднее проектировать и, возможно, даже производить процессоры самостоятельно?
   На практике подобная задача выглядит почти неподъемной. Даже беря в расчет финансовые, трудовые и маркетинговые резервы Microsoft, очевидно, что подобное самообслуживание может обойтись очень дорого. Кроме того, для такого шага должны быть веские причины, заметные невооруженным глазом. А таких причин нет.
   Профессор Паттерсон уверен в обратном. Компьютерная индустрия, по его мнению, находится в глубоком кризисе, и дело тут не в Microsoft или Intel, а во взаимоотношениях программистов и создателей железа. Переход производителей процессоров на мультиядерные архитектуры - казалось бы, многообещающий - эти и без того непростые взаимоотношения только усугубил. Раньше увеличение скорости работы процессоров проходило для софтмейкеров почти безболезненно - конечно, в каждом новом поколении процессоров были значимые архитектурные изменения, однако старые программы, рассчитанные на предыдущие архитектуры, все равно работали на новом железе заметно быстрее. Переход на мультиядерные архитектуры эту ситуацию изменил. Чтобы добиться от такой системы максимальной производительности, необходимо иметь софт, умеющий пользоваться новыми возможностями.
 
   А чтобы писать софт под новые процессоры, необходимо эти самые процессоры или хотя бы их прототипы иметь под рукой. В результате процесс перехода на новые рельсы выглядит так: производитель процессоров создает новый чип и присылает прототип или даже полностью готовый сэмпл конечного продукта производителю ПО. Перед последним стоит, мягко говоря, нетривиальная задача: ему необходимо в очень сжатые сроки существенно переделать код своих продуктов. Проходит три месяца. Ничего, конечно, еще не сделано - за столь короткое время та же Microsoft не успеет перевести под новую архитектуру даже свои основные тайтлы. Но за это время софтверная компания успевает понять, что ее не устраивает в новом чипе, и отправить свои замечания производителю. Тот, если это возможно, вносит требуемые коррективы и приступает к массовому производству (это если повезет - не исключена ситуация, в которой на рынок поступает полный аналог последнего прототипа, а предложенные улучшения запоминаются и будут учтены при создании процессоров следующего поколения). На рынок новый процессор поступает в гордом одиночестве: программное обеспечение, способное использовать его возможности по максимуму, попросту не готово. Через несколько месяцев, не торопясь, начинают появляться первые «правильные» программные продукты. Полный цикл софтверно-хардверной перестройки занимает сегодня четыре года. Это плохо и для пользователей, и для производителей софта, и для производителей процессоров.
   Очевидная ставка лидеров микропроцессорной индустрии на мультиядерные решения ставит перед индустрией еще одну, почти не разрешимую в сегодняшних условиях, задачу. Производители сегодня умеют проектировать двух-, четырех- и даже восьмиядерные процессоры, но эффективного инструментария для создания и тестирования процессоров, состоящих, например, из 64 или даже 1024 ядер попросту не существует. Больше того, многие проблемы, с которыми дизайнерам процессоров придется столкнуться в будущем, сегодня - на относительно простых двухъядерных и так далее моделях - просто незаметны.
   Существующие решения моделирования работы процессоров (софтверные или софтверно-аппаратные) для эмулирования параллельных систем подходят плохо по следующим причинам:
   - они работают слишком медленно, в тысячи раз медленнее, чем будущий процессор, что, мягко говоря, отладку не облегчает и почти всегда исключает прогон на новом процессоре не отдельных конструкций, а реальных программных продуктов. В большинстве случаев масштабирование, то есть увеличение количества ядер в прототипе, либо еще больше замедляет работу модели, либо вообще невозможно;
   - они плохо подходят для моделирования процессоров с другой архитектурой. Иными словами, если вам нужна точность результатов, то микропроцессор, на котором построена эмулирующая система, должен быть максимально приближен к микропроцессору, который на этой системе моделируется;
   - по разным причинам (скорость работы, стоимость, легкость подстройки) создатели эмуляторов вынуждены упрощать свои системы, что снижает точность результатов тестирования. Проще говоря, во время отладки «софтверного процессора» нет уверенности, что выполненный в железе прототип будет вести себя именно так - есть лишь некая, впрочем, довольно высокая вероятность, что его поведение будет примерно таким, как показала модель;
   - многие инструменты для эмулирования работы процессоров либо дороги сами по себе, либо недешево обходятся при эксплуатации (в первую очередь из-за высокого энергопотребления).
   RAMP - не идеальное решение, не палочка-выручалочка, а такой же компромисс между стоимостью, скоростью, реконфигуриремостью и точностью, но многих из перечисленных недостатков почти лишен.
 
Эмуляторы против симуляторов
 
   RAMP - это универсальный эмулятор, построенный на базе массива FPGA (матричная программируемая БИС). Такой подход объединяет в себе лучшее, что есть сегодня в эмуляции новых процессоров. С одной стороны, схема на перепрограммируемых БИС достаточно гибка, чтобы на ее базе можно было смоделировать любую известную параллельную архитектуру (не без ограничений, но о них чуть ниже). С другой - обладает достаточной производительностью, чтобы на RAMP можно было запускать операционные системы и приложения, проверяя работоспособность проектируемого процессора почти в реальных условиях (работать они будут в 10-20 раз медленнее, но и это очень приличный результат). Кроме того, он прекрасно масштабируется: на одной FPGA сегодня можно разместить порядка двадцати ядер (то есть на 1024-процессорную систему нужно от сорока до восьмидесяти FPGA), при этом скорость работы 1000-процессорной системы будет ненамного ниже, чем у 32-процессорной системы. Немаловажная для академических исследователей особенность - относительная дешевизна такого решения (железо для эмуляции 1000-ядерного процессора обойдется примерно в 100 тысяч долларов).
   Но RAMP это не только железо, но и набор уже готовых моделей архитектур, описанных на специальном языке RDL (RAMP Description Language). В идеале исследовательское подразделение или факультет computer science, приобретая RAMP, вместе с небольшой кучкой железа, которую можно научить изображать другую кучку железа, получает почти все необходимые шаблоны. Вряд ли это очень важно для коммерческих разработчиков, а вот университетам очень пригодится.
   Сегодня исследователи договорились о «портировании» на RAMP 32-битных процессоров IBM Power 405, Sun SPARC v8, Xilinx Microblaze (софт-процессор), 64-битного SPARC Niagara. Не исключено также создание моделей для 64-битного IBM Power и Tensilica, ARM, а также MIPS32 и MIPS64. Интеловских архитектур (x86, x86-64) на RAMP, видимо, не будет, хотя специалисты Intel в проекте участвуют.
 
 
   Чтобы картина не получалась совсем уж радужной, упомянем и о недостатках RAMP, которые очевидны уже сегодня. Во-первых, FPGA-акселератор кое-где проигрывает софтверным симуляторам по функциональности, так как не умеет делать откаты (в случае софтверной симуляции можно отменить или пустить в обратном порядке любой набор инструкций), что, впрочем, компенсируется скоростью. Во-вторых, противники RAMP - а такие тоже есть - полагают, что заявления о точности эмуляции преждевременны, поскольку система в целом выглядит несбалансированной: быстрая память на медленных процессорах - не слишком стандартная конфигурация. Впрочем, Паттерсон к такой критике относится спокойно: по его словам, важна не относительная скорость выполнения тех или иных операций, а количество необходимых циклов процессора, а это - величина абсолютная. В-третьих, есть определенные физические ограничения, которые усложняют построение моделей процессорных архитектур. Так, например, затруднено построение эмуляторов современных процессоров с кэшем второго уровня емкостью больше 2 Мбайт, потому что объем памяти на борту стандартной FPGA меньше этого значения. Тем не менее недостающую память можно эмулировать отдельно. Кроме того, RAMP вполне работоспособен даже в том случае, когда построить полную RTL-модель не удается (например, ее просто нет - как нет модели Intel IA-32) или она слишком сложна для имплементации. В подобных ситуациях RAMP можно использовать в связке с софтверным симулятором, хотя результаты работы такого тандема и потребуют дополнительной верификации.
   По большому счету, RAMP вообще не привязан к моделированию процессорных архитектур. Среди предполагаемых проектов, которые можно реализовать на RAMP, упоминаются исследования распределенных протоколов (в этом случае каждый узел RAMP представляет собой скорее терминал, нежели процессор) и создание новых компьютерных архитектур для решения специальных задач (биологии, химии, геофизики и т. п.) в реальном времени. Однако, отмечает Паттерсон, это не более чем побочные результаты. Главная задача проекта RAMP - создание высокоэффективного симулятора процессоров.
   Понятно, что Microsoft - да и любому крупному производителю софта, тесно сотрудничающему с производителями микропроцессоров, - такая система не помешает независимо от того, собирается эта софтверная компания проектировать процессоры или нет. С помощью RAMP можно не только значительно сократить время на портирование приложений, но и начать сам процесс портирования или, по крайней мере, прощупывания почвы гораздо раньше, чем было принято до последнего времени. Если подобные системы станут стандартом де-факто, то производителям софта впервые в истории будет дана возможность работать не с обещаниями и планами разработчиков железа, а с реальным, хоть и не совсем законченным продуктом на всех стадиях его разработки.
   По сравнению с такой перспективой гипотетические планы Microsoft выйти на рынок микропроцессоров выглядят весьма прозаично. И даже если планам Чака Тэкера создать процессор для третьего поколения Xbox самостоятельно, не суждено сбыться, это ничего не значит. Наверняка новый процессор будет спроектирован с учетом многочисленных и настойчивых пожеланий Microsoft. А кто его будет проектировать - дело уже десятое.
 

ГОЛУБЯТНЯ: Лебединый ракощук

 
    Автор: Сергей Голубицкий
    В Архангельской области в замечательном городке Северодвинске поселилось паскудство по имени «Алмеза Рисёч». Так задолбать, как это умудряется сделать «Алмеза Рисёч», по злому умыслу невозможно, только - по простоте душевной. С упорством, достойным ловли вшей, мой почтовый ящик отравляется посланиями «Алмезы Рисёч» такого вот содержания: "Здравствуйте, sgolub! Предлагаю статью для вашего журнала. Статья новая, еще ни где не публиковалась. Если что не понравится - могу отредактировать. Тема статьи - «Создание универсального диска для автоматической установки ПО».
   Когда этот спам занесло в первый раз в начале года, я, старый дурак, хоть и поморщился от наглого тона и автоматической подстановки имени в обращении, однако ж повелся - вежливо отписал обратно, что, мол, к сожалению (счастью), на службе в редакции не состою и решений о размещении/не размещении статей не принимаю, посему пересылаю вашу информацию главному редактору. И благополучно забыл.
   Не прошло, однако, и месяца, как назойливые слепни снова залудили идентичное письмо: лови, типа, чувак, статью-свежак, нигде не издавалась, имей за счастье опубликовать. И снова я повелся. В оправдание лишь скажу, что мысль о спаме отверг по соображениям здравого смысла: кому придет в голову в 2006 году заниматься подобным несусветством? Это же прямое уничтожение репутации компании. Да и спамерский стереотип не срабатывал: вместо «Дмитрия Сергеевича» и «Изольды Бордулаевны» с обратным адресом dlfkjtljf@huiduhondzy.com от «Алмезы» шли внешне нормальные письма с корпоративным почтовым адресом. Разве что в имени подписанта легкий налет апории - Иван Абрамовский. Терпеливо отвечаю: «Иван, вы не по адресу - пишите сюда: inform@computerra.ru». «Иван» неожиданно прорезался, снизошел до ответа: «Ок, спасибо». Немногословные люди, северяне, чего уж там. С тех пор «Алмеза» с Ваней аки пендюлюм Фуко бомбардирует мой почтовый ящик своим чертовым спамом, не удосуживаясь даже сменить пластинку - лепит по-старому: «Предлагаю статью для вашего журнала. Статья новая, еще ни где не публиковалась. Если что не понравится - могу отредактировать» и т. д.
   Вчера вот снова прислали, а меня вдруг осенило: так это ж у «Алмезы» официальная форма такая маркетинга! Одни дурачки пресс-релизы кропают, другие проплачивают баннеры в Интернете, третьи - побогаче - размещают дорогую элитную рекламу на страницах печатных изданий. А «Алмеза Рисёч» спамит. В наглую, в открытую, без всякого стеснения. Уничтожая репутацию, заставляя не просто равнодушно проходить мимо, а откровенно ненавидеть программеров-дегенератов с их дегенеративными программами. Одного только не могу взять в толк: что у людей с головой-то?
   Кстати, о голове. Мы остановились на том, как меня засветил амок и я купил смартфон. Не взял на тестирование, не съездил к друзьям пощупать, а так вот сразу взял да и купил. За какие-то страшные деньги. Ну что ж, бывает. Не одной же «Алмезе» кумполом съезжать. Купил я, значится, смартфон, пожил с ним тесно месяц и продал. И всего-то у меня и осталось в воспоминаниях что мотивация, которой спешу поделиться с читателями, дабы уберечь их от непродуманных телодвижений.
   Смартфоны я не любил хоть и заочно, зато давно. По вполне заурядной причине - из-за QVGA-экрана (320х240). Когда сдохли кнопки-пупырышки на HP 4700 вместе с динамиком и микрофоном, я сильно затосковал и в отчаянном состоянии покинутости и одинокости ощутил жгучее желание поскорее притулиться к чему-нибудь теплому и полноценному - чтобы без обшелушившихся боков и с ненарушенной функциональностью. С тоской принялся листать давно выученные назубок веб-страницы: увы и ах - ни одного нового VGA-устройства, разве что UMPC от Sony, который приволок Козловский на посмотреть и пощупать.
   UMPC Sony напомнил мне одну сказочную персонажницу (не помню, как по батюшке), у которой были большущие-пребольшущие, бездонные голубые глаза несказанной красоты. И больше ничего. Все остальное заставляло страдать и стыдливо отворачиваться в сторону: полубочки-колесики коротких ножек, гипсовый сруб талии, центнер целлюлита, нервно обглоданные под самое мясо ногти, пропитой, прокуренный голос… Нет, кажется, это не из сказки, но - точно про UMPC Sony! Умопомрачительные глаза несравненного экрана и тотальное фиаско прочего тела. А теперь представьте, что это, с позволения сказать, дюймовочко вышло на панель и запросило за себя… 3500 баксов? Представили? Содрогнулись? А ведь находятся же охотники!