Native Performance Virtual Machines in Edge Computing HTTP caches Varnish provides a high-performance HTTP caching solution that governments, municipalities, media- and news-companies can run in-house. Sometimes because of distrust of public big-tech solutions, other times because of regulations. Varnish is regarded as the highest performing cache. HTTP caches help offload work from normal web-servers, by storing content in the cache for a time. Once the contents go stale, the content is removed from the cache and retrieved anew from the backend web-servers. This typically makes a website able to handle several times more users than it normally would if it had to serve every request. This is because websites spend a lot of resources constructing web pages using complex data and rules. In contrast, caches store the result directly in memory and can therefore serve this content at no computation cost. Edge computing One up-and-coming area of computation is edge-computing, where the computation is on servers, but also very close to end-users. The goal is to have low-latency access to compute resources for all kinds of devices that benefit from not doing these computations themselves, or does not have all the information. This is still a growing area, largely dominated by big tech companies who are using WebAssembly to run programs in isolation. The isolation is necessary for security and separates the program from the rest of the computer. With this PhD project, a solution is written that utilizes hardware virtualization to implement the highest-performance VMM possible, specialized for edge-computing. It will have a high quality implementation inside Varnish, but also implementations in other high-performance web servers. These solutions will effectively have native performance and be able to utilize native instruction set extensions, including those that are only available on server CPUs.
Project leader: Rein-Amund Schultz
Institution: VARNISH SOFTWARE AS