PhiStore
description
Transcript of PhiStore
PhiStore
A Distributed and Policy Based Object Store
Motivation
• Eksplosiv vækst i datamængder– Især media (billeder, musik & film)• Dubletter?
– 1 ZB (2010) → ~1.8 ZB (2011)*– Back up
* = http://www.emc.com/digital_universe
Motivation +
• Automatisk oprydning– Midlertidigt data• Statusopdateringer• Huskesedler• …
– Gammelt data• Ønskesedler• Invitationer• Lovgivning
Eksisterende Løsninger
• Amazon: Dynamo– Key-value store
• Microsoft: Azure– Blobs, tabeller og køer
• Google: BigTable– Tabeller
• Apache: Cassandra– Tabeller
Motivation ++
• Eksisterende systemer understøtter ikke– WAN– Kryptering
Overblik
LAN
WAN
Clients
ExternalStorage
LocalStorage
RemovableStorage
Server
Resultatet af 6 måneders arbejde
• 15.000 linier C# kode – En eksekverbar server– Et program-bibliotek med klient ++– En eksekverbar med eksempler
• 93 sider dokument• (og nu en præsentation)
Features
• Key-value store• Lister med køfunktionalitet• Skalerbar– Antal servicerende maskiner– Harddisk kapacitet
• Fejltolerant• Komprimering
Features +• C
CreateListCreate
• RReadListReadListCount
• UUpdateListUpdateListAppend
• DDeleteListDelete
Pop
Udfordringer
• WAN– Latens dræner performance• 2PC• Bully election (tilfældig random)
• Sikkerhed– Kommunikation (RSA + AES)– Krypteret objekt (AES)– Brugeradgang– Objekt deling/isolering
Udfordringer +
• Key generering• Serialization• Kompression– Deflate– vs. Kryptering
• Kommunikation– TCP/IP vs. XML-RPC vs. WCF
Udfordringer ++
• Politik– Metodeafgrænsning (capabilities)
ModifyDeleteAppendPop
– Replikeringskrav– Skrald og gammelt data– Optimeringer
FastReturnEnforceAtomicity
Prefetching
• Caching (Server)Tilføjelse til koordinators liste over kopier
• Prediction (Klient)Sekventiel læsning
• Prefetchable – baseret på politikFastReturn
ellerPop, Delete, Modify
PerformanceWriting
Performance +
Server # Client # TB (4 clients) TBR (4 clients) Parrot (5 clients) Sum3 13 1674.99 1693.53 3086.84 6455.36
Reading
Mangler
• RSA dekryptering er langsom – meget langsom• Pop– Første element bliver slettet ved afbrydelse af
forbindelse.– BOINC har lignende problem.
• Udveksling og koordinering af bruger-oplysninger• Simultan replikering• Genskabelse af tilstand ved nedbrud
Fremtiden
• Applikationsdreven udvikling– Distribueret filsystem, med P2P muligheder• Mulighed for at kræve specifikke maskiner har kopi• Mulighed for ’read-only’• Specialiserede FS operationer• …
… 30 minutter senere
Spørgsmål ?