I över ett decennium nu har vi bevittnat framgången med massiva parallella beräkningar (MPC) ramar, såsom MapReduce, Hadoop, Dryad, eller Spark. En av anledningarna till deras framgång är det faktum att dessa ramar exakt kan fånga karaktären av storskaliga beräkningar. I synnerhet, jämfört med de klassiska distribuerade algoritmer eller PRAM-modeller, dessa ramar möjliggör mycket mer lokal beräkning. Den grundläggande frågan som uppstår i detta sammanhang är dock: kan vi utnyttja denna ytterligare kraft för att få ännu snabbare parallella algoritmer? Ett framträdande exempel här är den maximala matchande problem ett av de mest klassiska graf problem. Det är välkänt att man i PRAM-modellen kan beräkna en 2-ungefärlig maximal matchning i O(log n) rundor. Den exakta komplexiteten i detta problem inom ramen för MPC är dock fortfarande långt ifrån klarlagd. Lattanzi m.fl. (SPAA 2011) visade att om varje maskin har n 1+ och 1) minne, kan detta problem också lösas 2-cirka i ett konstant antal rundor. Dessa tekniker, liksom de tillvägagångssätt som utvecklats i uppföljningsarbetet, verkar dock fastna på ett grundläggande sätt på ungefär O(log n) rundor när vi går in (som mest) nära linjära minne regim. Det är därför helt möjligt att i detta system, som fångar i synnerhet fallet med glesa grafberäkningar, den bästa MPC runda komplexiteten matchar vad man redan kan få i PRAM-modellen, utan att behöva dra nytta av den extra lokala beräkningskraften. * I den här tidningen motbevisar vi till slut denna möjlighet. Det vill säga, vi bryter ovanstående O(log n) runda komplexitet bundna även i fallet med något sublinjärt minne per maskin. I själva verket är vår förbättring här nästan exponentiell: vi kan leverera en (2+ε)-ungefärlig maximal matchning, för alla fasta konstant ε > 0, i O (log log n) 2 rundor. För att fastställa vårt resultat måste vi avvika från det tidigare arbetet på två viktiga sätt som är avgörande för att utnyttja kraften i MPC-modellen, jämfört med PRAM-modellen. För det första använder vi vertex-baserad grafpartitionering, istället för de kantbaserade metoder som har använts hittills. För det andra utvecklar vi en teknik för rundkompression. Denna teknik gör det möjligt för en att ta en (distribuerad) algoritm som beräknar en O(1)-uppskattning av maximal matchning i O(log n) oberoende PRAM-faser och genomföra ett super-konstant antal av dessa faser i endast ett konstant antal MPC-rundor. • Teori för beräkning → MapReduce algoritmer; Massivt parallella algoritmer; KEYWORDS maximal matchning, vertex partitionering, rund komprimering ACM Referensformat:
Nyligen, Czumaj et al. REF utformade en algoritm för att konstruera ett (1 + ε)-ungefärligt maximalt matchning i O((log log n) 2 ) MPC-rundor av beräkning och O(n/polylog n) minne per maskin.
Round compression for parallel matching algorithms
{'venue': 'STOC 2018', 'journal': None, 'mag_field_of_study': ['Computer Science', 'Mathematics']}