Quais algoritmos não podem ser paralelizados?

24

Existe algum algoritmo que é muito difícil de paralelizar ou a pesquisa ainda está ativa?

Eu queria saber sobre qualquer algoritmo ou qualquer campo de pesquisa em computação paralela.

Qualquer coisa que eu procurei tem uma implementação 'paralela' feita. Só quero fazer um estudo sobre qualquer campo de computação paralela inexplorado.

Próton polinomial
fonte
11
O que exatamente você quer dizer com "paralelizar"? Indiscutivelmente, todo algoritmo é paralelamente agradável, mas nem sempre é bom. (Pode ser mais interessante para encontrar novos algoritmos, em qualquer caso.)
Raphael
Você acertou, meu objetivo é encontrar algoritmos difíceis de paralelizar. Você pode me dizer mais sobre o que você entende por encontrar novos algoritmos?
Proton polinomial
Você não respondeu minha pergunta. Quantos processadores você permite (5, , n , )? Que tipo de aceleração e / ou eficiência você procura (qualquer aceleração, aceleração linear em número de processadores, tempo total poliolarítmico)? pn
Raphael
A partir de agora, estou procurando algoritmos que são difíceis de paralelizar, ou seja, explorar o campo e depois decidir de acordo depois de estudá-los.
Proton polinomial
related: stackoverflow.com/questions/18773937/…
Ciro Santilli escreveu:

Respostas:

11

este é basicamente um problema de pesquisa aberto relacionado à questão NC =? P, na qual NC é tomado como a classe de algoritmos eficientemente paralelizáveis.

em uma pesquisa influente / abrangente de Berkeley "o cenário da computação paralela" , existem classes de algoritmos ou padrões de paralelismo separados em "anões". dos primeiros 6 identificados, parece que os problemas com corpos podem ser relativamente difíceis de paralelizar eficientemente à medida que n aumenta, porque existem n 2 interações entre todos os n pontos.nnn2n

eles adicionaram 6 outros mais tarde no papel e sugerem que a última chamada "FSMs" (p14), onde o problema envolve computação FSM como cálculos (como o º estado da FSM) pode ser o oposto de "embaraçosamente paralelo" algo eles propõem chamar "embaraçosamente sequencial".n

veja também existem algoritmos famosos em sci. comp. que não podem ser paralelizados , scicomp.se

vzn
fonte
11
Brilhante, obrigado pelos links e explicação!
Proton polinomial
11

Este artigo apresenta vários problemas fáceis de resolver em sequência, mas difíceis de paralelizar: http://en.wikipedia.org/wiki/P-complete

O problema do valor do circuito ("dado um circuito booleano + sua entrada, diga o que ele gera") é um bom ponto de partida - fácil de entender, fácil de resolver com algoritmos seqüenciais e ninguém sabe se pode ser paralelamente eficiente.

Jukka Suomela
fonte
Isso pressupõe uma definição teórica da complexidade de "paralelizável" que pode ou não ser de interesse.
Raphael
@Raphael: AFAIK, muitos problemas clássicos do P-complete são difíceis de paralelizar não apenas na teoria, mas também na prática (mesmo se você tiver um número relativamente pequeno de processadores).
Jukka Suomela
@JukkaSuomela Há também casos em que a teoria da complexidade sugere dureza, mas as coisas funcionam bem na prática. Além disso, os resultados positivos também não significam muito na prática .
Raphael
Pode-se acrescentar que, de um ponto de vista teórico da complexidade, não está claro se existem problemas "inerentemente incomparáveis", pelo fato de não se saber se , como vzn faz em respostaNC=P
Cornelius Brand
7

De uma perspectiva prática, você está perguntando sobre algoritmos inerentemente sequenciais. Existem muitos candidatos, como o encadeamento de hash, que se acredita ser muito difícil de paralelizar. O encadeamento de hash é amplamente usado em criptografia. Por exemplo, o esquema de hash de senha bcrypt foi projetado para tentar dificultar a velocidade do hash por meio da paralelização. Outro exemplo é o quadrado repetido (novamente, em criptografia).

DW
fonte
Encontrei alguns trabalhos que paralelizam o encadeamento de hash, mas ainda não o leram completamente. Eu vou passar pelo mesmo. De qualquer forma, obrigado pela contribuição!
Proton polinomial
11
@ TheUknown Links para esses documentos serão apreciados.
precisa saber é o seguinte
@ m33lky Desculpe, não tenho nenhum desses documentos comigo agora. Isso foi em janeiro e eu finalmente continuei minha pesquisa sobre outro tópico. No entanto, você pode procurar on-line no Google Scholar e eu tenho certeza que você vai ter muitos papéis
polinomial Proton
Na perspectiva prática, também vale a pena mencionar que, se o algoritmo for, por exemplo, vinculado à memória, a paralelização não ajudará muito: stackoverflow.com/questions/868568/…
Ciro Santilli