Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
40_алгоритмов_Python.pdf
Скачиваний:
9
Добавлен:
07.04.2024
Размер:
13.02 Mб
Скачать

Введение в крупномасштабные алгоритмы

333

zz Использование возможностей кластеров для запуска крупномасштабных алгоритмов.

Начнем с основ.

ВВЕДЕНИЕ В КРУПНОМАСШТАБНЫЕ АЛГОРИТМЫ

Людям нравится преодолевать трудности. На протяжении веков мы придумы­ ваем инновационные способы решения сложных проблем. От предсказания района нашествия саранчи и до вычисления наибольшего простого числа, ме­ тоды поиска ответов на трудные вопросы продолжают развиваться. С появле­ нием компьютеров мы получили новый мощный способ решения сложных задач.

Определение эффективного крупномасштабного алгоритма

Хорошо продуманный крупномасштабный алгоритм обладает следующими двумя характеристиками:

zz Он справляется с гигантским объемом данных и обширными требованиями к обработке, наилучшим образом используя доступные ресурсы.

zzОн масштабируется. По мере усложнения проблемы алгоритм просто за­ действует больше ресурсов.

Наиболее практичный способ реализации крупномасштабных алгоритмов — стратегия «разделяй и властвуй». Это разбиение крупной задачи на более мел­ кие, которые решаются независимо друг от друга.

Терминология

Рассмотрим некоторые термины, используемые для количественной оценки качества крупномасштабных алгоритмов.

Задержка

Задержка (latency) — это общее время, необходимое для выполнения одного вычисления. Допустим, C1 — это одно вычисление, которое начинается в t1 и за­ канчивается в t2, тогда можно сказать следующее:

Latency = t2 – t1.