vak: (Улыбка)
[personal profile] vak
Дали мне любопытную платку поиграться: GreenArrays EVB001.



На плате установлены два чипа GA144f18a. Каждый чип содержит 144 процессора с архитектурой f18a, соединённых в форме матрицы 8x18. Процессор имеет 144+144 байт памяти RAM+ROM (по 64 18-битных слова), а также набор регистров для общения процессоров между собой и с внешним миром через ножки ввода-вывода. Понятие частоты процессора отсутствует: это асинхронный дизайн.



Суть подхода в том, что каждый процессор выполняет небольшую программу, обмениваясь данными с соседями. К примеру, для реализации контроллера Ethernet 10Base-T достаточно всего 26 процессоров (PDF). Алгоритм вычисления контрольной суммы требует 14 процессоров (PDF).

Архитектура процессора и система команд представляют собой очень простой стековый компьютер со словной организацией. Слово данных и команда процессора имеют одинаковый размер в 18 бит. Подробное описание архитектуры имеется в документе "F18A Technology Reference". Для пользователей предлагается среда программирования на языке Forth.

Не могу сказать, что я сильно впечатлён. Судя по примерам MD5 и 10Base-T, разработка софта для такой архитектуры дело крайне трудоёмкое. Forth - типичный пример так называемого write-only language, на котором можно программу написать (один раз), но нельзя понять (больше никогда). Можно пытаться приспособить простой Си-компилятор, однако архитектура плохо для этого приспособлена. Отлаживать систему из сотен взаимодействующих процессоров тоже не сахар. В общем, чисто академический интерес получается.

Date: 2016-04-27 20:25 (UTC)
From: [identity profile] oboguev.livejournal.com
Так языки для этого дела (Inferno всякий) вроде бы давно проехали.
Сейчас такие вещи обычно делаются на Джаве -- всякий map-reduce, apache spark etc.
Ну или на этом, как его, который для программирования NVIDIA применяют.

К слову, как-то не сложилось поинтересоваться (или сложилось, но уже забыл), с чем Интел продаёт свои платы с тыщей пентиумов.
Edited Date: 2016-04-27 20:25 (UTC)

Date: 2016-04-28 03:17 (UTC)
From: [identity profile] qvb.livejournal.com
Интеловский Xeon Phi имеет всего 72 процессора на чипе, четыре треда каждый. Работает на нем линукс.

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