Компьютерное пространство и время

Сети ядер

Современные компьютеры, сделанные по Фон-нейману, исполняют команды типа перемещения чисел из ячейки памяти в регистр и наоборот, операции с двумя (тремя , включая перенос) операндами – сложение, вычитание, умножение, деление, сдвиг, логические операции и т.п., а так же операции условного и безусловного перехода. Этот базовый набор позволяет программировать на различных языках с различной парадигмой, включая Объектно Ориентированное Программирование (ООП), Функциональное Программирование (ФП) и многие другие варианты технологи программирования.общая шина

 

Крайне обобщая, можно сказать, что исполнение программ сводится к перемещению чисел из ячейки в ячейку, и операциям над этими числами. Перемещение чисел задано архитектурой компьютера 1)с общей шиной и 2)линейной адресацией памяти. Использование 1) и 2) позволяет максимально упростить схему компьютера и систему команд. Вы можете одной командой переместить число из любой ячейки в любую другую ячейку.

Но для распараллеливания исполнения программ в многоядерном процессоре, общая шина становится узким местом. Практика показала, что значительный выигрыш по ускорению исполнения на многоядерных процессорах с общей шиной памяти перестаёт расти уже после 8 ядер.

плоская сеть

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

Запись опубликована в рубрике ISI. Добавьте в закладки постоянную ссылку.

Добавить комментарий