2012 · 291 citations · 22 references
ComputingComputer EngineeringComputer ScienceCluster ComputingParallel ComputingSchedulingCachingCaching StrategiesCluster ManagementCompute Resource ManagementCpu SchedulingJob SchedulingCache Eviction PoliciesCache OptimizationCache Replacement PoliciesCaching MechanismsDistributed Job ExecutionIn-memory CachingMemory Caching
Data‑intensive analytics on large clusters rely on in‑memory caching, but parallel jobs require all task inputs to be cached, so a single uncached input can bottleneck the entire job. PACMan was developed to coordinate distributed cache access and enforce an all‑or‑nothing caching policy for parallel analytics jobs. PACMan implements two coordinated replacement policies—fb‑LIFE, which evicts large incomplete inputs to reduce average completion time, and LFU‑F, which evicts infrequently accessed inputs to boost cluster efficiency. On production workloads from Facebook and Microsoft Bing, PACMan cut average job completion time by 53 % and 51 % (small interactive jobs improved by 77 %) and raised cluster efficiency by 47 % and 54 %.
Data-intensive analytics on large clusters is important for modern Internet services. As machines in these clusters have large memories, in-memory caching of inputs is an effective way to speed up these analytics jobs. The key challenge, however, is that these jobs run multiple tasks in parallel and a job is sped up only when inputs of all such parallel tasks are cached. Indeed, a single task whose input is not cached can slow down the entire job. To meet this all-or-nothing property, we have built PACMan, a caching service that coordinates access to the distributed caches. This coordination is essential to improve job completion times and cluster efficiency. To this end, we have implemented two cache replacement policies on top of PACMan's coordinated infrastructure fb-LIFE that minimizes average completion time by evicting large incomplete inputs, and LFU-F that maximizes cluster efficiency by evicting less frequently accessed inputs. Evaluations on production workloads from Facebook and Microsoft Bing show that PACMan reduces average completion time of jobs by 53% and 51% (small interactive jobs improve by 77%), and improves efficiency of the cluster by 47% and 54%, respectively.
22
Sanjay Ghemawat · Communications of the ACM · 2008 · 18.5K citations · Full text
Spark: cluster computing with working sets
Matei Zaharia, Mosharaf Chowdhury, Michael J. Franklin et al. · 2010 · 4.2K citations
Michael Isard, Mihai Budiu, Yuan Yu et al. · 2007 · 2.5K citations
Christopher Olston, Benjamin Reed, Utkarsh Srivastava et al. · 2008 · 1.7K citations
A study of replacement algorithms for a virtual-storage computer
L. A. Belady · IBM Systems Journal · 1966 · 1.7K citations