  Serverless is an attractive computing model that offers seamless scalability
and elasticity; it takes the infrastructure management burden away from users
and enables a pay-as-you-use billing model. As a result, serverless is becoming
increasingly popular to support highly elastic and bursty workloads. However,
existing platforms are supported by bloated virtualization stacks which,
combined with bursty and irregular invocations, leads to high memory and
latency overheads.
  To reduce the virtualization stack bloat, we propose Hydra, a virtualized
multi-language serverless runtime capable of handling multiple invocations of
functions written in different languages. To measure its impact in large
platforms, we build a serverless platform that optimizes scheduling decisions
to take advantage of Hydra by consolidating function invocations on a single
instance, reducing the total infrastructure tax. Hydra improves the overall
function density (ops/GB-sec) by 4.47$\times$ on average compared NodeJS, JVM,
and CPython, the state-of-art single-language runtimes used in most serverless
platforms. When reproducing the Azure Functions trace, Hydra reduces the
overall memory footprint by 2.1 $\times$ and reduces the number of cold starts
between 4 and 48 $\times$.
