The Georgia Tech Flashstream invention is also a multi-tiered storage server that uses SSDs, but it employs different block replacement strategies to achieve better performance. An optimized video stream is achieved because Flashstream directly controls the SSD flash memory. thereby bypassing the operating system's page cache. This deeper level of control then allows for managing and optimizing the caching sequences. Specifically, a finite-sized RAM buffer serves as the first-level cache of the server. SSD is the second-level cache, which will serve data in case the first-level caching has a missing segment. A miss in both caches results in reading the missing segment from the hard disk and into the first-level RAM buffer cache.
- Flashstream designed specifically for video streaming; whereas alternative storage systems are general purpose resulting in degraded video
- Prototype Flashstream, which optimizes caching, performed 2X better than its nearest competitor, Oracle Solaris ZFS.
- Directly accesses the SSD and RAM to achieve Quality-of-Service (QoS)-sensitive caching to better prioritize changes in video workloads
- Tiered system of reading segments drawing first from RAM, then SSD, and lastly the hard disk.
This invention can be used to help video streaming companies more efficiently and effectively deliver content.
Video streaming on the Internet is exponentially increasing as exemplified by Hulu and Netflix. A video streaming technology called Dynamic Adaptive Streaming over HTTP (DASH) allows video to be in a single large file, or multiple small segments. This flexibility enables companies to utilize off-the-shelf web servers for deployment of a content distribution networks (CDN) for scaling video streaming service.
Two popular DASH implementations for video streaming are Facebook’s flashcase and Oracle’s ZFS file system. Both of these approaches, as with Georgia Tech’s invention, are multi-tiered storage servers that use Solid State Drivers (SSDs) as a cache between the DRAM and hard disk. However, flashcase and ZFS focus upon optimizing video segments brought from the hard disk into the SSDs; whereas video streaming to the client is of secondary importance. This leads to segment misses for the clients when a server has to deal with a high volume of requests.