ПО для 64-битных процессоров Intel: интервью с Андреем Сёминым

Введение


В 2001 году компания Intel впервые вышла с Intel Itanium на рынок 64-битных процессоров. Аджей Малхотра (Ajay Malhotra), директор подразделения Enterprise Marketing & Software Platform Group корпорации Intel в странах Европы, Ближнего Востока и Африки в 2001 году сказал: "64-разрядные вычислительные системы присутствуют на рынке уже около 5 лет. До недавних пор область применения 64-разрядных технологий была ограничена узким кругом дорогостоящих корпоративных решений, их влияние на серверный рынок было незначительным из-за цен и ограниченного выбора. До появления в мае 2001 г. систем на базе процессора Intel Itanium покупатели 64-разрядных систем были вынуждены приобретать процессор, систему, в которой он будет работать, операционную систему, а также услуги технической поддержки у одного и того же поставщика. Все это приводило к росту затрат и, что не менее важно, привязывало корпоративного заказчика к фирменной нестандартизованной архитектуре, ограничивавшей как возможности будущего технического развития, так и свободу вложения средств.

Однако Intel Itanium сразу пришлось столкнуться в конкурентной борьбе с RISC-процессорами. Компания Gartner в своем отчете указывала: "RISC-архитектуры сохранятся в качестве прибыльной ниши вплоть до 2006 г., а на отдельных участках - до 2010 г. Архитектура Intel, доказавшая свою применимость для ответственных приложений уровня центра обработки данных, будет постепенно завоевывать позиции в качестве альтернативной платформы корпоративного класса".

А вот что по этому поводу отмечала другая аналитическая компания, IDC: "Архитектура IA-64 станет преобразующей силой для мира вычислительных систем, позволив переводить приложения, в особенности для среды Windows, на более мощные серверы среднего класса. Она также станет основой для электронной коммерции и интернет-приложений, работающих под различными операционными системами, включая Unix, Linux и Windows. Более того, ее появление станет вызовом миру традиционных Unix/RISC-систем, поскольку системы с архитектурой IA-64 будут способны выполнять приложения, ранее предназначавшиеся для Unix/RISC-машин. Эта тенденция фактически повторяет события в мире рабочих станций в конце 1980-х - начале 1990-х, когда произошел переход с Unix/RISC-систем на архитектуру Intel".

Сегодня Intel Itanium 2 занимает прочное положение в своем сегменте рынка. На это указывает, например, недавно опубликованный 22-й выпуск рейтинга самых быстродействующих суперкомпьютеров мира TOP500 (с 1993 года каждые шесть месяцев в рамках проекта составляется и публикуется перечень 500 самых мощных компьютерных систем мира). Почти 38% систем, вошедших в перечень, построены на базе процессоров Intel. Таким образом, системы на базе процессоров Intel впервые обошли системы на базе RISC-процессоров, опередив ближайшую конкурирующую вычислительную архитектуру на 15%. Дополнительную информацию можно найти на web-сайте www.top500.org.

Среди систем на базе процессоров Intel в рейтинге TOP500 следует отметить занимающий четвертое место суперкомпьютер Национального центра суперкомпьютерных вычислений США (NCSA) на базе 2500 процессоров Intel Xeon, а также занимающий пятое место компьютер Тихоокеанской Северо-Западной национальной лаборатории с 1936 процессорами Intel Itanium 2. Седьмая и десятая системы в рейтинге, принадлежащие Ливерморской национальной лаборатории, насчитывают 2304 и 1920 процессоров Intel Xeon соответственно. На 14 месте находится вычислительная система Академии наук КНР с 1024 процессорами Intel Itanium 2.

Очень интересные данные недавно обнародовала компания IDC. По ее сведениям за третий квартал 2003 года продажи серверов на базе архитектуры Intel впервые превзошли продажи RISC-серверов по обоим показателям - по количеству единиц проданной техники (что уже давно наблюдается) и по доходу от продаж.

По данным IDC за третий квартал 2003 года
 Серверы Доля в продажах (шт.) Доля в продажах (долл.)
 IA  87.7% 43.5%
 RISC 9.6%  41.8%


Интервью с Андреем Сёминым


О 64-битных процессорах нам любезно согласился рассказать Андрей Сёмин, координатор разработки решений компании Intel для корпоративного сектора. В обязанности Андрея входит координация разработки решений для конечных заказчиков, использующих строительные блоки Intel в инфраструктуре своих предприятий.


На наши вопросы отвечает Андрей Сёмин, координатор разработки решений компании Intel для корпоративного сектора

Алексей Доля: Вы не могли бы рассказать, какие 64-битные процессоры сегодня представлены под маркой Intel? Чем они отличаются друг от друга?

Андрей Сёмин: Intel поставляет на рынок 64-битные процессоры семейства Intel Itanium, которые представляют собой процессоры с архитектурой EPIC (Explicit Parallel Instructions Computing, Архитектура явного параллелизма команд). Все процессоры семейства Intel Itanium обратно совместимы по набору команд и поддерживают исполнение кода 32-битных процессоров Intel x86 с расширениями MMX и SSE.
Первый процессор данного семейства был представлен в 2001 году; он назывался Intel Itanium и имел кодовое имя Merced. В 2002 году был представлен процессор Intel Itanium 2 (кодовое имя McKinley), который отличался от Merced большей частотой ядра, наличием высокоскоростного кэша 3-го уровня на кристалле (у Merced L3 кэш был на картридже, а не на том же кристалле, что и ядро), большим количеством исполнительных устройств (11 вместо 9) и др.
Сегодня предлагается уже представитель 3-го поколения семейства процессоров Intel Itanium, который называется так же, как и его предшественник - Intel Itanium 2. В процессе разработки он имел кодовое имя Madison и отличается от McKinley большим L3 кэшем (6МБ вместо 3МБ у McKinley), большей частотой (1.5ГГц вместо 1ГГц). Особенностью Madison является его полная совместимость с McKinley по протоколу шины, картриджу и термальным характеристикам. Это делает возможным обновление McKinley на Madison без необходимости замены каких-либо других компонентов системы (системной платы, модулей памяти, и пр.).
В 2004 году Intel планирует выпустить следующий процессор семейства Intel Itanium, который также будет называться Intel Itanium 2. Кодовое имя этого процессора - Madison9M. Он отличается от Madison увеличенным до 9МБ L3 кэшем на кристалле и большей частотой ядра. При этом будет сохранена возможность устанавливать Madison9M в те же системы, где работали McKinley и Madison.


Алексей Доля: Чем 64-битные процессоры отличаются от 32-битных технически? Кроме размера регистров есть что-нибудь еще?

Андрей Сёмин: 64-битные процессоры семейства Intel Itanium построены по новой архитектуре EPIC, которая в значительной степени отличается от архитектуры 32-битных процессоров Intel Pentium 4 и Intel Xeon. Основной набор команд в Intel Itanium отличается от набора команд 32-битных процессоров Intel, внутреннее устройство и организация взаимодействия процессора с другими процессорами в многопроцессорных системах также были кардинально переработаны. В частности процессоры семейства Intel Itanium отличаются от 32-битных процессоров Intel:

Большими ресурсами на кристалле и вычислительными возможностями:

Большой (6 МБ) и быстрый (48 ГБ/с) кэш на кристалле процессора.
Большое (11) количество исполнительных устройств: 6 ALU/MM, 2 FPU, 3 Branch.
Большое количество регистров: 128 общего назначения (целочисленных), 128 FP, 128 специализированных (счетчики, флаги, и пр), 64 предикатных, 8 ветвления.
Механизм Register stack engine для оптимизации использования большого регистрового файла, организации эффективного вызова процедур и конвейеризации циклов.
Поддержка страницы от 8 Кбайт до 4 ГБ.

Параллелизмом на уровне системы команд процессора (особенность и отличие архитектуры EPIC по сравнению с CISC, RISC или Superscalar):

Процессор исполняет более 3-х инструкций за каждый такт (до 6 инструкций за такт для Intel Itanium 2).
Поддерживает спекулятивное и предикативное исполнение команд для уменьшения времени доступа к памяти и эффективного прохождения ветвлений программы

Масштабируемостью и надежностью:

Масштабирование систем до 512 процессоров.
64-битная виртуальная адресация, 50-бит физической адресации.
Высокоскоростная шина
Обнаружение, коррекция, мониторинг сбоев данных на уровне CPU/BIOS/OS

Как результат, процессоры семейства Intel Itanium удерживают мировые рекорды по многим современным тестам, включая SPECint_base2000 и SPECfp_base2000.


Алексей Доля: В каких случаях, на ваш взгляд, целесообразно использовать именно 64-битные процессоры? Где проявляется преимущество 64-битных процессоров на 32-битными и чем оно обусловлено?

Андрей Сёмин: 64-битные процессоры эффективно использовать в следующих случаях:

Основному приложению сервера или рабочей станции необходимо обрабатывать более 4 ГБ данных. Например, эффективно использование сервера с Intel Itanium 2 как сервера СУБД, ERP, CRM или приложение Business intelligence, если объем активно используемых данных значительно превышает 4 ГБ; или для задач проектирования и технических расчетов при моделях, по объему превышающих 4 ГБ.
Примером успешного внедрения в России может стать внедрение ERP Augur9i в группе "Орловские металлы" на серверах на базе процессора Intel Itanium 2 (Madison).

Приложение будет эффективно использовать особенности архитектуры EPIC и набора команд Intel Itanium 2 для достижения наилучших показателей производительности, например, в задаче криптографических трансформаций данных. Пример успешного внедрения, известный в России, - технопортал АвтоВАЗа, для которого было критичным поддержка большого количества защищенных SSL-соединений, с которыми не могли справиться современные RISC-серверы.

Для высокопроизводительных вычислений и строительства больших и сверхбольших кластеров. Наилучшая производительность для вычислений с плавающей точкой обеспечивает наилучшее на сегодняшний день соотношение $/FlopS, обгоняя даже кластеры на базе процессоров семейства Intel Xeon. Пример успешного внедрения в России - использование кластера на базе серверов с Itanium Itanium 2 в ГВЦ Росгидромета обеспечило 10-ти кратное сокращение времени расчета прогноза погоды по отношению к использованному ранее векторному комплексу Cray-YMP.


От автора. Пример с Росгидрометом очень показателен (согласитесь, 10-ти кратное сокращение времени расчета прогноза погоды - это результат, внушающий доверие), однако недавно (15 декабря 2003 года) на процессорах Intel Itanium 2 остановил свой выбор и Институт вычислительной математики Российской академии наук (ИВМ РАН). В ближайшее время в институте будет установлен высокопроизводительный кластер на базе процессора Intel Itanium 2. Кластер ИВМ РАН c пиковой производительностью около 80 гигафлопс (миллиардов операций с плавающей запятой в секунду) состоит из восьми 2-процессорных вычислительных узлов rx2600 производства Hewlett-Packard на базе процессора Intel Itanium 2 с тактовой частотой 1,3 ГГц. Каждый узел располагает оперативной памятью емкостью 2 ГБ и дисковой подсистемой емкостью 36 ГБ. В качестве интерконнекта используется технология Myrinet2000. При этом объем текущих задач института позволяет предположить, что в 2004 году кластер будет расширен по крайней мере вдвое.
Продолжительность счета одного "модельного" года (ИВМ РАН занимается, например, моделированием циркуляции атмосферы и океана) на однопроцессорной системе на базе процессора Intel Itanium 2 составляет двое суток. Таким образом, на один экспериментальный расчет на период до 100 лет затрачивается 200 суток реального времени. При использовании 16-процессорного кластера на базе процессора Intel Itanium 2, состоящего из восьми 2-процессорных узлов, счет по распараллеленной версии программы дает ускорение примерно в 10 раз, то есть один столетний эксперимент может быть сосчитан примерно за 20 дней.

Алексей Доля: Есть ли какие-нибудь расширения типа SSE или MMX для 64-битных процессоров?

Андрей Сёмин: Все процессоры Intel семейства Intel Itanium поддерживают исполнение 32-битного кода x86 и набора расширений MMX и SSE в режиме совместимости. Основной набор инструкций процессоров семейства Intel Itanium изначально разрабатывался с учетом опыта развития архитектур CISC, RISC и других, и кардинальным образом отличается от набора инструкций x86.


Алексей Доля: Получается, что процессоры Intel Itanium 2 имеют свой язык ассемблера (раз у них архитектура отлична от х86)?

Андрей Сёмин: Да. У 64-битных процессоров семейства Intel Itanium набор инструкций и используемый язык ассемблера отличается от набора инструкций и ассемблера IA-32. Ассемблер IA-32 не может быть скомпилирован в двоичный код IA-64.
Набор инструкций IA-64 характерен тем, что все инструкции имеют фиксированную длину: 41 бит; есть несколько инструкций, использующих константу - такие инструкции занимают 82 бита. Три инструкции упаковываются компилятором в группу инструкций длиной 128 бит. Группа, кроме 3 инструкций, содержит поле шаблона (5 бит), которое определяет тип вычислительных устройств, используемых инструкциями группы (например, шаблон с мнемоникой MFB описывает группу из Memory, Float и Branch инструкций). Инструкции в группе характеризуются тем, что между ними нет конфликтов по данным, регистрам и вычислительным устройствам. Например, не может быть 3 инструкций обработки чисел с плавающей точкой, т.к. в процессоре только 2 устройства FPU. Процессор запускает на исполнение 1 или 2 группы инструкций одновременно (тем самым образуется минимум 3 - максимум 6 инструкций за такт) без дополнительного разбора содержимого группы.


Соответственно, отличается и язык ассемблера для Intel Itanium. В частности изменен синтаксис языка и семантика работы с регистрами и памятью. Например, все обращения в память происходят с помощью отдельных инструкций сохранения и загрузки данных; "вычислительные" инструкции оперируют в основном только регистрами как операндами.


Алексей Доля: Есть ли какое-нибудь подобие технологии HyperThreading для 64-битных процессоров?

Андрей Сёмин: В существующих 64-битных процессорах Intel технология Hyper-Threading не применяется, однако рассматривается возможность применения этой технологии в будущих поколениях процессоров семейства Intel Itanium.


Алексей Доля: Скажите, пожалуйста, а пользователи 64-битных процессоров не испытывают недостаток в подходящем ПО? Я знаю, что Microsoft регулярно выпускает 64-битные версии своих важных для данного применения продуктов (не считая самой ОС, можно вспомнить SQL Server). Также известны новые версии дистрибутивов Linux, которые могут работать на 64-битной аппаратной платформе. Ну, а остальное прикладное ПО (базы данных и т.д.) для 64-битной Linux-платформы существует?

Андрей Сёмин: На сегодняшний день 64-битные процессоры семейства Intel Itanium эксплуатируются уже почти 3 года, и многие производители программного обеспечения получали доступ к первым версиям процессора еще в 1999 году. За это время на архитектуру Itanium было перенесено огромное количество приложений, в частности:

Операционные системы HP HP-UX 11i (версии 1.6, 2.0), Microsoft (XP, Windows 2000 LE, Windows 2003 Server): Linux (RedHat, SuSE, Caldera, MSC и др.);

СУБД компаний IBM (DB2), Oracle (9i, 10g), Microsoft (SQL Server 2000), MySQL, Informix (IDS 9.3), Sybase и др.;

Серверы приложений и приложения бизнес логики компаний SAP, SAS, BEA, IBM, и многих др.

Приложения для задач проектирования (CAD/CAM) и инструментов для разработки компаний EDS, Abaqus, Ansys, Mentor Graphics, Microsoft, Intel, Borland и др.

Для процессоров семейства Intel Itanium уже перенесено и оптимизировано более 700 коммерческих пакетов приложений и многие приложения с открытым кодом (еще 1500 ожидаются в ближайшее время). При этом перенос приложений для ОС Linux не отстает (а иногда и опережает) скорость переноса приложений для Microsoft Windows или HP-UX.


Алексей Доля: Я так понимаю, что 64-битный процессор всегда исполняет только 64-битный код. Если же пользователь пытается запустить 32-битное приложение, то за его преобразование отвечает операционная система. Я прав? Если нет, поправьте меня.

Андрей Сёмин: Я бы сказал не "исполняет только 64-битный код", а "обычно исполняет 64-битный код". При этом процессор также может исполнять код 32-битных приложений для Linux и Windows (а также 64-битный код PA-RISC под управлением ОС HP-UX для Itanium). Для исполнения 32-битного кода IA-32 у процессора Intel Itanium 2 есть соответствующий набор исполнительных устройств, декодеров и отдельных от основных регистровых файлов, используемых 32-битными приложениями, т.е. трансляции кода из IA-32 в IA-64 не происходит. От операционной системы в данном случае требуется распознать 32-битное приложение при его запуске (что делается путем анализа заголовка исполнимого файла), установить необходимое окружение для данного приложения (в частности, пути для поиска 32-битных версий системных библиотек) и флаги процессора, обеспечивающие исполнения 32-битных приложений.
В дополнение к аппаратной поддержке, инженеры Intel разработали альтернативную технологию исполнения 32-битного кода на процессоре Intel Itanium 2, основанную на динамической трансляции кода из IA-32 в IA-64 и обеспечивающую лучшую производительность 32-битных приложений на процессорах семейства Intel Itanium. Эта технология называется IA-32 Execution Layer (IA-32 EL) и основана на возможности процессора исполнять более 3-х инструкций за такт. Например, одной или двумя из 3-х инструкций могут быть инструкции трансляции из IA-32 в IA-64, а оставшиеся инструкции в группе могут быть транслированные ранее инструкции IA-32. IA-32 EL - это часть ядра операционной системы, и в таком виде исполнение 32-битного кода требует поддержки IA-32 EL от операционной системы. Планируется, что IA-32 EL будет встроена в Windows и Linux (в частности, для Windows Server 2003 и для Windows XP 64-bit данная технология уже доступна на этой страничке Microsoft - прим. редактора).
Есть одна особенность исполнения 32-битного кода на процессорах IA-64: в рамках одного процесса операционной системы не может исполняться код различных архитектур. Т.е. при переносе приложения необходим также перенос всех динамических библиотек, используемых приложением.
На самом деле, восприятие прессой темы исполнения 32-битных приложений процессорами семейства Intel Itanium носит, зачастую, спекулятивный характер. Процессоры данного семейства изначально разрабатывались для нужд систем уровня предприятия, выполняющих задачи, требования которых превышали бы ресурс 32-разрядных систем. Поэтому исполнение 32-битного кода на данных процессорах не является главной и критически важной задачей, как порой это представляется в СМИ. В частности, никогда не ставился вопрос об использовании процессоров семейства Intel Itanium в ПК или рабочих станциях/серверах начального уровня.


Алексей Доля: Считается, что для 64-битного процессора нужно 64-битное программное обеспечение. Например, корпорация Microsoft каждый раз с большим удовлетворением анонсирует выход 64-битных версий своих продуктов. Обязательно ли нужно портировать 32-битные приложения под 64-битную платформу?

Андрей Сёмин: Портировать приложение на платформу Intel Itanium или нет - зависит от целей использования данного приложения и его требований к аппаратным ресурсам системы. Intel рекомендует переносить приложение на IA-64, если приложению необходимы хотя бы одна из следующих возможностей:

Непосредственная адресация более 4 ГБ оперативной памяти.

Использование высокопроизводительных вычислительных устройств Intel Itanium или особенностей архитектуры EPIC и набора команд Intel Itanium для достижения наилучшей производительности.

Работа в многопроцессорных системах с более чем 32 процессорами.

Есть классы приложений, которые не обязательно портировать. Например, "служебные приложения" операционной системы (например, консоль администрирования Windows), редактор Paint, SQL Server Enterprise Manager, vi, утилиты типа ls, top. Это приложения, которым не требуется более 4 ГБ памяти, а также для пользователя не критична производительность этих приложений.
Два типа приложений, которые должны быть портированны для использования на процессорах семейства Intel Itanium, - это драйверы (и модули драйверов) устройств и системные сервисы (демоны).


Алексей Доля: Как проходит процесс разработки (портирования) ПО для 64-битных процессоров? Если мне не изменяет память еще 2 года назад Microsoft предоставляла лишь 64-битный компилятор (командной строки) с языка С++ и 64-битные версии API-функций. Тогда приходилось следить лишь за предупреждениями (warnings), чтобы корректно перенести код на платформу с более высокой разрядностью. Сейчас положение дел изменилось или разработчикам по-прежнему приходится довольствоваться аскетическими средствами разработки?

Андрей Сёмин: Во многом процесс разработки не изменился за последние 3 года, т.к. основные средства разработки для Intel Itanium были созданы еще до появления в широком распространении первых процессоров семейства.
Компания Microsoft поставляет свои средства разработки для IA-64 в составе Microsoft Platform SDK, доступного для свободного скачивания с сайта Microsoft. Platform SDK - это набор инструментов (компиляторов, компоновщиков, отладчика, вспомогательных утилит, например, “depend”), библиотек и заголовочных файлов, необходимых и достаточных для разработки приложений для Windows/IA-64. Platform SDK интегрируется в Microsoft Visual Studio 6.0 и .NET, что обеспечивает "привычность" работы с IA-64, такую же как и с IA-32. Platform SDK доступна не только для Intel Itanium, но и для 32-битных процессоров Intel, что делает возможным кросс-платформенную разработку приложений для IA-64.
Для Linux подход такой же. Существует IA-64 SDK для Linux, который необходим и достаточен для разработки приложений для Linux/IA-64 с использованием привычных средств разработки программистов.
С точки зрения анализа проблем портирования приложений. В дополнение к ключам компилятора, о которых Вы упомянули, уже достаточно давно существуют коммерческие инструменты, помогающие программистам при переносе приложений с 32- на 64-битную архитектуру. Можно упомянуть Migratec Workbench и lint, помогающие в обнаружении проблем портирования.


Алексей Доля: На сколько я знаю, при разработке 64-битного кода под Windows используется макрос "_WIN64", сообщающий компилятору о разрядности кода. А как происходит разработка ПО под UNIX/Linux? Там же вроде все системные API стандартизованы... Или есть свои макросы и стандартизованные 64-битные функции? Какие есть средства разработки 64-битного кода для UNIX/Linux?

Андрей Сёмин: Для генерации кода для IA-64 необходимо пользоваться компилятором для IA-64 (например, Microsoft, GNU, Intel или др.) и соответствующим компоновщиком объектного кода IA-64.
При компиляции Windows-приложений макрос "WIN64" определяется для того, чтобы препроцессор соответствующим образом мог вычислить условия директив (#ifdef, и др.); указание на архитектуру является лишь вторичным действием макроса "WIN64". В дополнение к этой опции требуется опция компоновщика "/machine:IA64".
При компиляции для Linux/UNIX приложения для Intel Itanium необходимо пользоваться компилятором и компоновщиком для IA-64. Этот компилятор по умолчанию будет создавать объектный код для IA-64. Никаких дополнительных макросов указывать нет необходимости.


Алексей Доля: Возможно ли применение всех стандартных средств разработки Intel-кода для 64-битной архитектуры (речь идет о специализированных компиляторах Intel, VTune Perforamance Analyzer и т.д.)?

Андрей Сёмин: Да, программные продукты Intel существуют для IA-32 и IA-64. Компиляторы Intel имеют одинаковые основные опции компиляции для IA-32 и IA-64 (отличаются только опции, указывающие на целевую архитектуру и специфичные для архитектур ключи оптимизации). Библиотеки (MKL, IPP и др.) имеют одинаковые спецификации вызовов. Intel VTune Performance Analyzer имеет одинаковый интерфейс на 32- и 64-битных архитектурах Intel; естественным образом VTune имеет специфические наборы счетчиков производительности для IA-32 и IA-64.

От автора. Интересен вопрос о перспективах. Действительно ли нас ждет переход на 64-разрядные вычислительные архитектуры? Аджей Малхотра: "Возможно, не всех сразу. До того момента, как все компьютеры станут 64-разрядными, пройдет еще много лет. Но, с точки зрения корпоративных заказчиков, 64-разрядная архитектура обладает двумя колоссальными преимуществами перед 32-разрядной. Во-первых, она позволяет работать с огромными объемами данных, что делает ее идеальным выбором для операций с большими базами данных и требовательными к ресурсам корпоративными приложениями. Во-вторых, она позволяет значительно расширить объем адресуемой памяти компьютера. Возможность держать в памяти целые базы данных многократно ускоряет работу СУБД и столь необходимых нам всем защищенных интернет-приложений. В настоящее время 64-разрядные системы ориентируются, в первую очередь, на корпоративные бизнес-приложения, решения для электронной коммерции и электронных каталогов, а также на инфраструктурные технологии Интернета (службы каталогов, службы безопасности, прокси-серверы, кэш- и Web-серверы)".
Вот, например, что предсказывала компания IDC (февраль 2001 г., стратегии для IT-профессионалов; основы технологии корпоративных серверов): "Переход на 64-разрядные технологии неизбежен, как были неизбежны переходы на 32-разрядные и 16-разрядные системы до него. Переход на 64-разрядную адресацию будет очень полезен для корпоративных СУБД, научных и технических приложений и интернет-приложений, использующих технологии шифрования".


Алексей Доля: Как вы считаете, как скоро человечеству может понадобиться 128-битный процессор? Это далекое будущее, объективная реальность или никому не нужная технология?

Андрей Сёмин: 64-битная адресация данных позволяет непосредственно работать с более, чем 18 Экзабайт информации - в сравнении с 4 Гигабайтами у 32-битных архитектур. В настоящее время не так много задач, которым требуется оперировать объемами данных большими, чем один экзабайт.
Закономерность, наблюдаемая в индустрии информационных технологий в течение последних 25 лет, показывает средний рост объема обрабатываемых данных порядка 1.5 бит за год, т.е. в среднем за десять лет объем обрабатываемых данных вырастает в 1.5^10 (примерно 58) раз. Если принять, что сегодня непосредственная адресация 40 бит (2^40 - примерно 1 Терабайт) является достаточной для большинства приложений, то 64-битного адресного пространства перестанет хватать где-то через 41 год. Конечно, это достаточно грубая оценка, так как прогноз на 40 лет делается на основе опыта 25 лет, и нет гарантии, что завтра не будет найдено приложение, которому перестанет хватать 2^64 для хранения своих данных...


Алексей Доля: Большое спасибо, что так подробно ответили на все наши вопросы. Удачи вам и вашей компании, мы и дальше будем внимательно следить за развитием ее технического потенциала!