Background:
Optimizing a database management system (DBMS) is difficult; the best configuration
depends on time-varying factors like its environment and workload.
Researchers have developed machine learning (ML) models that outperform humans at these tasks.
However, the cost (e…
\[
\gdef\bias{\mathrm{bias}}
\gdef\deg{\mathrm{deg}}
\gdef\indeg{\mathrm{indeg}}
\gdef\outdeg{\mathrm{outdeg}}
\gdef\Snap{\mathrm{Snap}}
\gdef\RSnap{\mathrm{RefSnap}}
\]
In this blog post, I’ll discuss a new algorithm based on two joint papers of mine with Raghuvansh Saxena, Madh…
Resource analysis of programs aims to infer their worst-case cost bounds. It has
a number of practical use cases. For example, when executing a client’s program
in cloud computing, a cloud-service provider (e.g., Amazon Web Services or
Microsoft Azure) would like to to avoid both…
Large-scale storage is still dominated by hard disks (HDDs) as they are cost-effective. However, HDDs are limited to ~100 IOs per second. Thus, modern storage systems in datacenters widely rely on flash caches to absorb backend load and reduce the number of HDDs required to sat…
In today’s landscape of diverse public cloud providers like AWS, Microsoft Azure, and Google Cloud Platform, organizations are increasingly turning to cloud computing with pay-as-you-go pricing models. Many businesses are adopting public cloud services to simplify data center man…
Ecosystems in industry are commonly composed of various data types in terms of data modalities or feature distributions. Heterogeneous graphs (HGs) present these multimodal data systems in a unified view by defining multiple types of nodes and edges — for instance, e-commerce ne…
TL;DR:
Historically FIFO-based algorithms are thought to be less efficient (having higher miss ratios) than LRU-based algorithms.
In this blog, we introduce two techniques, lazy promotion, which promotes objects only at eviction time, and quick demotion, which evicts most new o…
Part of the challenge (and fun) of low-level systems code is in the optimizations they employ:
developers might use manual memory management, they might use bit-packing and bit-twiddling optimizations,
or they might use multi-threading to speed up their code.
When dealing with su…
What if you could run untrusted code and still be able to sleep at night, safe and sound?
Disclaimer: our award-winning work [1] can only calm your unsafe-software related fears; we recommend complementing this by additionally checking for monsters under your bed, and leaving …
Figure 1: diagram showing the code conversion process in a distributed storage system.
Today’s society is data-driven, and many of the applications that society relies on require storing ever-increasing amounts of data.
To this end, distributed storage systems have become the …