Cache cooperation improves the performance of isolated caches, especially f
or caches with small cache populations. To make caches cooperate on a large
scale and effectively increase the cache population, several caches are us
ually federated in caching architectures. In this paper, we discuss and com
pare the performance of different caching architectures. In particular, we
consider hierarchical and distributed caching. We derive analytical models
to study important performance parameters of hierarchical and distributed c
aching, i.e., client's perceived latency, bandwidth usage, load in the cach
es, and disk space usage. Additionally, we consider a hybrid caching archit
ecture that combines hierarchical caching with distributed caching at every
level of a caching hierarchy. We evaluate the performance of a hybrid sche
me and determine the optimal number of caches that should cooperate at each
caching level to minimize client's retrieval latency.