-
Notifications
You must be signed in to change notification settings - Fork 570
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update FASTER website and documentation * All docs are now hosted at docs\_docs
- Loading branch information
Showing
33 changed files
with
1,084 additions
and
277 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
source "https://rubygems.org" | ||
|
||
gem "github-pages", group: :jekyll_plugins | ||
|
||
gem "tzinfo-data" | ||
gem "wdm", "~> 0.1.0" if Gem.win_platform? | ||
|
||
# If you have any plugins, put them here! | ||
group :jekyll_plugins do | ||
gem "jekyll-paginate" | ||
gem "jekyll-sitemap" | ||
gem "jekyll-gist" | ||
gem "jekyll-feed" | ||
gem "jemoji" | ||
gem "jekyll-include-cache" | ||
gem "jekyll-algolia" | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,7 @@ | ||
--- | ||
layout: default | ||
title: Overview | ||
nav_order: 1 | ||
description: FASTER is a fast resilient key-value store and cache for larger-than-memory data | ||
permalink: / | ||
--- | ||
|
||
# Introduction | ||
|
||
Managing large application state easily and with high performance is one of the hardest problems | ||
in the cloud today. FASTER is a concurrent key-value store + cache that is designed for point | ||
lookups and heavy updates. FASTER supports data larger than memory, by leveraging fast external | ||
storage. It also supports consistent recovery using a new checkpointing technique that lets | ||
applications trade-off performance for commit latency. | ||
|
||
The following features of FASTER differentiate it from a technical perspective: | ||
1. Latch-free cache-optimized index. | ||
2. Unique “hybrid record log” design that combines a traditional persistent append-only log with in-place updates, to shape the memory working set and retain performance. | ||
3. Architecture as a component that can be embedded in multi-threaded cloud apps. | ||
4. **NEW**: Asynchronous recovery model based on group commit (called [CPR](#Recovery-in-FASTER)). | ||
|
||
For standard benchmarks where the working set fits in main memory, we found FASTER to achieve | ||
significantly higher throughput than current systems, and match or exceed the performance of pure | ||
in-memory data structures while offering more functionality. See [the SIGMOD paper](https://www.microsoft.com/en-us/research/uploads/prod/2018/03/faster-sigmod18.pdf) for more details. We also have a detailed | ||
analysis of C# FASTER performance in a wiki page | ||
[here](https://github.com/Microsoft/FASTER/wiki/Performance-of-FASTER-in-C%23). The performance of the | ||
C# and C++ versions of FASTER are very similar. | ||
|
||
# Getting Started | ||
|
||
* Visit our [research page](http://aka.ms/FASTER) for technical details and papers. | ||
* Start reading about FASTER C# [here](cs). | ||
* FASTER C# binaries are available via NuGet: | ||
* [Microsoft.FASTER.Core](https://www.nuget.org/packages/Microsoft.FASTER.Core/) | ||
* [Microsoft.FASTER.Devices.AzureStorage](https://www.nuget.org/packages/Microsoft.FASTER.Devices.AzureStorage/) | ||
* Start reading about FASTER C++ [here](cc). | ||
|
||
|
||
# Recovery in FASTER | ||
|
||
Both the C# and C++ version of FASTER support asynchronous checkpointing and recovery, based on a new | ||
recovery model called Concurrent Prefix Recovery (CPR for short). You can read more about CPR in our research | ||
paper [here](https://www.microsoft.com/en-us/research/uploads/prod/2019/01/cpr-sigmod19.pdf) (to appear in | ||
SIGMOD 2019). Briefly, CPR is based on (periodic) group commit. However, instead of using an expensive | ||
write-ahead log (WAL) which can kill FASTER's high performance, CPR: (1) provides a semantic description of committed | ||
operations, of the form “all operations until offset Ti in session i”; and (2) uses asynchronous | ||
incremental checkpointing instead of a WAL to implement group commit in a scalable bottleneck-free manner. | ||
Welcome to FASTER. All documentation is now accessible via the web, at [https://aka.ms/FASTER](https://aka.ms/FASTER). | ||
|
||
CPR is available in the C# and C++ versions of FASTER. More documentation on recovery in the C# version is | ||
[here](cs#checkpointing-and-recovery). For C++, we only | ||
have examples in code right now. The sum-store, located [here](https://github.com/Microsoft/FASTER/tree/master/cc/playground/sum_store-dir), is a good example of checkpointing and recovery. | ||
You can browse through the raw documentation markdown files via GitHub, if you prefer, by clicking | ||
[here](_docs/). Contributions and improvements are always welcome. Note that you will not have the | ||
benefit of web navigational aids here, as these are the raw documentation sources. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,149 @@ | ||
remote_theme: pmarsceill/just-the-docs | ||
remote_theme : "mmistakes/minimal-mistakes@4.20.2" | ||
|
||
title: FASTER | ||
minimal_mistakes_skin : "air" | ||
|
||
description: Fast resilient key-value store and cache for larger-than-memory data | ||
# Site Settings | ||
locale : "en-US" | ||
title : "FASTER" | ||
title_separator : "-" | ||
subtitle : "Fast persistent recoverable log and key-value store + cache, in C# and C++" | ||
url : https://microsoft.github.io | ||
baseurl : "/FASTER" | ||
repository : "microsoft/FASTER" | ||
breadcrumbs : false | ||
words_per_minute : 200 | ||
|
||
baseurl: "/FASTER/" | ||
atom_feed: | ||
path : # blank | ||
|
||
|
||
# Site Footer | ||
footer: | ||
links: | ||
- label: "GitHub" | ||
icon: "fab fa-fw fa-github" | ||
url: "https://github.com/microsoft/FASTER" | ||
|
||
aux_links: | ||
|
||
"FASTER on GitHub": | ||
# Reading Files | ||
include: | ||
- .htaccess | ||
- _pages | ||
exclude: | ||
- "*.sublime-project" | ||
- "*.sublime-workspace" | ||
- vendor | ||
- .asset-cache | ||
- .bundle | ||
- .jekyll-assets-cache | ||
- .sass-cache | ||
- assets/js/plugins | ||
- assets/js/_main.js | ||
- assets/js/vendor | ||
- Capfile | ||
- CHANGELOG | ||
- config | ||
- Gemfile | ||
- Gruntfile.js | ||
- gulpfile.js | ||
- LICENSE | ||
- log | ||
- node_modules | ||
- package.json | ||
- Rakefile | ||
- README | ||
- tmp | ||
keep_files: | ||
- .git | ||
- .svn | ||
encoding: "utf-8" | ||
markdown_ext: "markdown,mkdown,mkdn,mkd,md" | ||
|
||
- "//github.com/Microsoft/FASTER" | ||
|
||
# Conversion | ||
markdown: kramdown | ||
highlighter: rouge | ||
lsi: false | ||
excerpt_separator: "\n\n" | ||
incremental: false | ||
|
||
search_enabled: true | ||
|
||
# Markdown Processing | ||
kramdown: | ||
input: GFM | ||
hard_wrap: false | ||
auto_ids: true | ||
footnote_nr: 1 | ||
entity_output: as_char | ||
toc_levels: 1..6 | ||
smart_quotes: lsquo,rsquo,ldquo,rdquo | ||
enable_coderay: false | ||
|
||
|
||
# Collections | ||
collections: | ||
docs: | ||
output: true | ||
permalink: /:collection/:path/ | ||
|
||
|
||
# Defaults | ||
defaults: | ||
# _pages | ||
- scope: | ||
path: "_pages" | ||
type: pages | ||
values: | ||
layout: single | ||
author_profile: true | ||
# _docs | ||
- scope: | ||
path: "" | ||
type: docs | ||
values: | ||
layout: single | ||
read_time: false | ||
author_profile: false | ||
share: false | ||
comments: false | ||
sidebar: | ||
nav: "docs" | ||
|
||
|
||
# Sass/SCSS | ||
sass: | ||
sass_dir: _sass | ||
style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style | ||
|
||
|
||
# Outputting | ||
permalink: /:categories/:title/ | ||
timezone: US/Pacific # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones | ||
|
||
|
||
# Plugins (previously gems:) | ||
plugins: | ||
- jekyll-paginate | ||
- jekyll-sitemap | ||
- jekyll-gist | ||
- jekyll-feed | ||
- jemoji | ||
- jekyll-include-cache | ||
|
||
|
||
# mimic GitHub Pages with --safe | ||
whitelist: | ||
- jekyll-paginate | ||
- jekyll-sitemap | ||
- jekyll-gist | ||
- jekyll-feed | ||
- jemoji | ||
- jekyll-include-cache | ||
|
||
|
||
# HTML Compression | ||
# - http://jch.penibelst.de/ | ||
compress_html: | ||
clippings: all | ||
ignore: | ||
envs: development |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# main links | ||
main: | ||
- title: "Quick-Start Guide" | ||
url: /docs/quick-start-guide/ | ||
- title: "Code" | ||
url: https://github.com/microsoft/FASTER | ||
- title: "Releases" | ||
url: https://github.com/microsoft/FASTER/releases | ||
|
||
# documentation links | ||
docs: | ||
- title: Overview | ||
children: | ||
- title: "Quick-Start Guide" | ||
url: /docs/quick-start-guide/ | ||
- title: "Release Notes" | ||
url: https://github.com/microsoft/FASTER/releases | ||
- title: "Frequently asked Questions" | ||
url: /docs/faqs/ | ||
|
||
- title: FasterKV User Guide | ||
children: | ||
- title: "Basics" | ||
url: /docs/fasterkv-basics/ | ||
- title: "Tuning" | ||
url: /docs/fasterkv-tuning/ | ||
- title: "Samples" | ||
url: /docs/fasterkv-samples/ | ||
- title: "C++ Port" | ||
url: /docs/fasterkv-cpp/ | ||
|
||
- title: FasterLog User Guide | ||
children: | ||
- title: "Basics" | ||
url: /docs/fasterlog-basics/ | ||
- title: "Tuning" | ||
url: /docs/fasterlog-tuning/ | ||
- title: "Samples" | ||
url: /docs/fasterlog-samples/ | ||
|
||
- title: Developer Guide | ||
children: | ||
- title: "Build and Test" | ||
url: /docs/build-and-test/ | ||
- title: "Code Structure" | ||
url: /docs/code-structure/ | ||
- title: "Roadmap" | ||
url: /docs/roadmap/ | ||
- title: "Contributing" | ||
url: https://github.com/microsoft/FASTER/blob/master/CONTRIBUTING.md | ||
|
||
- title: Technical Details | ||
children: | ||
- title: "Introduction" | ||
url: /docs/td-introduction/ | ||
#- title: "Design Goals" | ||
# url: /docs/td-design-goals/ | ||
#- title: "Architecture" | ||
# url: /docs/td-architecture/ | ||
- title: "Research Papers" | ||
url: /docs/td-research-papers/ | ||
- title: "Slides and Videos" | ||
url: /docs/td-slides-videos/ | ||
|
||
- title: Meta | ||
children: | ||
- title: "License" | ||
url: https://github.com/microsoft/FASTER/blob/master/LICENSE |
Oops, something went wrong.