310
говорит само за себя. В концепцию этой архитектуры (как, впрочем, и ряда
других новых архитектур) входит многопроцессорная обработка с
несколькими "потоковыми устройствами" в каждом процессоре. Такая
архитектура призвана обеспечить более эффективную обработку на
сетевом сервере современных потоков данных, которые характеризуются
возрастанием удельного веса в них мультимедийной информации.
Для получения лучшей производительности, кроме многопоточных
микропроцессоров, разработчики MAJC применяют технологию,
называемую "пространственно-временными вычислениями" или
"предположительной многопоточности". В этой технологии прикладной
программист вообще не будет беспокоиться о распараллеливании своих
программ, потому что эта работа будет сделана за него Java ВМ.
Смысл пространственно-временных вычислений сводится к
следующему. Java ВМ проверяет программу и предполагает, что два
метода могут выполняться одновременно на двух процессорах. Она
посылает метод A на первый процессор, а метод B – на второй для
предположительного вычисления. Поскольку B – предположительный
метод, он выполняется в отдельном адресном пространстве, называемом
предположительной памятью. Если все идет хорошо, и никакие
зависимости в данных не нарушены, то предположительная память
сливается с основной памятью и программа обрабатывает следующую
пару методов. Если произошло нарушение, то второй метод отменяется и
предположительная память "выбрасывается".
Идея пространственно-временных вычислений не является
кардинально новой, но она не применялась в обычных многопроцессорных
системах без многопоточности, так как позволяла увеличить
эффективность выполнения программ в 2-процессорной конфигурации не
более, чем на 5%. Разработчики MAJC рассчитывают, что в их архитектуре