freeCodeCamp/guide/russian/algorithms/embarassingly-parallel-algo.../index.md

16 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Embarassingly Parallel Algorithms
localeTitle: Эмбирирующие параллельные алгоритмы
---
## Эмбирирующие параллельные алгоритмы
При параллельном программировании неловко параллельным алгоритмом является тот, который не требует связи или зависимости между процессами. В отличие от распределенных вычислительных задач, требующих связи между задачами, особенно на промежуточных результатах, смущающие параллельные алгоритмы легко выполнять на фермах серверов, которым не хватает специальной инфраструктуры, используемой в истинном суперкомпьютерном кластере. Из-за характера смущающих параллельных алгоритмов они хорошо подходят для больших распределенных платформ на базе Интернета и не страдают от параллельного замедления. Противоположностью неловко параллельных проблем являются, по сути, серийные проблемы, которые не могут быть распараллелены вообще. Идеальный случай смущающих параллельных алгоритмов можно резюмировать следующим образом:
* Все подзадачи или задачи определены до начала вычислений.
* Все подрешения хранятся в независимых ячейках памяти (переменные, элементы массива).
* Таким образом, вычисление подрешений полностью независимо.
* Если вычисления требуют некоторой начальной или окончательной связи, мы называем это почти неловко параллельным.
Многие могут задаться вопросом о этимологии термина «смущающе». В этом случае, смущающе не имеет ничего общего с смущением; на самом деле это означает переизбыток - здесь речь идет о проблемах с параллелизацией, которые «смущающе легки».
Общим примером неловко параллельной проблемы является обработка 3D-видео, обрабатываемая блоком обработки графики, где каждый кадр или пиксель можно обрабатывать без взаимозависимости. Некоторые другие примеры - это программное обеспечение для сгибания белков, которое может работать на любом компьютере, причем каждая машина выполняет небольшую часть работы, генерирует все подмножества, случайные числа и моделирование методом Монте-Карло.