Ricerca dinamica parallela


24

Esiste un analogo parallelo naturale agli alberi rosso-neri con proprietà simili o addirittura non terribilmente peggiori per gli aggiornamenti pur essendo ragionevolmente efficienti dal punto di vista del lavoro?

Più in generale, qual è il meglio che possiamo fare per la ricerca parallela con gli aggiornamenti?


Quali proprietà in particolare desideri conservare o trasformare "non terribilmente peggio"? Quanto è importante che la condizione di equilibrio sia ancora quella degli alberi rosso-neri? I limiti previsti, come negli elenchi di salto simultanei, sarebbero accettabili?
jbapple,

Penso che i limiti previsti andrebbero bene. Questa è una situazione in cui colpiamo molto spesso la struttura dei dati con valori chiave aggiornati, quindi, per essere precisi, anche operazioni di cambio chiave efficienti, a la fibonacci, vanno bene. Hai un buon riferimento per gli skip list simultanei?
Suresh Venkat,

Il libro di Herlihy & Shavit, The Art of Multiprocessor Programming, o "Elenchi collegati senza blocco e skip list" o java.util.concurrent o Practical lock-freedom . Hai mai considerato di utilizzare una tabella hash simultanea come una tabella hash hopscotch ?
jbapple,

In realtà no. Sono purtroppo analfabeta in metodi simultanei. Grazie per i riferimenti.
Suresh Venkat,

Risposte:


8

Da quello che posso dire, le strategie prevedono rilassanti condizioni di equilibrio, quindi l'esecuzione di aggiornamenti di riequilibrio a raffica. Ecco un articolo di Hanke et al., 1997 [PDF] , che penso si concentri sulla loro tecnica di aggregazione e risoluzione delle operazioni di aggiornamento in modo che possano essere eseguite contemporaneamente.


5

Penso che potresti trovare una risposta interessante nel libro Purely Functional Data Structures di Okasaki . In questo libro vengono mostrate molte strutture di dati, in modo tale che ogni aggiornamento non sia costoso (di solito richiede solo un tempo costante o logaritmico).

nn


4
Penso che, senza ulteriori modifiche, gli alberi di ricerca puramente funzionali serializzino tutti gli aggiornamenti e quindi funzionino male sotto contesa di scrittura.
jbapple,
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.