Задать вопрос
Priest512
@Priest512
Разработчик .NET, С++

Как программы используют возможности многопроцессорных систем?

Много ли программ, которые хорошо и как можно лучше используют современные гиперпотоковые процессоры, а также многоядерные системы? Или же в большинстве своем не очень адаптированы под такие виды систем? В каком случае одноядерные системы надежнее или лучше многоядерных?
  • Вопрос задан
  • 2459 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
gbg
@gbg Куратор тега Windows
Любые ответы на любые вопросы
Многоядерные системы сейчас широко используются во всех отраслях информационных технологий, начиная от компьютерных игр и заканчивая математическим моделированием сложных природных и технических систем, вроде полета частиц в кольцах Большого адронного коллайдера.

Существуют и задачи, которые принципиально невозможно рассчитывать параллельно, вроде многократного расчета хэшей (временная сложность таких задач используется в криптографии).

Возможность распараллеливания задачи определяется внутренней структурой алгоритма решения.

Даже если задача не разбивается на параллельные, у параллельного компьютера все равно остается преимущество - он может решать параллельно одну и ту же задачу и затем сравнивать результаты для проверки корректности решения. В некоторых случаях, когда требуется сверхнадежность, это может быть полезным.
Ответ написан
Комментировать
@386DX
а) хорошо паралелящиеся
б) не требующие общей оперативной памяти и данных для обработки
в) не ветвящиеся алгоритмы и проч
примеры - брут простых хэшей и паролей, в т.ч. присные биткоины (fpga)
обработка маршрутизация IP пакетов (DPI, маршрутизаторы)
простая обработка видеосигнала - например перекодирование на gpgpu

Вобщем, берешь список задач для специализированных процессоров fpga TILE-Gx72 gpgpu и там они все будут
Ответ написан
Комментировать
@sanchas
Современное программное обеспечение стараются оптимизировать для распараллеливания, особенно, если приложение "тяжелое" и требует много ресурсов. Важно понимать, что при распараллеливании задач возникает новая задача - задача диспетчеризации, которая тоже отбирает часть ресурсов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы