Позавчера я вернулся из Праги, где компания AVG представляла публике новую версию своих антивирусных продуктов. Там мы разговорились с Ювалем Бен-Ицхаком, техническим директором AVG. Мне стало интересно – откуда приходят люди на такую, в общем, своеобразную позицию CTO-вирусоборца. И вот хотите верьте, хотите нет, но Юваль оказался инженером-схемотехником по образованию, а его первым работодателем была… корпорация Intel.

А еще говорят, что в России мало кто по специальности работает! После университета мой собеседник довольно долго занимался разработкой различных плат в филиалах Intel, расположенных в Иерусалиме и Кирьят-Гате. В последнем я был в апреле этого года, и рассказал Ювалю, что здание, считавшееся в свое время огромным, сейчас перешло к Micron, а по соседству выстроили еще одно, раза эдак в три побольше. И именно оттуда скоро разойдутся по всему миру первые 22-нанометровые процессоры.

Так вот, позанимавшись железом, Юваль понял, что ПО его привлекает больше. Поработал в крупной израильской сервисной компании Ness, потом создал свой стартап KaVaDo, занимающийся решениями в сфере интернет-безопасности. Позднее стартап был успешно продан, что, надо думать, ощутимо улучшило благосостояние Юваля. А еще на его счету несколько патентов в области инфобезопасности, места в престижных рейтингах лучших IT-специалистов мира и прочая, прочая. Я это рассказываю так подробно, вспоминая свой пост «Как стать настоящим программистом?». Вот уж действительно – не угадаешь, какой путь приведет тебя к успеху в области разработки ПО. А успех, в общем, налицо: AVG растет довольно резво, и, как знать, может через несколько лет мы будем говорить о них не менее серьезно, чем сейчас о ESET или «Лабораториях Касперского».

До расшифровки всей беседы руки пока не дошли (вроде только прилетел, а завтра уже снова в аэропорт, до Стамбула. И не отдыхать), поэтому перескажу только небольшой кусочек. Помня о том, насколько неоднозначную реакцию вызвала информация о поддержки многоядерных процессоров в антивирусе Avast, я спросил Юваля – как все сделано у них?

Юваль видит главное премущество применения параллельного программирования в антивирусном ПО в возможности сделать процесс защиты абсолютно незаметным для пользователя. При этом он подчеркнул, что приложение не просто запускается в два процесса, как у некоторых коллег: процесс один, но он многопоточный, и операционная система сама вольна решать – каким ядрам его поручить. Это снижает привязку к «железу», позволяя антивирусу без затыков работать на любом количестве ядер. В целом же, благодаря разного рода оптимизациям, нагрузку на CPU в новой версии удалось снизить на 10% по сравнению со старой. Учитывая, что параллельно уполовинили размер дистрибутива и обновлений, результат неплохой.

А вот до использования GPU в антивирусах еще очень далеко. Быстрые-то они быстрые, но алгоритмы адаптировать под них очень непросто, да и распространенность оставляет желать много лучшего. Вот появятся они в каждом процессоре, и чтобы все примерно одинаковые – тогда да. По ощущению Юваля, раньше, чем через четыре года массового интереса к GPU со стороны разработчиков ПО ждать не стоит.

Кстати, уважаемые читатели, а вам приходилось менять ход карьеры столь же резко, как моему собеседнику?