Enhancing QoS in a University Network by using Containerized Generic Cache
hyperyolo ~ $
hyperyolo ~ $
root@linuxcache ~ $
root@linuxcache ~ $
hyperyolo ~ $
Ubiquitous access and enhanced Internet speeds have paved ways for online educational reforms at a large scale. There has been a widespread adoption of modern educational applications, ranging from interactive applets, video lessons and online quizzes to remotely conducting laboratory experiments. Consequently, there is a demand to provision more bandwidth to satisfy users expectations. Generic Cache is an approach to enhance the Quality of Service (QoS) in a University campus network and efficiently utilize the available bandwidth.
Typically within an University, some requests are similar, e.g., operating system updates, Linux package installs, Python pip packages and others. These are huge data transfer requests ranging from Megabytes to Gigabytes, and consume a large amount of bandwidth on external access links to the Internet. Redundant requests of this nature from a large user base lead to enormous wastage of bandwidth.
Generic Cache overcomes this concern by setting up a containerized forward proxy function as a cache for popular traffic in the University. A large number of redundant requests can be successfully served from this Virtualized Network Function (VNF), thereby enhancing the QoS and efficiently utilizing the available bandwidth. Since this cache is implemented as a VNF, it is portable and easy to deploy.
The features of Generic Cache are outlined below:
Start using Generic with just couple of lines of shell commands on any system. Due to the "Generic" nature, it can be used to cache multiple webistes without any changes to config/setup process.
Analyse the performance of the system in the network in real-time. Also get detailed stats if required
Generic cache is as secure as the Gateway used in network. It has also been quality tested against fishing and DDOS attacks.
Generic cache is extremely configurable. To make things more robust Generic cache also provides regex parsing out of the box. All these configuration are in a single file and can easily be changed anytime
Generic Cache is implemented as a VNF and thus is portable (both data and process) from one system to another with ease.
Generic Cache out of the box has automated data management service (which uses LRU strategy) and logging mechanisms for all the collected stats.
Read our documentation for more detailed information
DocumentationGeneric Cache has been deployed in NITK since Jan 2019. The following graphs depict the performance of the system when fuctioning as a Cache for "Ubuntu" over a period of 1 month. The Deployed system has proven to be robust in performance in an instituion with over 12k strudents. It has also proven to save significant amounts of data each day and also considerably imporving the speed of internet.
From the following graph, we can clearly note that the cache stabilised at 83% of HIT ratio ratio and 14% MISS ratio within a week’s worth of time.
From the following graph, we can see that we are able to save about 34GB of data each day by just caching one website.
From the following tables, show a clear reduction in latency and increase in availability, throughput and concurrency as compared to the origin server. This improvement is both due to the higher bandwidth of the internal LAN and the significantly smaller size of audience the cache server has to respond at a time, when compared to that of the origin servers.
Server | Thread stats | Avg | Stdev | Max | +/- Stdev |
---|---|---|---|---|---|
Cache Server | Latency | 74.21ms | 314.04ms | 6.16s | 95.92% |
Req/sec | 27.00 | 1.00 | 28.00 | 100.00% | |
Transfer/sec | 98.35KB | - | - | - | |
Origin Server | Latency | 194.47ms | 26.13ms | 606.21s | 93.10% |
Req/sec | 25.25 | 14.83 | 46.00 | 77.36% | |
Transfer/sec | 83.86KB | - | - | - |
Server | Measured quantity | Result |
---|---|---|
Cache server | Transactions | 1697 hits |
Availability | 100.00% | |
Response time | 1.65 sec | |
Transaction rate | 58.30 trans/sec | |
Concurrency | 96.00 | |
Longest transaction | 7.56 | |
Origin server | Transactions | 312 hits |
Availability | 86.19% | |
Response time | 4.16 sec | |
Transaction rate | 10.61 trans/sec | |
Concurrency | 44.10 | |
Longest transaction | 9.71 |