Сервер - статьи

       

Мультипроцессинг сегодня



#7(116)/2004

Долгие годы корпорация Intel оставалась единственным игроком на рынке CPU архитектуры х86 для мультипроцессорных систем. Однако с появлением линейки AMD Athlon MP компания получила весьма достойного конкурента. Тогда — лишь технологического. Сегодня пошатнуть рыночные позиции Intel в сфере серверов призваны новые процессоры AMD линейки Opteron. Но не уготована ли им судьба предыдущего поколения чипов, которые, по сути, так и остались всего лишь альтернативой?

Но для начала сделаем небольшой экскурс и напомним основные принципы параллельных вычислений, а также определимся с понятиями.

Если пользоваться классификацией процессорных архитектур, данной еще в 1966 году американским инженером-электриком Майклом Флинном (Michael Flynn), выяснится, что возможны только четыре способа, позволяющих компьютеру оперировать данными и инструкциями. Среди них способы, при которых данные или инструкции посылаются на обработку строго последовательно, единичными порциями при операциях чтения и записи, а также группой. Каждый из способов имеет сегодня множество реализаций. Например, в компьютерах с последовательной архитектурой осуществляется поток единичных инструкций и единичных данных (single instruction stream/single data stream — SISD). К этому классу относятся, прежде всего, классические последовательные машины, или машины фон-неймановского типа, например, текстовые процессоры. В таких машинах есть только один поток команд, и все они обрабатываются последовательно, таким образом, что каждая команда инициирует одну операцию с одним потоком данных.

Остальные три реализации архитектур требуют параллельного выполнения команд, а потому имеют самое непосредственное отношение к теме нашего материала. Так, архитектура, обрабатывающая одиночный поток команд и множественный поток данных (single instruction stream/multiple data stream — SIMD) подразумевает сохранение одного потока команд, но включающего в отличие от предыдущего класса поток векторных команд.
Это позволяет выполнять одну арифметическую операцию сразу над многими числами (данными) – элементами вектора или массивами. Обычно для этого применяются многоэлементные процессоры, именуемые в современной практике матричными или векторными. При схеме multiple instruction stream single data stream (MISD) - множественный поток команд и одиночный поток данных, подразумевается наличие многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Хотя на практике представить такую систему не сложно. Достаточно вообразить крупную базу данных, которая, будучи подана на все имеющиеся процессоры, одновременно обрабатывается ими в поиске различных необходимых значений. И наконец, последняя – наиболее гибкая, но одновременно и самая сложная для программирования и реализации архитектура – множественный поток команд и множественный поток данных (multiple instruction stream/multiple data stream — MIMD) предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных. Особенность такой системы в том, что она требует дополнительного набора инструкций для координирования работы всех процессоров. Впрочем, эффективность MIMD-архитектуры при моделировании сложных многофакторных процессоров переоценить достаточно трудно, равно как и ее теоретическую привлекательность.

Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий