Storskalig grafanalys blir allt viktigare med ökningen av globala sociala nätverkstjänster. Nyligen i SociaLite föreslog vi tillägg till Datalog för att effektivt och kortfattat genomföra grafanalysprogram på sekventiella maskiner. Detta papper beskriver nya förlängningar och optimeringar av SociaLite för parallella och distribuerade utföranden för att stödja storskalig grafanalys. Med distribuerad SociaLite, programmerare helt enkelt kommentera hur data ska distribueras, då den nödvändiga kommunikationen automatiskt härleds för att generera parallell kod för kluster av multi-core maskiner. Det optimerar utvärderingen av rekursiva monotona aggregerade funktioner med hjälp av en delta steg teknik. Dessutom stöds ungefärlig beräkning i SociaLite, vilket gör det möjligt för programmerare att byta av noggrannhet för mindre tid och utrymme. Vi utvärderade SociaLite med sex kärngrafalgoritmer som användes i många sociala nätverksanalyser. Vårt experiment med 64 Amazon EC2 8-kärniga fall visar att SociaLite program utfördes inom en faktor av två med avseende på idealisk svag skalning. Jämfört med optimerad Giraph, en öppen källkod alternativ Pregel, SociaLite program är 4 till 12 gånger snabbare över riktmärkesalgoritmer, och 22 gånger mer koncis i genomsnitt. Som ett deklarativt frågespråk kan SociaLite, med hjälp av en kompilator som genererar effektiv parallell och ungefärlig kod, enkelt användas för att skapa många sociala appar som fungerar på storskaliga distribuerade grafer.
Socialite REF ger utökningar till Datalog för att underlätta parallell körning.
Distributed SociaLite: A Datalog-Based Language for Large-Scale Graph Analysis
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}