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.


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

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


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.


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).


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.