Celery: Следует ли переименовать карту и звездную карту?

Созданный на 24 февр. 2014  ·  3Комментарии  ·  Источник: celery/celery

Я действительно не думаю, что эти 2 примитива действительно соответствуют тому, что, кажется, они должны подразумевать в контексте «распределенной очереди задач». Я понимаю причину, по которой кому-то могут понадобиться функции карты и звездной карты, поскольку они создают одну задачу, но на самом деле я не получаю от них преимущества, поскольку для пользователя было бы тривиально написать функцию, просто поддерживающую список входных данных. . Для меня термин «карта» здесь подразумевает что-то вроде алгоритма уменьшения карты, что определенно не так. Аккорд — это, по сути, форма сокращения карты, которая на самом деле просто сбивает с толку.

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

http://docs.python.org/2/library/multiprocessing.html#using -a-pool-of-workers

Самый полезный комментарий

group — функция распределенной карты.

Термин карта использовался задолго до того, как Google написал документ MapReduce, и я не думаю, что кого-то смущает этот термин, когда он используется в haskell или clojure. Функциональность прекрасно выражается термином «карта», и я не думаю, что есть какие-то естественные альтернативы.

Примитивы холста также все существительные (подпись, группа, аккорд, цепочка), но карта используется как глагол (task.map), а не то, с чем иногда видят туристов.

Фреймворки MapReduce также обычно не имеют отключенных этапов отображения и сокращения, вместо этого
у вас есть операция mapreduce, которая использует Mapper и Reducer, где обработанные данные передаются в редюсер. На самом деле, простого наличия map() и reduce() недостаточно для MapReduce.

Таким образом, chord на самом деле не форма сокращения карты, а распределенная версия барьера, и имя
берется непосредственно из такого барьера в Cω.

group не берется ниоткуда, но операция та же самая
как то, что часто называют «параллельной картой» в литературе по параллелизму, только в распределенной форме.
Поэтому map обычно считается последовательным, а не параллельным

Все 3 Комментарий

group — функция распределенной карты.

Термин карта использовался задолго до того, как Google написал документ MapReduce, и я не думаю, что кого-то смущает этот термин, когда он используется в haskell или clojure. Функциональность прекрасно выражается термином «карта», и я не думаю, что есть какие-то естественные альтернативы.

Примитивы холста также все существительные (подпись, группа, аккорд, цепочка), но карта используется как глагол (task.map), а не то, с чем иногда видят туристов.

Фреймворки MapReduce также обычно не имеют отключенных этапов отображения и сокращения, вместо этого
у вас есть операция mapreduce, которая использует Mapper и Reducer, где обработанные данные передаются в редюсер. На самом деле, простого наличия map() и reduce() недостаточно для MapReduce.

Таким образом, chord на самом деле не форма сокращения карты, а распределенная версия барьера, и имя
берется непосредственно из такого барьера в Cω.

group не берется ниоткуда, но операция та же самая
как то, что часто называют «параллельной картой» в литературе по параллелизму, только в распределенной форме.
Поэтому map обычно считается последовательным, а не параллельным

И они полезны, потому что позволяют уменьшить детализацию операции, просто используя task.map(list) вместо group(task.s(i) for i in list)

За исключением того, что task.map(list) не позволяет выполнять задачи одновременно. Все задачи выполняются на одном и том же воркере одна за другой. Если это не так, я могу открыть новую тему.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги