Skip to main content

Что такое симметричная многопроцессорная обработка?

Симметричная многопроцессорная обработка (SMP) - это тип компьютерной архитектуры, в которой два или более центральных процессора (ЦП) имеют общую ссылку на одну и ту же память. Первоначально он был разработан в 1960-х годах и с тех пор используется в различных конфигурациях. Любой процессор в системе SMP может обращаться к программному обеспечению и запускать его из любой части общей памяти. Популярность этой установки колебалась в течение года по мере развития технологий и изменения рынков, но она все еще остается одной из наиболее распространенных форм многопроцессорных технологий.

SMP возникла в начале 1960-х годов как способ соединения нескольких процессоров по высокоскоростному соединению и предоставления им доступа к одному и тому же набору модулей памяти. Поскольку память распределяется между процессорами, аппаратное обеспечение SMP может быть дешевле, чем другие технологии, которые могут выделять память каждому процессору. Многие варианты этой установки были использованы, некоторые использовали простую перемычку для соединения двух процессоров, в то время как другие использовали более сложные межсоединения между 32 процессорами. Любая симметричная многопроцессорная система может сдерживаться скоростью и пропускной способностью этого межсоединения; система с 32 процессорами не обязательно будет в 32 раза быстрее, поскольку общая связь между этими процессорами и системной памятью может стать перегруженной.

Одно из ключевых преимуществ симметричной многопроцессорной обработки по сравнению с другими методами состоит в том, что система SMP более или менее одинаково обрабатывает все свои процессоры, предоставляя каждому из них одинаковое качество доступа к другому компьютерному оборудованию. Это означает, что любой процессор в системе может читать и выполнять инструкции из программ, независимо от того, где эти программы находятся в памяти компьютера. Многие программы теперь разбиты на более мелкие части, известные как потоки; когда эти программы запускаются в системе SMP, каждый процессор может запускать поток программы, тем самым дополнительно увеличивая общую производительность. Программное обеспечение уровня пользователя не нуждается в модификации для запуска в системе, которая поддерживает симметричную многопроцессорность, но базовая операционная система должна поддерживать эту технологию.

Популярность симметричной многопроцессорной обработки с годами пошла на спад, поскольку были разработаны другие методы и исследованы новые архитектуры. Распространение информации о возможном влиянии технологии на компьютеры появилось в начале 1990-х годов; ряд компаний, прежде всего Sequent Computer Systems, начали специализироваться на создании высокопроизводительных SMP-систем. Sequent, приобретенный IBM в 1999 году, получил высокую оценку за свои разработки, но так и не смог эффективно конкурировать с гигантами компьютерной индустрии. Новые технологии многопроцессорной обработки, такие как неоднородный доступ к памяти (NUMA), частично вытеснили SMP в высокопроизводительных системах.

На протяжении многих лет производители компьютеров экспериментировали с симметричной многопроцессорной обработкой аппаратного обеспечения на уровне потребителей; однако, за исключением дорогого оборудования для энтузиастов, большинство персональных компьютеров испытывают недостаток в этой технологии. Новые технологии для повышения эффективности систем с одним процессором, такие как одновременная многопоточность или «гиперпоточность», наряду с развитием многоядерной технологии повысили производительность компьютеров без увеличения стоимости SMP. Однако возможно объединить эти технологии, и самые мощные настольные компьютеры могут включать в себя несколько многоядерных процессоров, подключенных через SMP, создавая таким образом систему с огромными вычислительными возможностями.