Generalized Numerical Entanglement for Reliable Linear, Sesquilinear and Bijective Operations on Integer Data Streams

We propose a new technique for the mitigation of fail-stop failures and/or silent data corruptions (SDCs) within linear, sesquilinear or bijective (LSB) operations on <inline-formula><tex-math notation="LaTeX">$M$</tex-math> <alternatives><inline-graphic xlink:href="andreopoulos-ieq1-2597543.gif"/></alternatives></inline-formula> integer data streams (<inline-formula><tex-math notation="LaTeX">$M\geq 3$</tex-math><alternatives> <inline-graphic xlink:href="andreopoulos-ieq2-2597543.gif"/></alternatives></inline-formula>). In the proposed approach, the <inline-formula><tex-math notation="LaTeX">$M$</tex-math><alternatives> <inline-graphic xlink:href="andreopoulos-ieq3-2597543.gif"/></alternatives></inline-formula> input streams are linearly superimposed to form <inline-formula><tex-math notation="LaTeX">$M$</tex-math><alternatives> <inline-graphic xlink:href="andreopoulos-ieq4-2597543.gif"/></alternatives></inline-formula> <italic>numerically entangled</italic> integer data streams that are stored in-place of the original inputs, i.e., no additional (aka. “checksum”) streams are used. An arbitrary number of LSB operations can then be performed in <inline-formula><tex-math notation="LaTeX">$M$</tex-math><alternatives> <inline-graphic xlink:href="andreopoulos-ieq5-2597543.gif"/></alternatives></inline-formula> processing cores using these entangled data streams. The output results can be extracted from any <inline-formula><tex-math notation="LaTeX"> $M-K$</tex-math><alternatives><inline-graphic xlink:href="andreopoulos-ieq6-2597543.gif"/></alternatives> </inline-formula> entangled output streams by additions and arithmetic shifts, thereby mitigating <inline-formula> <tex-math notation="LaTeX">$K$</tex-math><alternatives><inline-graphic xlink:href="andreopoulos-ieq7-2597543.gif"/> </alternatives></inline-formula> fail-stop failures (<inline-formula><tex-math notation="LaTeX">$K\leq \left\lfloor \frac{M-1}{2}\right\rfloor$</tex-math><alternatives><inline-graphic xlink:href="andreopoulos-ieq8-2597543.gif"/> </alternatives></inline-formula>), or detecting up to <inline-formula><tex-math notation="LaTeX">$K$</tex-math> <alternatives><inline-graphic xlink:href="andreopoulos-ieq9-2597543.gif"/></alternatives></inline-formula> SDCs per <inline-formula><tex-math notation="LaTeX">$M$</tex-math><alternatives> <inline-graphic xlink:href="andreopoulos-ieq10-2597543.gif"/></alternatives></inline-formula>-tuple of outputs at corresponding in-stream locations. Therefore, unlike other methods, the number of operations required for the entanglement, extraction and recovery of the results is linearly related to the number of the inputs and does not depend on the complexity of the performed LSB operations. Our proposal is validated within an Amazon EC2 instance (Haswell architecture with AVX2 support) via integer matrix product operations. Our analysis and experiments for fail-stop failure mitigation and SDC detection reveal that the proposed approach incurs 0.75 to 37.23 percent reduction in processing throughput in comparison to the equivalent error-intolerant processing. This overhead is found to be up to two orders of magnitude smaller than that of the equivalent checksum-based method, with increased gains offered as the complexity of the performed LSB operations is increasing. Therefore, our proposal can be used in distributed systems, unreliable multicore clusters and safety-critical applications, where robustness against failures and SDCs is a necessity.