Plurality Ltd. — израильская полупроводниковая компания, разработчик технологии HyperCore и многоядерного процессора HAL (HyperCore Architecture Line). Компания является членом Multicore Association . [2]
Plurality разрабатывает технологию HyperCore CPU , которая представляет собой многопроцессорный процессор MIMD на базе 32-битной RISC-архитектуры на одном кристалле [3] , содержащий от 16 до 256 ядер. [4] Технология HyperCore поддерживает выполнение как мелкозернистого, так и крупнозернистого параллелизма благодаря специальному аппаратному синхронизатору/планировщику, общей памяти и модели программирования на основе задач.
Синхронизатор/планировщик технологии HyperCore (запатентовано, [5] см. также ниже) устраняет необходимость многократного выполнения специальной программы ядра , контролирующей и решающей, какую задачу (или поток ) в данный момент назначить и выполнить на данном процессоре. Возможность синхронизировать задачи на аппаратном уровне позволяет процессору поддерживать мелкозернистые программы и достигать почти линейного ускорения . Мелкозернистые программы могут выполняться только тогда, когда длительность задач значительно короче накладных расходов, вносимых планировщиком . Общая память HyperCore (патент находится на рассмотрении) позволяет избежать проблемы когерентности и сохраняет единое пространство памяти для всех ядер в системе, тем самым значительно упрощая модель программирования.
Д-р Нимрод Байер и д-р Ран Гиносар, двое основателей Plurality, получили патент США 5202987 («Высокоскоростной синхронизатор/планировщик для мультипроцессоров») на основную технологию компании 13 апреля 1993 года. Патент цитировался более чем в 30 последующих патентах. Реферат патента выглядит следующим образом:
«Аппарат синхронизатора/планировщика с высокой пропускной способностью для многопроцессорной системы во время выполнения программы включает в себя матрицу соединений для мониторинга и обнаружения вычислительных задач, которые разрешены для выполнения, содержащую карту задач и сеть узлов для распределения по процессорам информации или вычислительных задач, обнаруженных для включения матрицей соединений. Сеть узлов обладает способностью разлагать информацию о пакете выделенных вычислительных задач на сообщения более мелких подпакетов для отправки процессорам, а также способностью объединять пакеты информации о завершении вычислительных задач в более полный пакет. Также описан метод выполнения синхронизации/планирования в многопроцессорной системе этого аппарата».