Videnskab
 science >> Videnskab >  >> Elektronik

Et system udelukkende til udvikling af højtydende, big data-koder

Rice Universitys PlinyCompute-team inkluderer (fra venstre) Shangyu Luo, Sourav Sikdar, Jia Zou, Tania Lorido, Binhang Yuan, Jessica Yu, Chris Jermaine, Carlos Monroy, Dimitrije Jankov og Matt Barnett. Kredit:Jeff Fitlow/Rice University

Dataloger fra Rice Universitys DARPA-finansierede Plinius-projekt mener, at de har svaret for enhver stresset systemprogrammør, der har kæmpet for at implementere komplekse objekter og arbejdsgange på 'big data'-platforme som Spark og tænkte:"Er der ikke en bedre måde ?"

Rice's PlinyCompute vil blive afsløret her torsdag ved 2018 ACM SIGMOD-konferencen. I et peer-reviewet konferenceoplæg, teamet beskriver PlinyCompute som "et system udelukkende til udvikling af højtydende, big data-koder."

Ligesom Spark, PlinyCompute sigter efter brugervenlighed og bred alsidighed, sagde Chris Jermaine, Rice-professoren i datalogi, der leder platformens udvikling. I modsætning til Spark, PlinyCompute er designet til at understøtte de intense former for beregning, som kun tidligere har været mulige med supercomputere, eller højtydende computere (HPC).

"Med maskinlæring, og især dyb læring, folk har set, hvad komplekse analysealgoritmer kan gøre, når de anvendes på big data, " sagde Jermaine. "Alle, fra Fortune 500-ledere til neurovidenskabelige forskere, råber efter flere og mere komplekse algoritmer, men systemprogrammører har for det meste dårlige muligheder for at levere det i dag. HPC kan levere ydeevnen, men det tager år at lære at skrive kode til HPC, og måske værre, et værktøj eller et bibliotek, der kan tage dage at oprette med Spark, kan tage måneder at programmere på HPC.

"Spark blev bygget til big data, og det understøtter ting, som HPC ikke gør, som let belastningsbalancering, fejltolerance og ressourceallokering, som er et absolut must for dataintensive opgaver, " sagde han. "På grund af det, og fordi udviklingstiden er langt kortere end med HPC, folk bygger nye værktøjer, der kører oven på Spark til komplekse opgaver som maskinlæring, grafanalyse og mere."

Fordi Spark ikke blev designet med komplekse beregninger i tankerne, dens beregningsmæssige ydeevne kan kun skubbes så langt, sagde Jia Zou, en risforsker og førsteforfatter til ACM SIGMOD-papiret, der beskriver PlinyCompute.

Rice Universitys PlinyCompute er en big data-platform designet specifikt til udvikling af højtydende og dataintensive koder. Kredit:Plinius Project/Rice University

"Spark er bygget oven på Java Virtual Machine, eller JVM, som styrer kørselstider og abstraherer de fleste detaljer vedrørende hukommelseshåndtering, " sagde Zou, som brugte seks år på at forske i storskala analyse- og datastyringssystemer hos IBM Research-China, før han kom til Rice i 2015. "Sparks præstation lider under dens afhængighed af JVM, især da beregningsmæssige krav øges til opgaver som træning af dybe neurale netværk til dyb læring.

"PlinyCompute er anderledes, fordi det er designet til høj ydeevne fra bunden, " sagde Zou. "I vores benchmarking, vi fandt ud af, at PlinyCompute var mindst dobbelt så hurtig og i nogle tilfælde 50 gange hurtigere til at implementere kompleks objektmanipulation og bibliotekslignende beregninger sammenlignet med Spark."

Hun sagde, at testene viste, at PlinyCompute klarer sig bedre end sammenlignelige værktøjer til konstruktion af højtydende værktøjer og biblioteker.

Jermaine sagde, at ikke alle programmører vil finde det nemt at skrive kode til PlinyCompute. I modsætning til den Java-baserede kodning, der kræves til Spark, PlinyCompute biblioteker og modeller skal skrives i C++.

"Der er mere fleksibilitet med PlinyCompute, " sagde Jermaine. "Det kan være en udfordring for folk, der er mindre erfarne og vidende om C++, men vi kørte også en side om side sammenligning af antallet af kodelinjer, der var nødvendige for at fuldføre forskellige implementeringer, og for det meste var der ingen signifikant forskel mellem PlinyCompute og Spark."

Plinius-projektet, som blev lanceret i 2014, er 11 millioner dollars, DARPA-finansieret indsats for at skabe sofistikerede programmeringsværktøjer, der både kan "autofuldføre" og "autokorrigere" kode for programmører, stort set på samme måde som software fuldender søgeforespørgsler og retter stavning på webbrowsere og smartphones. Plinius bruger maskinlæring til at læse og lære fra milliarder af linjer af open source computerprogrammer, og Jermaine sagde, at PlinyCompute blev født ud af denne indsats.

"Det er en beregningsmæssigt kompleks maskinlæringsapplikation, og der var virkelig ikke et godt værktøj til at skabe det, sagde han. Tidligt, vi erkendte, at PlinyCompute var et værktøj, der kunne anvendes på problemer langt ud over, hvad vi brugte det til i Pliny-projektet."