Path Processing using Solid State Storage
Recent advances in solid state technology have led to the introduction of Solid State Drives (SSDs). Todays SSDs store data persistently using NAND ﬂash memory. While SSDs are more expensive than hard disks when measured in dollars per gigabyte, they are signiﬁcantly cheaper when measured in dollars per random I/O per second. Additional storage technologies are under development, Phase Change Memory (PCM) being the next one to enter the marketplace. PCM is nonvolatile, it can be byte-addressable, and in future Multi Level Cell (MLC) devices, PCM is expected to be denser than DRAM. PCM has lower read and write latency compared to NAND ﬂash memory, and it can endure orders of magnitude more write cycles before wearing out. Recent research has shown that solid state devices can be particularly beneﬁcial for latency-bound applications involving dependent reads. Latency-bound applications like path processing in the context of graph processing or Resource Description Framework (RDF) data processing are typical examples of these applications. We demonstrate via a custom graph benchmark that even an early prototype Phase Change Memory device can offer signiﬁcant improvements over mature ﬂash devices (1.5x - 2.5x speedup in response times). We take this observation further by building Pythia, a prototype RDF repository tailor-made for Solid State Storage to investigate the predicted beneﬁts for these type of workloads that can be achieved in a properly designed RDF repository. We compare the performance of our repository against the state of the art RDF-3X repository in a limited set of tests and discuss the results. We ﬁnally compare the performance of our repository running on a PCM-based device against a state of the art ﬂash device, showing that there is indeed signiﬁcant gain to be achieved by using PCM for RDF processing.