

Noria: dynamic, partially-stateful data-flow for high-performance web applicatio...
source link: https://www.tuicool.com/articles/hit/jiQRVjB
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Authors:
Jon Gjengset, Malte Schwarzkopf, Jonathan Behrens, and Lara Timbó Araújo, MIT CSAIL; Martin Ek, Norwegian University of Science and Technology; Eddie Kohler, Harvard University; M. Frans Kaashoek and Robert Morris, MIT CSAIL
Abstract:
We introduce partially-stateful data-flow , a new streaming data-flow model that supports eviction and reconstruction of data-flow state on demand. By avoiding state explosion and supporting live changes to the data-flow graph, this model makes data-flow viable for building long-lived, low-latency applications, such as web applications. Our implementation, Noria , simplifies the backend infrastructure for read-heavy web applications while improving their performance.
A Noria application supplies a relational schema and a set of parameterized queries, which Noria compiles into a data-flow program that pre-computes results for reads and incrementally applies writes. Noria makes it easy to write high-performance applications without manual performance tuning or complex-to-maintain caching layers. Partial statefulness helps Noria limit its in-memory state without prior data-flow systems’ restriction to windowed state, and helps Noria adapt its data-flow to schema and query changes while on-line. Unlike prior data-flow systems, Noria also shares state and computation across related queries, eliminating duplicate work.
On a real web application’s queries, our prototype scales to 5× higher load than a hand-optimized MySQL baseline. Noria also outperforms a typical MySQL/memcached stack and the materialized views of a commercial database. It scales to tens of millions of reads and millions of writes per second over multiple servers, outperforming a state-of-the-art streaming data-flow system.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone.Support USENIX and our commitment to Open Access.
BibTeX
@inproceedings {222635,
author = {Jon Gjengset and Malte Schwarzkopf and Jonathan Behrens and Lara Timb{\'o} Ara{\'u}jo and Martin Ek and Eddie Kohler and M. Frans Kaashoek and Robert Morris},
title = {Noria: dynamic, partially-stateful data-flow for high-performance web applications},
booktitle = {13th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 18)},
year = {2018},
isbn = {978-1-931971-47-8},
address = {Carlsbad, CA},
pages = {213--231},
url = {https://www.usenix.org/conference/osdi18/presentation/gjengset},
publisher = {{USENIX} Association},
}
Recommend
-
78
SupplyParameterFromQuery Attribute To Read Query Parameters In Blazor Application[.NET6 Feature] In this article, we will know about .NET6 feature like 'SupplyParameterFromQuery' attr...
-
4
MIPI CSI-2 v4.0 adds features for always-on, low power machine vision applications Skip to co...
-
10
最近读了 Noria,一个物化视图系统的实现(虽然它自称是 Dataflow)。这篇 Note 包含大量本人脑补。 Noria Abstraction从最简单的概念来说,Noria 就是一个异步的...
-
7
Bollu Spandana August 26, 2022 2 minute read...
-
6
Typescript Create modern SolidJS / React Native & TRPC full stack TypeScript application within seconds Aug 29, 2022 1 min...
-
7
Pankaj Bagul 21 minutes ago how to send logged-in user id from SAP BTP launchpad tile to SAP ABAP application 5...
-
9
Unit Tests for Main and Other Methods in Top-Level Statements Console ApplicationsDownload
-
10
Using JLink to create smaller Docker images for your Spring Boot Java applicationWritten by: Brian Vermeer
-
10
Introduction In this blog, we will learn how to prevent SAP GUI transactions from starting. When unauthorized users attempt to start a transaction, they will be shown a message that transaction is blocked by UI data protection masking...
-
4
Experimenting With .NET & WebAssembly - Running .NET Based Slight Application On WASM/WASI Node Pool in AKS January 9, 2024 .net, aks, azure, kubernetes, slight, wasi, wasm, webassembly
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK