Noll
Vad händer om den enorma designen utrymme för data-driven programvara kan vara ett effektivt sätt kartlade och utforskade för att få skräddarsydd, optimerade lösningar? Forskare från Harvard kombinera analytiska modeller, riktmärken och maskininlärning för att göra detta möjligt.
Idreos arbete är oerhört ambitiösa, eftersom det berör vad som är state of the art idag, och lovar att avsevärt förbättra detta. Att dra på några konkreta exempel, tänka på sådana system som Oracle self-tuning databas eller liknande utbud som de från ScyllaDB eller MemSQL.
Historiskt sett, konstaterar Idreos, IBM och Microsoft var bland de pionjärer i att utforska adaptiva system. Traditionellt har fokus legat på tuning indexering. Nu är detta expanderar till andra rattar, och detta, Idreos spekulerar i, är vad Oracle gör det också.
Idreos arbete är annorlunda i det att den inte bara justera befintliga uppgifter strukturer, såsom index, till exempel, men det kan också konfigurera dem för att skapa nya dynamiskt. Eller åtminstone, det är visionen.
För närvarande DASlab första genomförandet kan fungera annorlunda från Oracles av världen, men verkar ha en liknande, om än förstorad effekt. DASlab har arbetat med RocksDB, som Idreos säger att de har lyckats konfigurera för att uppnå prestanda som kan vara från 1.000 till 10.000 gånger bättre för samma arbetsbelastning.
Också: “Big data arkitektur: Navigering komplexiteten TechRepublic
En annan lovande ansökan kan vara nivåindelning för moln-leverantörer. När fler och fler applikationer och data att flytta till molnet, problemet med vad man ska hålla i snabb tillgång till media och vad som ska flytta till band blir allt viktigare.
Tiering är den bästa för att besvara frågan om vilken hårdvara som ska användas för att lagra data, eller i en specifik maskin, i vilket minne för att lagra data. Idreos säger att Data Kalkylator kan fånga sådana aspekter.
Det är ett optimeringsproblem: för en viss arbetsbelastning, och billiga, att hitta det optimala systemet, hårdvara och minnesallokering.
DASlab forskning kommer att tillämpas för att använda open source-data i molnet för sådana scenarier. Idreos säger att de behöver minst ett år av forskning för detta, och det svåra är hur man söker effektivt i en exponentiell sök utrymme.
Från self-tuning att själv designa datasystem
Imponerande som RocksDB resultat kan vara, kvarstår det faktum att den underliggande data strukturer inte ändrats: RocksDB är fortfarande en key-value store.
DASlab genomförande fungerar som en add-on lager på toppen av RocksDB. Detta lager inspekterar arbetsbelastning och maskinvarukonfiguration dynamiskt vid körning, och använder Data Kalkylator för att hitta och tillämpa optimal konfiguration.
Detta var ett pragmatiskt val som görs på grundval av att begränsa sökningen utrymme, som begränsar sig själv till att key-value data strukturer som gör saker mer hanterbara. Visionen sträcker sig långt utanför dock.
Det låter som science-fiction-liknande, men kan vara närmare än du tror: Harvards DASlab arbetar på att själv designa datasystem. Bild: DASlab / Harvard
Vad sägs om att välja den typ av system som är bäst lämpade för att hantera arbetsbelastningen på per program? Och inte bara bland befintliga system, alltför.
Fullt utrustad, är denna forskning skulle kunna leda till personlig system design, anpassad till behoven i särskilda program. Och dessa system skulle också kunna anpassa sig vid körning, om arbetsbelastning förändring.
Detta kan låta som science fiction, och Idreos uppskattar att det är minst 10 år bort. Men det är på god väg. Utöver att presentera denna forskning på världens mest prestigefyllda konferenser, Idreos arbetar också på att kommersialisera det, även om vi inte har frihet att lämna uppgifter.
Machine Learning, och att veta vad du gör
Data Räknaren använder en hybrid metod-del som avser analys, del benchmarking, en del machine learning (ML). Idreos har varit beroende av analytiska metoder för ett tag, och halvt på skämt kommentarer som “ML är när man inte riktigt vet vad du gör.”
Men allvarligt talat, när man diskuterar Data Kalkylator strategi jämfört med Oracle, till exempel, en uppenbar fråga är vilken typ av data som Idreos ” team kan tänkas använda.
I motsats till Oracles av världen, DASlab inte har tillgång till massor av real-life-databasen utbyggnaden av de operativa uppgifterna. Idreos konstaterar dock att det för ett stort antal saker, de vet exakt vad de ska göra och hur, och deras analytiska modeller är tillräckligt:
När du förlitar dig på ML uteslutande, vad du får är ett ungefärligt svar. Men det finns några bra skäl till varför vi använder det.
Först som en metod som kan peka mot en bra lösning. Då med vår analytiska modellen det hela kommer ner till en ekvation som tar 1 micro sekund att köra, och vi har den optimala lösningen.
I vårt arbete för Nyckel-värde-butiker, design rymden är stort, men vi förstår det ganska bra. Vi har byggt analytiska modeller som fungerar, så vi behöver verkligen inte ML. (Generaliserad) Data Kalkylator är olika.
Idreos förklarar att de inte kan bygga upp en analytisk modell för alla möjliga uppgifter struktur-åtminstone inte på denna punkt. Utformningen utrymme är dynamisk, det växer, och det är svårt att sätta fingret på. Vad de gör är att de använder sig av domänen kunskap, till exempel hur tillgången metod primitiver beter sig, och sedan syntetisera en analytisk modell motsvarande.
Till exempel, de modellera beteendet hos random access -, skannings-eller binära träd. De använder sedan detta för att syntetisera mer komplexa strukturer, såsom index.
Också: Vad är lärande? Allt du behöver veta
De analytiska modellerna kommer att bli något av, men som de inte representerar världen med 100 procents säkerhet. I datastrukturer, säger Idreos, vad du brukar missa att vara en del data eller hårdvara egenskaper.
DASlab använder ML att träna algoritmer baserade på analytiska och jämföra resultat. De har en analytisk modell och köra några riktmärken på specifika data och konfigurationer, och resultaten förs sedan till ML algoritmer som träningsdata.
Detta gör det möjligt för dem att svara på frågor som “jag vill köra en skanning på 5 gb data med dessa funktioner på denna hårdvara, hur lång tid kommer det att ta?”, även utan att ha byggt en exakt analytisk modell för detta.
Zen och konsten av datastrukturer
Liknande alla ML metoder att välja rätt parametrar för att införliva i de ML modeller är oerhört viktigt. I det här fallet gäller det att välja de parametrar som påverkar maskinvara och programvara, även när det inte är klart exakt hur.
För nästa steg i denna forskning, Idreos föreställer sig en skiktad ML-metoden, som bygger på inlärning:
Det vi har byggt upp fungerar så här: vi in en design, och få en kostnad som en utgång. Detta är liknande till ML märkning, i form av märkning ingångar. Så att vi kan använda våra hybrid algoritm för att märka data utbildning för annan ML-algoritmen lager för att få mer ungefärliga svar.
Även om den första frukten av denna forskning är redan på väg att kommersialiseras, det kan ta ett tag innan vi får se den utvecklas fullt ut.
Idreos, men närmar sig denna med en Zen sorts attityd som gör att man anser att self-designing data system är mer eller mindre oundvikligt. Verkar som ett större område av kreativitet som tidigare reserverats för människor är på väg till automation.
Relaterade Ämnen:
Big Data Analytics
CXO
Digital Omvandling
Tech-Industrin
Smarta Städer
Cloud
0