¿Cómo se utiliza la aritmética modular en aplicaciones de ingeniería?

Dos de cada tres de las personas que respondieron mencionaron XOR.

Un gran ejemplo práctico que no vi mencionado es RAID5.
RAID es una tecnología que le permite presentar más de una unidad de disco a una computadora como si fuera una sola unidad. Hay muchas razones por las que desearía hacer esto y hay muchas maneras diferentes de hacerlo para satisfacer esas necesidades.
Tienen varias compensaciones también.

Si desea una velocidad bruta mientras se está ejecutando y no le importa si queda algo si falla, entonces RAID0 (rayas) es lo que desea.
Compre dos unidades, obtenga (casi) la capacidad de dos unidades, ubíquese en algún lugar entre el rendimiento de una y dos unidades, pero, si alguna de las unidades falla, lo pierde todo.

RAID1 (reflejo) le dará redundancia, pero a un costo.
Compre dos unidades y obtenga la capacidad de una unidad.
Pero escribe todo en ambas unidades, por lo que si cualquiera de ellos muere, todavía lo tiene todo. Además, * tienes * que escribir a ambos, pero * obtienes * para leer de cualquiera de ellos. Por lo tanto, más lento en las escrituras más rápido en las lecturas que una sola unidad

Cualquiera de estos se realiza rutinariamente en software con un impacto insignificante en el rendimiento. Incluso puede combinarlos para obtener redundancia y rendimiento a solo el doble del precio.

Ahora RAID5 es mágico. Necesita 3 unidades, pero obtenga la capacidad de 2 de ellas con la redundancia de tener 4 de ellas en comparación con RAID1.
Cualquiera de las unidades puede morir, no pierdes nada y sigues funcionando. Reemplácelo con un disco en blanco, reconstruyelo y estará bien.

RAID5 está XORingando todo lo que escribe como parte del algoritmo.
Esto se puede hacer en software y funciona correctamente, pero la carga en la CPU que induce generalmente hace que sea más barato comprar una tarjeta RAID de hardware si 5 es el nivel RAID correcto para lo que está haciendo.

XOR, no solo una vez, sino millones de veces por segundo.

More Interesting

La ecuación [matemáticas] x ^ 2 + kx + 8 = k [/ matemáticas] no tiene soluciones reales para x. ¿Cuál es el mayor valor entero posible para k?

¿Es [matemática] 10 ^ n + 1 [/ matemática] siempre compuesta cuando [matemática] n [/ matemática] es un número entero mayor que dos?

Deje [math] p [/ math] ser un número primo impar y [math] \ zeta = \ zeta_p = \ cos \ left (\ frac {2 \ pi} {p} \ right) + i \ sin \ left (\ frac {2 \ pi} {p} \ right) [/ math]. ¿Cómo haces lo siguiente?

¿Qué es un algoritmo para encontrar el número N de base 10 más pequeño, mayor que la entrada, de modo que N se escriba con todos los 1 y 0 y la entrada sea un factor de N?

Dado un polinomio secreto con coeficientes enteros posiblemente negativos, y la capacidad de consultar el valor del polinomio en cualquier número entero, ¿qué tan eficientemente se puede calcular el polinomio exacto?

¿Cuáles son los escándalos más interesantes en la historia de las matemáticas?

Encuentre todos los enteros positivos a, b, c y el número primo p, de modo que la igualdad dada se mantenga: a ^ p + b ^ p = p ^ c?

¿Cuáles son los avances más actuales en el campo de la teoría de números en términos de la hipótesis de Riemann?

Deje que [math] K [/ math] sea un campo. Considere [math] A = \ underset {\ mathbf {N} _0} {\ bigoplus} K [/ math] con una estructura aditiva natural. ¿Cómo encuentras que algunas o mejor describen todas las estructuras multiplicativas en [matemáticas] A [/ matemáticas] convirtiéndolas en un anillo conmutativo ([matemáticas] K [/ matemáticas] -álgebra) con identidad?

¿De cuántas maneras se pueden sentar ocho personas, indicadas [matemáticas] A, B, \ ldots, H [/ matemáticas], alrededor de una mesa cuadrada con capacidad para dos personas en cada lado, de modo que dos de las ocho personas digan [matemáticas] A [/ matemáticas] y [matemáticas] B [/ matemáticas], ¿no se sientan uno al lado del otro?