https://github.com/spacether/cosmicraydetector
A Go program to detect bit flips caused by cosmic rays
https://github.com/spacether/cosmicraydetector
bit-flipping bitflip cosmic-rays cosmicrays go golang radiation
Last synced: 3 months ago
JSON representation
A Go program to detect bit flips caused by cosmic rays
- Host: GitHub
- URL: https://github.com/spacether/cosmicraydetector
- Owner: spacether
- License: mit
- Created: 2019-08-01T01:26:51.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-08-06T02:53:44.000Z (almost 6 years ago)
- Last Synced: 2025-01-14T19:12:03.797Z (5 months ago)
- Topics: bit-flipping, bitflip, cosmic-rays, cosmicrays, go, golang, radiation
- Language: Go
- Size: 3.12 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cosmicraydetector
A Go program to detect bit flips caused by cosmic rays## Implementation Notes
This program makes an array of unsigned 64 bit integers taking up a certain amount of memory (1 GiB default). Every delay seconds (60 default) we inspect all values in the array, and if any have changed we store the bit flip information and display it in the program.An example of the bit flip information that we store is:
```
f := flip{
Value: 2,
Binary: "00000010",
NumChangedBits: 1,
ChangedBits: "______X_"
Duration: 2.307184703s // how long the value was stored before it was changed
Time: 2019-08-02 13:29:15.719184 -0700 PDT m=+2.409464913 // when the bit flip happened
}
```## Usage
`make run` to run the program## Build and Run Manually
```
go build -o build/cosmicraydetector -i cmd/main.go
# XXX is the memory block size that is reserved in MiB
build/cosmicraydetector -blockSize=XXXX
```## Testing
`make test` to run tests