A Unified Algorithm for Cache Replacement and Consistency in Web Proxy Servers

Author(s):  
Junho Shim ◽  
Peter Scheuermann ◽  
Radek Vingralek
Author(s):  
Philip Kwok Chung Tse

On the Internet, multimedia objects are stored in content servers. The clients behind some proxy servers are located over a wide area network (WAN) far from the content servers (Figure 1). When a client accesses multimedia objects from a content server, the content server must either allocate sufficient disk and network resources to multicast or unicast the objects to the client (Ma & Shin, 2002). Otherwise, it rejects the client. Thus, the popular content server becomes the bottleneck in delivering multimedia objects. Proxy servers have the disk cache space, network bandwidth, and availability to cache parts of the multimedia objects for clients, making them good candidates to solve the bottleneck problem. However, large multimedia objects are not cached or only partially cached in current proxy servers. When fast optical networks are widely deployed, this problem is becoming more severe. Therefore, proxy caches must be enhanced to alleviate the bottleneck in popular content servers with multimedia objects. Multimedia proxy servers perform several functions in accessing multimedia objects over the Internet. We first present the background in the next section. Next, the cache replacement policies being used in proxy servers are described. Then, the object partitioning methods are described. After that, the transcoding method that converts high-resolution objects into low-resolution objects is described. Afterward, we present the cooperative caching method that can be applied to cache objects on proxy servers. Lastly, we describe a method to distribute proxy-server load using a depot.


2015 ◽  
Vol 10 (6) ◽  
pp. 620 ◽  
Author(s):  
Prapai Sridama ◽  
Somchai Prakancharoen ◽  
Nalinpat Porrawatpreyakorn
Keyword(s):  

2021 ◽  
Vol 2 (3) ◽  
pp. 1-24
Author(s):  
Chih-Kai Huang ◽  
Shan-Hsiang Shen

The next-generation 5G cellular networks are designed to support the internet of things (IoT) networks; network components and services are virtualized and run either in virtual machines (VMs) or containers. Moreover, edge clouds (which are closer to end users) are leveraged to reduce end-to-end latency especially for some IoT applications, which require short response time. However, the computational resources are limited in edge clouds. To minimize overall service latency, it is crucial to determine carefully which services should be provided in edge clouds and serve more mobile or IoT devices locally. In this article, we propose a novel service cache framework called S-Cache , which automatically caches popular services in edge clouds. In addition, we design a new cache replacement policy to maximize the cache hit rates. Our evaluations use real log files from Google to form two datasets to evaluate the performance. The proposed cache replacement policy is compared with other policies such as greedy-dual-size-frequency (GDSF) and least-frequently-used (LFU). The experimental results show that the cache hit rates are improved by 39% on average, and the average latency of our cache replacement policy decreases 41% and 38% on average in these two datasets. This indicates that our approach is superior to other existing cache policies and is more suitable in multi-access edge computing environments. In the implementation, S-Cache relies on OpenStack to clone services to edge clouds and direct the network traffic. We also evaluate the cost of cloning the service to an edge cloud. The cloning cost of various real applications is studied by experiments under the presented framework and different environments.


2021 ◽  
Vol 17 (2) ◽  
pp. 1-45
Author(s):  
Cheng Pan ◽  
Xiaolin Wang ◽  
Yingwei Luo ◽  
Zhenlin Wang

Due to large data volume and low latency requirements of modern web services, the use of an in-memory key-value (KV) cache often becomes an inevitable choice (e.g., Redis and Memcached). The in-memory cache holds hot data, reduces request latency, and alleviates the load on background databases. Inheriting from the traditional hardware cache design, many existing KV cache systems still use recency-based cache replacement algorithms, e.g., least recently used or its approximations. However, the diversity of miss penalty distinguishes a KV cache from a hardware cache. Inadequate consideration of penalty can substantially compromise space utilization and request service time. KV accesses also demonstrate locality, which needs to be coordinated with miss penalty to guide cache management. In this article, we first discuss how to enhance the existing cache model, the Average Eviction Time model, so that it can adapt to modeling a KV cache. After that, we apply the model to Redis and propose pRedis, Penalty- and Locality-aware Memory Allocation in Redis, which synthesizes data locality and miss penalty, in a quantitative manner, to guide memory allocation and replacement in Redis. At the same time, we also explore the diurnal behavior of a KV store and exploit long-term reuse. We replace the original passive eviction mechanism with an automatic dump/load mechanism, to smooth the transition between access peaks and valleys. Our evaluation shows that pRedis effectively reduces the average and tail access latency with minimal time and space overhead. For both real-world and synthetic workloads, our approach delivers an average of 14.0%∼52.3% latency reduction over a state-of-the-art penalty-aware cache management scheme, Hyperbolic Caching (HC), and shows more quantitative predictability of performance. Moreover, we can obtain even lower average latency (1.1%∼5.5%) when dynamically switching policies between pRedis and HC.


Sign in / Sign up

Export Citation Format

Share Document