Skip to content

Add source / sink modules for replication for error detection.#40

Merged
FrancescoConti merged 3 commits intopulp-platform:masterfrom
Lynx005F:itemm/parity_canary
Feb 25, 2025
Merged

Add source / sink modules for replication for error detection.#40
FrancescoConti merged 3 commits intopulp-platform:masterfrom
Lynx005F:itemm/parity_canary

Conversation

@Lynx005F
Copy link
Copy Markdown

@Lynx005F Lynx005F commented Jul 1, 2024

This PR adds two modules to "copy" a HCI stream so that a secundary HCI network can be built for error detection on both control and data. These modules can work together with similar modules for HWPE-Stream, where the Idea is explained more in detail pulp-platform/hwpe-stream#21

Currently the PR only implements the "copy" variety (see HWPE PR for definition) of replication modules. For the redundancy in RedMulE this is the only module required.
If the other varieties could be usefull elsewhere I could implement them as well, but since they would result in different parameterizations of HCI for the copy network as existing modules would have to be looked at too, while copy is "safe" with respect to other modules.

@FrancescoConti FrancescoConti self-assigned this Jul 2, 2024
@Lynx005F Lynx005F force-pushed the itemm/parity_canary branch from bf48bb8 to 14e7df8 Compare July 3, 2024 10:04
@Lynx005F Lynx005F marked this pull request as ready for review July 8, 2024 08:23
@Lynx005F
Copy link
Copy Markdown
Author

Lynx005F commented Jul 8, 2024

I merged all different options into one file and added a type selection enum. Potentially there are other types of duplication that could also be implemented, but for RedMulE this covers everything needed.

@Lynx005F Lynx005F force-pushed the itemm/parity_canary branch from 14e7df8 to 5a9eee0 Compare July 29, 2024 11:53
Copy link
Copy Markdown
Contributor

@LuigiGhionda LuigiGhionda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@FrancescoConti
Copy link
Copy Markdown
Member

@anga93 @LuigiGhionda @yvantor is this still relevant?

@LuigiGhionda
Copy link
Copy Markdown
Contributor

I think it is only used inside Fault-Tolerant Redmule, which, if I’m not mistaken, is still maintained in an external fork outside of pulp-platform. I’m not sure if there has been any additional development since then. From the HCI fork, I’ve noticed some activity, so there might be something new to add. Perhaps @Lynx005F can confirm this.

@Lynx005F
Copy link
Copy Markdown
Author

Yes this is still used in Redundant RedMulE, but only one of the two modules:
https://github.com/Lynx005F/redmule/blob/itemm/redundancy/rtl/redmule_top.sv#L211
I think it makes sense having both sides of it anyway, should be the easiest way to get control protection elsewhere.

As far as that project is concerned the project is completed and achieves good fault-tolerance.
If there are future changes then only to increase performance, which should not affect these modules.

@FrancescoConti
Copy link
Copy Markdown
Member

FrancescoConti commented Feb 25, 2025

I agree, I think it is a valuable contribution, thank you @Lynx005F ! @LuigiGhionda can you give again a very quick look (a lot of time has passed since your review)? I will also review, and if ok, we'll merge.

@FrancescoConti FrancescoConti self-requested a review February 25, 2025 13:36
@@ -0,0 +1,117 @@
/*
* hci_core_assign.sv
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very minor: hci_core_assign -> hci_copy_source

Copy link
Copy Markdown
Member

@FrancescoConti FrancescoConti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@FrancescoConti FrancescoConti merged commit 6702c6f into pulp-platform:master Feb 25, 2025
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.

3 participants