I mer än trettio år har den parallella programmeringsgemenskapen använt beroendekurvan som den huvudsakliga abstraktionen för att resonera om och utnyttja parallellism i "vanliga" algoritmer som använder täta matriser, såsom finita skillnader och FFT. I detta dokument hävdar vi att beroendekurvan inte är en lämplig abstraktion för algoritmer inom nya tillämpningsområden som maskininlärning och nätverksanalys där de viktigaste datastrukturerna är "oregelbundna" datastrukturer som grafer, träd och uppsättningar. För att ta itu med behovet av bättre abstraktioner, introducerar vi en datacentrisk formulering av algoritmer som kallas operatörens formulering där en algoritm uttrycks i termer av dess åtgärder på datastrukturer. Denna formulering är grunden för en strukturell analys av algoritmer som vi kallar tao-analys. Tao-analys kan ses som en abstraktion av algoritmer som destillerar ut algoritmiska egenskaper som är viktiga för parallellisering. Den avslöjar att en generaliserad form av data-parallellism som kallas amorf data-parallellism är allestädes närvarande i algoritmer, och att denna parallellism, beroende på algoritmens tao-struktur, kan utnyttjas av kompileringstid, inspektör-exekvator eller optimistisk parallellisering och därigenom förena dessa till synes orelaterade parallelliseringsmetoder. Regelbundna algoritmer framträder som ett specialfall av oregelbundna algoritmer, och många tillämpningsspecifika optimeringstekniker kan generaliseras till ett bredare sammanhang. Dessa resultat tyder på att operatörens formulering och taoanalys av algoritmer kan utgöra grunden för ett systematiskt förhållningssätt till parallell programmering.
Det Galois-system som utvecklats vid UT Austin REF föreslår en datacentrisk formulering av algoritmer som kallas "operatorformulering".
The tao of parallelism in algorithms
{'venue': "PLDI '11", 'journal': None, 'mag_field_of_study': ['Computer Science']}