Skip to main content

Что такое параллельные вычисления?

Параллельные вычисления происходят, когда компьютер выполняет более одной задачи одновременно. Эта техника может позволить компьютерам работать быстрее, чем делать одно за один раз, точно так же, как человек с двумя свободными руками может нести больше, чем человек с одной свободной рукой. Традиционно компьютерные программы разрабатываются таким образом, что не обязательно допускают параллельные вычисления, а вместо этого должны выполняться по одному шагу за раз. Чтобы программа вычислялась таким образом, она должна быть спроектирована так, чтобы ее можно было разбить на более мелкие задачи, которые можно выполнять индивидуально. В качестве примера того, как параллельные вычисления относятся к среднему человеку, многие персональные компьютеры имеют несколько процессорных ядер, которые позволяют им обрабатывать несколько задач одновременно, а не одну задачу за другой, как на компьютере с одним процессором.

Написание компьютерной программы, которая может быть разбита на отдельные задачи, которые выполняются отдельно, зачастую сложнее, чем написание одной за раз с использованием линейного выполнения. С компьютерными программами, которые будут выполняться последовательно, первая задача обычно определяет информацию, которая является неотъемлемой частью второй задачи в последовательности. Без этой первой информации, полученной в результате выполнения первой задачи, вторая задача может оказаться бессмысленной. При написании программы, которая может быть разбита на разные части, уникальным вызовом может быть выбор времени, когда разные части программы получают необходимую им информацию, когда им это необходимо, и не принимают решения на основе устаревшей информации. Эта проблема обычно связана с наиболее распространенными типами компьютерных ошибок, с которыми сталкиваются параллельные вычислительные программы.

Основным преимуществом параллельных вычислений является то, что программы могут выполняться быстрее. Если компьютерное оборудование, которое выполняет программу с использованием параллельных вычислений, имеет архитектуру, такую ​​как более одного центрального процессора (ЦП), параллельные вычисления могут быть эффективным методом. В качестве аналогии, если один человек может нести по одному ящику за раз, а процессор - это человек, программа, выполняемая последовательно, может быть способна нести только один ящик за один раз. При параллельном выполнении одна и та же программа может быть разделена на две отдельные задачи, и, если есть два ЦП, чтобы использовать ее в своих интересах, переносите оба блока одновременно. Делая это, человек несет обе коробки и выполняет свою задачу быстрее.