Abstract
Host side caches use a form of storage faster than disk and less expensive than DRAM to deliver the speed demanded by data intensive applications, e.g., NAND Flash. A host side cache may integrate into an existing application seamlessly using an infrastructure component (such as a storage stack middleware or the operating system) to intercept the application read and write requests for disk pages, populate the flash cache with disk pages, and use the flash to service read and write requests intelligently. This study provides an overview of host side caches, an analysis of its overhead and costs to justify its use, alternative architectures including the use of the emerging Non Volatile Memory (NVM) for the host-side cache, and future research directions. Results from Dell’s Fluid Cache demonstrate it enhances the performance of a social networking workload from a factor of 3.6 to 18.
S. Ghandeharizadeh—This author was at Dell on a sabbatical leave from USC.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
With Fluid Cache configured using the Client Affinity policy, the total size of host-side cache is 32 GB.
- 2.
A pair of 256 Gigabyte flash caches required about 3 hours to warmup with an OLTP workload [48].
References
Alabdulkarim, Y., Almaymoni, M., Cao, Z., Ghandeharizadeh, S., Nguyen, H., Song, L.: A comparison of flashcache with IQ-twemcached. In: IEEE CloudDM (2016)
Barahmand, S., Ghandeharizadeh, S.: BG: a benchmark to evaluate interactive social networking actions. In: CIDR, January 2013
Barahmand, S., Ghandeharizadeh, S.: Benchmarking correctness of operations in big data applications. In: MASCOTS (2014)
Barker, S., Chi, Y., Moon, H., Hacigümüs, H., Shenoy, P.J.: “Cut me some slack”: latency-aware live migration for databases. In: EDBT, pp. 432–443 (2012)
Biswas, R., Ort, E.: The Java Persistence API - A Simpler Programming Model for Entity Persistence, May 2006. http://java.sun.com/developer/technicalArticles/J2EE/jpa
Breitwisch, M.J.: Phase change memory. In: Interconnect Technology Conference, pp. 219–221 (2008)
Bronson, N., Amsden, Z., Cabrera, G., Chakka, P., Dimov, P., Ding, H., Ferris, J., Giardullo, A., Kulkarni, S., Li, H., Marchukov, M., Petrov, D., Puzar, L., Song, Y.J., Venkataramani, V.: TAO: Facebook’s distributed data store for the social graph. In: USENIX ATC 2013, pp. 49–60, San Jose, CA (2013)
Byan, S., Lentini, J., Madan, A., Pabon, L., Condict, M., Kimmel, J., Kleiman, S., Small, C., Storer, M.: Mercury: host-side flash caching for the data center. In: MSST (2012)
Cattell, R.: Scalable SQL and NoSQL data stores. SIGMOD Rec. 39, 12–27 (2011)
Chang, J., Ranganathan, P., Mudge, T., Roberts, D., Shah, M.A., Lim, K.T.: A limits study of benefits from nanostore-based future data-centric system architectures. In: CF, pp. 33–42 (2012)
Coburn, J., Caulfield, A.M., Akel, A., Grupp, L.M., Gupta, R.K., Jhala, R., Swanson, S.: NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories. In: ASPLOS, pp. 105–118 (2011)
Dell: Dell Fluid Cache for Storage Area Networks (2014). http://www.dell.com/learn/us/en/04/solutions/fluid-cache-san
DeWitt, D., Ghandeharizadeh, S., Schneider, D., Bricker, A., Hsiao, H., Rasmussen, R.: The gamma database machine project. IEEE Trans. Knowl. Data Eng. 1(2), 44–62 (1990)
EMC: Migrating data from an EMC Celerra or VNS Array to a VNX2 using VNX replicator. EMC White Paper (2014)
Fink, M.: Beyond DRAM and Flash, Part 2: New Memory Technology for the Data Deluge, HP Next (2014). http://www8.hp.com/hpnext/posts/beyond-dram-and-flash-part-2-new-memory-technology-data-deluge.vcb6vrbcfe8
Gagrani, K., Makransky, K.: Turbocharging Application Response, Dell Power Solutions, Issue 2 (2014). http://www.dell.com/learn/us/en/555/power/ps2q14-20140344-makransky
Ghandeharizadeh, S., DeWitt, D.J.: Hybrid-range partitioning strategy: a new declustering strategy for multiprocessor database machines. In: VLDB (1990)
Ghandeharizadeh, S., Goodney, A., Sharma, C., Bissell, C., Carino, F., Nannapaneni, N., Wergeles, A., Whitcomb, A.: Taming the storage dragon: the adventures of HoTMaN. In: SIGMOD, pp. 925–930 (2009)
Ghandeharizadeh, S., Irani, S., Lam, J., Yap, J.: CAMP: a cost adaptive multi-queue eviction policy for key-value stores. Middleware (2014)
Ghandeharizadeh, S., Mutha, A.: An evaluation of the hibernate object-relational mapping for processing interactive social networking actions. In: The 16th International Conference on Information Integration and Web-Based Applications and Services (2014)
Ghandeharizadeh, S., Yap, J.: Gumball: a race condition prevention technique for cache augmented SQL database management systems. In: ACM SIGMOD DBSocial Workshop (2012)
Ghandeharizadeh, S., Yap, J.: Cache Augmented Database Management Systems. In: ACM SIGMOD DBSocial Workshop, June 2013
Ghandeharizadeh, S., Yap, J., Barahmand, S.: COSAR-CQN: an application transparent approach to cache consistency. In: SEDE (2012)
Ghandeharizadeh, S., Yap, J., Nguyen, H.: Strong consistency in cache augmented SQL systems. Middleware (2014)
Ghemawat, S., Gobioff, H., Leung, S.: The google file system. In: SOSP 2003: Proceedings of nineteenth ACM SIGOPS Symposium on Operating Systems Principles. ACM Press (2003)
Graefe, G.: The five-minute rule twenty years later, and how flash memory changes the rules. In: DaMoN, p. 6 (2007)
Gupta, P., Zeldovich, N., Madden, S.: A trigger-based middleware cache for ORMs. In: Kon, F., Kermarrec, A.-M. (eds.) Middleware 2011. LNCS, vol. 7049, pp. 329–349. Springer, Heidelberg (2011)
Holland, D.A., Angelino, E., Wald, G., Seltzer, M.I.: Flash caching on the storage client. In: USENIXATC (2013)
Hsiao, H., DeWitt, D.J.: A performance study of three high availability data replication strategies. Distrib. Parallel Databases 1(1), 53–80 (1993)
Kim, H., Koltsidas, I., Ioannou, N., Seshadri, S., Muench, P., Dickey, C., Chiu, L.: Flash-Conscious Cache Population for Enterprise Database Workloads. In: Fifth International Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures (2014)
Kim, H., Seshadri, S., Dickey, C.L., Chiu, L.: Evaluating phase change memory for enterprise storage systems: a study of caching and tiering approaches. In: FAST (2014)
Koller, R., Marmol, L., Rangaswami, R., Sundararaman, S., Talagala, N., Zhao, M.: Write policies for host-side flash caches. In: FAST (2013)
Kultursay, E., Kandemir, M.T., Sivasubramaniam, A., Mutlu, O.: Evaluating STT-RAM as an energy-efficient main memory alternative. In: IEEE ISPASS, pp. 256–267 (2013)
Liu, D., Tai, J., Lo, J., Mi, N., Zhu, X.: VFRM: flash resource manager in VMware ESX server. In: IEEE Network Operations and Management Symposium (2014)
Marquez, A., Zigman, J.N., Blackburn, S.: Fast portable orthogonally persistent Java. Softw. Pract. Exper. 30(4), 449–479 (2000)
Michael, N., Shen, Y.: Downtime-free live migration in a multitenant database. In: TPC Technical Conference (2014)
Mitra, L.L.C.: KOSAR (2014). http://kosarsql.com
Mituzas, D.: Flashcache at Facebook: From 2010 to 2013 and Beyond (2010). https://www.facebook.com/notes/facebook-engineering/flashcache-at-facebook-from-2010-to-2013-and-beyond/10151725297413920
Mogul, J.C., Argollo, E., Shah, M.A., Faraboschi, P.: Operating system support for NVM+DRAM hybrid main memory. In: HotOS (2009)
Muller, C., Courtade, L., Turquat, C., Goux, L., Wouters, D.: Reliability of three-dimensional ferroelectric capacitor memory-like arrays simultaneoulsy submitted to x-rays and electrical stresses. In: Non-Volatile Memory Technology Symposium (2006)
Nishtala, R., Fugal, H., Grimm, S., Kwiatkowski, M., Lee, H., Li, H.C., McElroy, R., Paleczny, M., Peek, D., Saab, P., Stafford, D., Tung, T., Venkataramani, V.: Scaling Memcache at Facebook. In: NSDI, pp. 385–398. USENIX, Berkeley, CA (2013). https://www.usenix.org/conference/nsdi13/scaling-memcache-facebook
Oracle Inc.: Oracle Database Smart Flash Cache (2010)
Patterson, D.A., Gibson, G., Katz, R.H.: A case for redundant arrays of inexpensive disks (RAID). In: SIGMOD, pp. 109–116 (1988)
Ports, D.R.K., Clements, A.T., Zhang, I., Madden, S., Liskov, B.: Transactional consistency and automatic management in an application data cache. In: OSDI. USENIX, October 2010
Rao, D.S., Kumar, S., Keshavamurthy, A., Lantz, P., Reddy, D., Sankaran, R., Jackson, J.: System software for persistent memory. In: Ninth Eurosys Conference, p. 15 (2014)
Raoux, S., Burr, G., Breitwisch, M., Rettner, C., Chen, Y., Shelby, R., Salinga, M., Krebs, D., Chen, S.H., Lung, H.L., Lam, C.: Phase-change random access memory: a scalable technology. IBM J. Res. Dev. 52(4.5), 465–479 (2008)
Ratnasamy, S., Francis, P., Handley, M., Karp, R., Schenker, S.: A scalable content-addressable network. In: Proceedings of the ACM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pp. 161–172, August 2001
Daniel, S., Jafri, S.: Using NetApp. Flash cache (PAM II) in online transaction processing. NetApp. White Paper (2009)
Stearns, W., Overstreet, K.: Bcache: Caching Beyond Just RAM (2010). http://bcache.evilpiepirate.org/, https://lwn.net/Articles/394672/
STEC: EnhanceIO SSD Caching Software (2012). https://github.com/stec-inc/EnhanceIO
Stoica, I., Morris, R., Karger, D., Kaashoek, M., Balakrishnan, H.: Chord: A Scalable peer-to-peer lookup service for internet applications. In: ACM SIGCOMM, pp. 149–160, San Diego, California, August 2001
Strukov, D.B., Snider, G.S., Stewart, D.R., Williams, R.S.: The missing memristor found. Nature 7191, 80–83 (2008)
Tabor, J.: Avere architecture for cloud NAS. Avere White Paper (2014)
Trammell, J.: CacheIQ: automatic storage tiering in the age of big data. In: Flash Memory Summit 2012 Proceedings (2012)
Vučinić, D., Wang, Q., Guyot, C., Mateescu, R., Blagojević, F., Franca-Neto, L., Moal, D.L., Bunker, T., Xu, J., Swanson, S., Bandić, Z.: DC Express: shortest latency protocol for reading phase change memory over PCI express. In: FAST 2014 (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Ghandeharizadeh, S., Menon, J., Kotzur, G., Sen, S., Chawla, G. (2016). Host Side Caching: Solutions and Opportunities. In: Arnicans, G., Arnicane, V., Borzovs, J., Niedrite, L. (eds) Databases and Information Systems. DB&IS 2016. Communications in Computer and Information Science, vol 615. Springer, Cham. https://doi.org/10.1007/978-3-319-40180-5_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-40180-5_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-40179-9
Online ISBN: 978-3-319-40180-5
eBook Packages: Computer ScienceComputer Science (R0)