Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tiered storage device #151

Merged
merged 75 commits into from
Aug 27, 2019
Merged

Tiered storage device #151

merged 75 commits into from
Aug 27, 2019

Conversation

tli2
Copy link
Contributor

@tli2 tli2 commented Jul 5, 2019

Rough draft of tiered storage support in FASTER. So far it is assumed that all storage are inclusive (higher tiered storage are considered caches of lower tiers), and the bottom layer is assumed to always be unbounded in capacity. There are no guarantees of synchronizations between layers at any point, although eventually all writes will be issued once to layers that store the address range. (I don't believe there are ordering guarantees)

Two things that need to be elaborated and worked on:

  • What level of concurrency is expected to happen at this level? The IDevice layer certainly sits under the highly concurrent frontend, but tiered storage brings more complexity and we may need the epoch protection framework in this layer.

  • What happens on recovery? Recovering ranges of each storage device is not supported right now. Depending on the commit point, there might also be some recovery work to do for the content on storage (they might not be always consistent)

Fix #138
Dependent on #147

tli2 and others added 26 commits June 25, 2019 17:23
# Conflicts:
#	cs/src/core/Device/AzurePageBlobDevice.cs
@tli2 tli2 added the work in progress Work in progress label Jul 5, 2019
@tli2 tli2 changed the title [Draft] Tiered storage device Tiered storage device Jul 22, 2019
badrishc and others added 8 commits July 23, 2019 11:25
# Conflicts:
#	cs/src/core/Device/LocalStorageDevice.cs
…red-storage-device

# Conflicts:
#	cs/src/devices/AzureStorageDevice/AzureStorageDevice.cs
#	cs/src/devices/AzureStorageDevice/BlobEntry.cs
#	cs/src/devices/AzureStorageDevice/FASTER.devices.AzureStorageDevice.nuspec
#	cs/test/BasicDiskFASTERTests.cs
@tli2 tli2 mentioned this pull request Jul 24, 2019
@tli2 tli2 removed the work in progress Work in progress label Jul 24, 2019
@tli2 tli2 requested a review from badrishc August 5, 2019 18:14
@badrishc badrishc merged commit 61698c5 into microsoft:master Aug 27, 2019
@tli2 tli2 deleted the tiered-storage-device branch April 3, 2021 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tiered storage device support
2 participants