Классификация многопроцессорных систем

1. SMP-системы (Symmetrical Multi Processor systems). В подобной системе все процессоры имеют совершенно равноправный доступ к общей оперативной памяти. Работать с такими системами программистам удобно, поскольку не возникает никаких специфичных «особенностей», связанных с архитектурой компьютера. Но, к сожалению, создавать подобные системы крайне трудно: 2-4 процессора – практический предел для стоящих разумные деньги SMP-систем.

2. NUMA-системы (Non-Uniform Memory Access systems). Память становится «неоднородной»: один её блок быстрее, другой – медленнее, т.е. время отклика для них различно. В системе при этом образуются своеобразные «островки» со своей быстрой «локальной» оперативной памятью, соединенные относительно медленными линиями связи. Обращения к «своей» памяти происходят быстро, к «чужой» - медленнее, причем чем дальше чужая память расположена, тем медленнее получается доступ к ней. Создавать NUMA-системы значительно проще, чем SMP, а вот программы писать сложнее – без учета неоднородности памяти эффективную программу для NUMA написать невозможно.

3. Наконец, последний тип многопроцессорных систем – кластеры. Берут некоторое количество «почти самостоятельных» компьютеров (узлы кластера или «ноды») и объединяют их быстродействующими линиями связи. Общей памяти здесь может и не быть вообще, но и здесь её несложно реализовать, создав существенно неоднородную NUMA-систему. На практике обычно удобнее работать с кластером в «явном» виде, явно описывая в программе все пересылки данных между его узлами. То есть, если для NUMA еще можно создавать программы, почти не задумываясь над тем, как система работает и откуда берутся необходимые для работы потоков данные, то при работе с кластером требуется очень четко планировать, кто, что и где делает. Это очень неудобно для программистов и вдобавок, накладывает существенные ограничения на применимость кластерных систем. Но зато кластер – это очень дешево.

Intel сегодня предпочитает создавать SMP-системы; AMD, IBM и Sun - те или иные варианты NUMA. Основная «область применения» кластеров – суперкомпьютеры.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: