Измерение масштабируемости многопоточных приложений - PullRequest
0 голосов
/ 01 апреля 2012

Я работаю над приложением, которое поддерживает многоядерные архитектуры MIMD (на бытовых / настольных компьютерах).В настоящее время я беспокоюсь о поведении масштабирования приложения.Он спроектирован так, чтобы быть массово параллельным и работать с аппаратным обеспечением next-gen .Это на самом деле моя проблема.Кто-нибудь знает какое-либо программное обеспечение для моделирования / эмуляции многоядерных MIMD-процессоров с> 16 ядрами на уровне машинного кода?Я уже реализовал программный потоковый планировщик с возможностью имитации нескольких процессоров с помощью простых методов синхронизации.Мне было любопытно, есть ли какое-нибудь программное обеспечение, которое могло бы выполнять этот вид симуляции на более низком уровне, предпочтительно на уровне ассемблера, чтобы получить лучшие результаты.Я хочу еще раз подчеркнуть, что меня интересуют только MIMD Architectures.Я знаю об OpenCL / CUDA / GPGPU, но это не то, что я ищу.

Любая помощь приветствуется и заранее спасибо за любые ответы.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

Если вы пишете свое приложение на C / C ++, я могу вам помочь.

Моя компания создала инструмент, который будет принимать любой код на C или C ++ имоделировать его поведение во время выполнения на уровне байт-кода, чтобы найти возможности распараллеливания.Инструмент выделяет возможности распараллеливания и показывает, как ведут себя параллельные задачи.Единственное несоответствие заключается в том, что наш инструмент также предоставит рецепты рефакторинга для фактического перехода к распараллеливанию, хотя, похоже, у вас это уже есть.

0 голосов
/ 02 апреля 2012

Вы редко найдете универсальные инструменты тестирования, которые ТАКЖЕ способны нацеливаться на очень узкие (высокопроизводительные) углы - по простой причине: издержки объекта «общего назначения» в первую очередь победят эту цель.

Это особенно верно для паралелизма, где локальность и планирование имеют огромное влияние.

Все это говорит о том, что я боюсь, что вам придется написать свой собственный инструмент тестирования, чтобы точно ориентироваться на вашшаблон использования.

Это цена за актуальность.

...