kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
RocksDB Read Optimization Strategies for Streaming Applications
KTH, School of Electrical Engineering and Computer Science (EECS).
2023 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
RocksDB Läsoperationsoptimeringsstrategier för Strömningsapplikationer (Swedish)
Abstract [en]

Modern stream processors rely on embedded key-value stores to manage state that accumulates over long-running computations and exceeds the available memory size. One of these key-value stores is RocksDB, which is widely used in many applications requiring high-performing storage with low latency. RocksDB uses local disk storage as its persistent storage medium. Disk reads are costly operations in terms of latency compared to reads from main memory, and if the time spent waiting for read operations in applications could be reduced, then the overall performance of applications could be improved. There are different strategies that can be used to achieve a shorter latency of read operations. Such a technique is micro-batching, which can utilize parallelism for increased performance and lowered latency. In this project, a specific method in RocksDB called MultiGet, which fetches multiple keys at the same time, was used to perform micro-batching of read operations. The strategy of using the MultiGet method on a batch of keys was benchmarked against a strategy of repeated Get calls, which only fetched one key at a time. The benchmarks were performed with those strategies to measure the difference in latency when used on synthetic key batches and on simulated streaming traces. The benchmarks showed that the MultiGet method had a latency of down to only 11% of the latency of the Get method when reading large batches from disk. When using these strategies on the simulated streaming workloads the strategies using MultiGet showed to be able to execute streaming traces with latency down to 58% of the latency of the Get strategy. These results show that micro-batching with the MultiGet method in RocksDB can potentially be used effectively depending on the streaming workload that is performed. However, there are some issues that need to be addressed first, such as batching operations in a way that makes sure that the streaming data semantics are kept.

Abstract [sv]

Moderna strömningsprocessorer använder inbyggda nyckel-värde-lagringsenheter för att hantera tillstånd som samlas upp över långvariga beräkningar och överskrider den tillgängliga huvudminnesstorleken. En av dessa nyckel-värde-lagringsenheter är RocksDB, som används flitigt i många program som kräver hög presterande lagring med låg accesstid. RocksDB använder lokal disklagring som sin persistenta lagringsmedium. Diskläsningar är kostsamma operationer vad gäller accesstid jämfört med läsningar från huvudminne, och om den tid som läggs på väntan på läsoperationer i program kunde reduceras skulle den totala prestandan i program förbättras. Det finns olika strategier som kan användas för att uppnå kortare accesstid vid läsoperationer. En sådan teknik är mikro-batchning, som kan utnyttja parallellism för ökad prestanda och minskad accesstid. I det här projektet användes en specifik metod i RocksDB som kallas MultiGet, som då hämtar flera nycklar samtidigt, för att utföra mikro-batchning av läsoperationer. Strategin att använda MultiGet-metoden på en batch av nycklar jämfördes med en strategi med upprepade Get-anrop, som bara hämtade en nyckel åt gången. Benchmarks utfördes med de här strategierna för att mäta skillnaden i latency när de används på syntetiska nyckelbatchar och på simuleringar av strömningstrakter. Benchmarks visade att MultiGet-metoden hade en accesstid på endast 11% av accesstiden för Get-metoden när stora batchar med nycklar lästes från disk. När dessa strategier användes på simuleringar av strömningsbelastningar visade strategierna med MultiGet sig kunna exekvera strömningstrace med en accesstid på 58% av accesstiden för Get-strategin. Dessa resultat visar att mikro-batchning med MultiGet-metoden i RocksDB potentiellt kan användas effektivt beroende på den utförda strömningsbelastningen. Det finns dock vissa frågor som måste hanteras först, såsom batch-operationer på ett sätt som säkerställer att strömningsdata-semantiken bevaras.

Place, publisher, year, edition, pages
Stockholm: KTH Royal Institute of Technology , 2023. , p. 49
Series
TRITA-EECS-EX ; 2023:25
Keywords [en]
RocksDB, Data streams, Micro-batching, Data stream processing, read operation benchmark, Data stream workload simulation
Keywords [sv]
RocksDB, Dataströmmar, Mikro-batching, Dataströmsprocessering, Läsoperationsmätresultat, Dataströmsarbetsbelastningssimulation
National Category
Computer Sciences Computer Engineering Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-324034OAI: oai:DiVA.org:kth-324034DiVA, id: diva2:1737848
Subject / course
Information and Communication Technology
Presentation
2023-01-04, via Zoom https://kth-se.zoom.us/j/527707646, Isafjordsgatan 22 (Kistagången 16), Stockholm, 11:00 (English)
Supervisors
Examiners
Available from: 2023-02-25 Created: 2023-02-18 Last updated: 2023-02-25Bibliographically approved

Open Access in DiVA

fulltext(2049 kB)2113 downloads
File information
File name FULLTEXT01.pdfFile size 2049 kBChecksum SHA-512
0119f9de1b23e6478619e0feb2b3b7050b21c692414d6a4281dc0f4fe32e74f6cfad45f57fd72854f03dbe3479c1e87997f677536d04486751bc0994b67b6666
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Fredrik, Björkman
By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer SciencesComputer EngineeringComputer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 2114 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 967 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf