👽 Как защититься от космических лучей? Часть 1
В 2003 году в городе Схарбек один из кандидатов на местных выборах внезапно получил на 4096 голосов больше, чем было физически возможно.
Конечно, нас таким не удивить. Но вот в Бельгии, где и проходило голосование, очень даже удивились и провели расследование. По результатам которого во всем обвинили космические лучи. ☄️
Интерес тут в том, что все это оказалось правдой. Дело в том, что космические лучи постоянно бороздят не только просторы нашей вселенной, но и наши микрочипы. И в обычной жизни до недавнего времени вы вполне себе могли списать часть ваших багов именно на воздействие вселенной. Но в последнее время вам это будет делать все сложнее.
Не потому что космических лучей стало меньше, а потому что мы научились от них защищаться. И я хочу рассказать тут, как!
👿 Проблема
Давайте представим, что вы храните на диске или в памяти какую-то последовательность. К примеру 1011. И от этой последовательности зависит сломается ваша система или нет. Но в какой-то момент происходит вспышка на Солнце и ваша последовательность становится 1001. И вас будит алерт.
Вас просят предотвратить подобное в будущем. Как же это сделать?
🔢 Самое тупое решение — бит чётности
Идея: вы после каждых 4 бит добавляете пятый — контрольный. Его вы подбираете так, чтобы общее количество бит было в сумме чётным.
К примеру, для вашего числа:
1011 → 10111 (три единицы + одна контрольная = четыре, чётно)
Когда вы считываете это число, то просто суммируете все биты и если их сумма нечетная, как к примеру вот тут:
10011 ❌
То вы делаете вывод, что космический луч сломал вашу программу и вы тут ни при чем. Или вот тут число четное, значит можно ехать дальше.
10111 ✅
Это довольно хороший подход. Но как найти куда конкретно попал космический луч?
Самый простой вариант это хранить резервную копию, с которой бы мы сверялись в случае чего. Но КПД у такого решения конечно низкий, в районе 50%. А если быть точным, то именно 50%
Что означает, что на поддержание инфрастуктуры по защите от космических лучей вы будете тратить 50% оперативной памяти. Что конечно никто из менеджмента не одобрит. Проще закупиться шапочками из фольги. 🥈
Однако способ все же есть. И я попробую его в следующем посте объяснить. Оно того правда стоит!
#инженерныештучки #кодхэмминга #помехоустойчивость
Post #410
272

- 👾 2
- 👻 1