Project

General

Profile

Actions

Feature #4929

closed

Erasure encoded placement group

Added by Loïc Dachary about 11 years ago. Updated about 10 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
OSD
Target version:
-
% Done:

16%

Spent time:
23:00 h (Total: 146:30 h)
Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

This is the home page of erasure coding implementation in Ceph. The description should contain links to all the background information used by the current developers and required for a new developer to jump in. The sub tasks are a complete inventory of the working currently going on and each of them contains links to the corresponding github pull requests or work in progress.

Documentation:

Firefly Ceph summit:

Emperor Ceph summit:

  • http://wiki.ceph.com/01Planning/02Blueprints/Emperor/Erasure_coded_storage_backend_%28step_2%29
  • Introduction of the second day, Sage explains the Big Rados Features, including erasure code
    Sage : ... The big one is erasure coding which is great to have more efficient storage and for tiering. It's good for performances and overall for the cost / performance ratio. ... Erasure coding : the motivation here is that erasure coding is a different way to handle data redundancy using much less overall space but you actually get higher overall data durability so you have a lower probabily of losing data when machine dies, disk dies and so forth. Work has already started in this area by Loic and that's been great so over this next two cycles we're going to be putting Inktank resources and our efforts as well : there is a lot of code refactoring, moving around, making sure that it fits nicely into the structure of rados, so we're very excited to get started on that work. ...
Dumpling Ceph summit documents:

Discussions:

Alpha testers:

First testing stage is by running teuthology tests independently, as soon as they include Erasure Code tests.

  • Université de Nantes - Yann
  • CERN - Andreas
  • Rackspace - Darren
  • Telekom - Michael
  • Cloudapt - Mike
  • HTS - Samuel
  • five3genomics - Charles

Subtasks 34 (0 open34 closed)

Subtask #5046: Factor out PG logs, PG missingResolved05/16/2013

Actions
Subtask #5085: PG::merge_log should not have side effects other than on the log & missing data membersRejectedLoïc Dachary05/16/2013

Actions
Subtask #5213: unit tests for src/osd/PGLog.{cc,h}ResolvedLoïc Dachary05/30/2013

Actions
Subtask #5487: Factor out ObjectContext / ReplicatedPG::object_contextsClosedLoïc Dachary07/06/201308/14/2013

Actions
Subtask #5510: ObjectContext : replace ref with shared_ptrResolvedLoïc Dachary07/06/2013

Actions
Subtask #5527: unit tests for common/sharedptr_registry.hppResolvedLoïc Dachary07/09/201308/14/2013

Actions
Subtask #6119: replace PG::object_contexts with SharedPtrRegistryWon't FixLoïc Dachary08/26/2013

Actions
Subtask #5433: Factor out the ReplicatedPG object replication and client IO logic as a PGBackend interfaceRejected06/23/2013

Actions
Subtask #5855: Backfill peers should not be included in the acting setResolvedDavid Zafman08/02/2013

Actions
Subtask #5856: Refactor Backfill to use PGBackend methodsResolvedSamuel Just08/02/2013

Actions
Subtask #5857: Refactor recovery to use PGBackend methodsResolvedSamuel Just08/02/2013

Actions
Subtask #5858: Backfill should be able to handle multiple backfill peersResolvedDavid Zafman08/02/2013

Actions
Subtask #5859: GetInfo should use PGBackend methods to determine when peering can continueRejected08/02/2013

Actions
Subtask #5860: PG::calc_acting and friends should use PGBackend to select the acting set and authoritative logRejected08/02/2013

Actions
Subtask #5861: Refactor scrub to use PGBackend methodsResolved08/02/2013

Actions
Subtask #5862: FileStore must work with ghobjects rather than hobjectsResolvedDavid Zafman08/02/2013

Actions
Subtask #5863: OSD internals must work in terms of cpg_tRejected08/02/2013

Actions
Subtask #5877: Plugable erasure code libraryResolvedLoïc Dachary08/05/201309/20/2013

Actions
Subtask #5878: erasure plugin mechanism and abstract APIResolvedLoïc Dachary08/05/2013

Actions
Subtask #5879: jerasure pluginResolvedLoïc Dachary08/05/2013

Actions
Subtask #6113: add ceph osd pool create [name] [key=value] ResolvedLoïc Dachary08/23/201309/20/2013

Actions
Subtask #6027: ensure that erasure coded pools don't work until the osds can handle itResolvedSamuel Just08/16/2013

Actions
Subtask #6434: review and test PGBackendRejectedLoïc Dachary09/27/2013

Actions
Subtask #6900: crush: fix indep modeResolvedSage Weil12/09/2013

Actions
Subtask #6895: omap needs to be disablable on a per-pool basis, this needs to be required to cache an EC poolRejectedLoïc Dachary11/25/2013

Actions
Subtask #7048: mon: erasure crush rule vs pool processResolvedLoïc Dachary12/21/2013

Actions
Subtask #6888: EC/Tiering: Disallow omap writes on pools which are backed by EC poolsResolved11/22/2013

Actions
Subtask #7158: EC: flesh out how the ceph tool should be used to manage ec pools and create sub tasks for doing itResolvedLoïc Dachary01/15/2014

Actions
Subtask #7292: erasure code: plugin backward compatibilityRejectedLoïc Dachary01/31/2014

Actions
Subtask #7307: erasure-code: chunk_size must not be architecture dependantRejectedLoïc Dachary02/02/2014

Actions
Subtask #7277: EC: on erasure pool creation, size needs to be fixed to K+M, size must not subsequently be changeableResolvedJoao Eduardo Luis01/30/2014

Actions
Subtask #7146: implement osd crush rule create-erasureResolvedLoïc Dachary01/14/2014

Actions
Subtask #7313: erasure-code: rule create-erasure requires CEPH_FEATURE_CRUSH_V2ResolvedLoïc Dachary02/03/2014

Actions
Subtask #7339: erasure code: add stripe width to pg_pool_tResolvedLoïc Dachary02/05/2014

Actions
Actions

Also available in: Atom PDF