Quali algoritmi non possono essere parallelizzati?


24

Esiste un algoritmo che è molto difficile da parallelizzare o la ricerca è ancora attiva?

Volevo sapere di qualsiasi algoritmo o campo di ricerca nel calcolo parallelo.

Qualunque cosa, ho cercato, ha un'implementazione "parallela". Voglio solo fare qualche studio su qualsiasi campo di calcolo parallelo inesplorato.


1
Cosa intendi esattamente con "parallelizzare"? Probabilmente, ogni algoritmo è parallelizzabile, ma non sempre bene. (Potrebbe essere più interessante trovare nuovi algoritmi, in ogni caso.)
Raffaello

Hai capito bene, il mio scopo è trovare algoritmi difficili da parallelizzare. Puoi dirmi di più su cosa intendi trovando nuovi algoritmi?
Polynomial Proton,

Non hai risposto alla mia domanda. Quanti processori permetti (5, p , n , )? Che tipo di speedup e / o efficienza stai cercando (qualsiasi speedup, speedup lineare nel numero di processori, tempo totale poliarcaritmico)?
Raffaello

A partire da ora, sto cercando algoritmi che sono difficili da parallelizzare, cioè esplorare il campo e quindi decidere di conseguenza dopo averli studiati.
Polynomial Proton,

Risposte:


11

questo è fondamentalmente un problema di ricerca aperto relativo alla domanda NC =? P in cui NC è considerata la classe di algoritmi efficientemente parallelizzabili.

in un'indagine influente / mediatica di Berkeley "il panorama dell'informatica parallela" , ci sono classi di algoritmi o schemi di parallelismo separati in "nani". del 1 ° 6 identificato, sembra che i problemi di n body possano essere relativamente difficili da parallelizzare in modo efficiente all'aumentare di n perché ci sono n2 interazioni tra tutti gli n punti.

aggiunsero altri 6 nel corso della carta e suggeriscono che un'ultima chiamata "FSM" (p14), dove il problema riguarda calcolo FSM come calcoli (come il ° stato della FSM) può essere l'opposto di "imbarazzante parallelo" qualcosa propongono di chiamare "imbarazzantemente sequenziale".n

vedi anche ci sono algoritmi famosi in sci. comp. che non può essere parallelizzato , scicomp.se


1
Fantastico, grazie per i collegamenti e la spiegazione!
Polynomial Proton

11

Questo articolo presenta una serie di problemi che sono facili da risolvere in sequenza ma difficili da parallelizzare: http://en.wikipedia.org/wiki/P-complete

Il problema del valore del circuito ("dato un circuito booleano + il suo ingresso, indica ciò che emette") è un buon punto di partenza: facile da capire, facile da risolvere con algoritmi sequenziali e nessuno sa se può essere parallelizzato in modo efficiente.


Ciò presuppone una definizione teorica della complessità di "parallelizzabile" che può essere o meno interessante.
Raffaello

@Raphael: AFAIK, molti problemi classici di P-complete sono difficili da parallelizzare non solo in teoria ma anche in pratica (anche se hai un numero relativamente piccolo di processori).
Jukka Suomela,

@JukkaSuomela Ci sono anche casi in cui la teoria della complessità suggerisce la durezza, ma le cose funzionano bene nella pratica. Inoltre, anche i risultati positivi non significano molto in pratica .
Raffaello

Si potrebbe aggiungere che, dal punto di vista della complessità teorica, non è affatto chiaro se esistano problemi "intrinsecamente impareggiabili", dal fatto che non si sa se , come vzn nel suo rispostaNC=P
Cornelius Brand

7

Da una prospettiva orientata alla pratica, stai chiedendo algoritmi intrinsecamente sequenziali. Ci sono molti candidati, come l'hash concatenamento, che si ritiene sia molto difficile da parallelizzare. L'hash-chaining è ampiamente utilizzato nella crittografia. Ad esempio, lo schema di hashing delle password bcrypt è stato progettato per tentare di rendere difficile l'accelerazione dell'hash attraverso la parallelizzazione. Un altro esempio è la quadratura ripetuta (di nuovo, nella crittografia).


Ho trovato alcuni documenti che hanno parallelizzato il concatenamento dell'hash, ma non l'ho mai letto completamente. Passerò attraverso lo stesso. Comunque, grazie per l'input!
Polynomial Proton,

1
@TheUnown I collegamenti a tali articoli sarebbero apprezzati.
m33lky,

@ m33lky Siamo spiacenti, non ho nessuna di quelle carte con me ora. Questo era molto tempo fa e alla fine ho continuato le mie ricerche su un altro argomento. Tuttavia, puoi cercare online su google scholar e sono sicuro che otterrai molti documenti
Polynomial Proton,

Sul punto di vista pratico, è anche opportuno ricordare che se l'algoritmo è ad esempio memoria vincolato, allora parallelizzazione sarà non aiuta molto: stackoverflow.com/questions/868568/...
Ciro Santilli新疆改造中心法轮功六四事件
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.