Inspiration

I'm a Junior in Management Information Systems (MIS) and most of my background is involved with infrastructure. Given the cheap necessity of the cloud in our everyday lives, I thought I would apply the same principles to the medical field. Raspberry Pis are efficient, space-saving, and ultimately cost effective. The world needs cheap computing power, especially when the medical field is going to rapidly expand in the next decade.

What it does

Three of four Raspberry Pi 2s have a head node which control which distributed operations they need to do. All commands are run directly from the head node, results are read and written to the intra-network NFS share. Raw MRI data is fed into the NFS share and processed through the UNL developed Camino framework.

How I built it

1 switch, 5 Cat 6 Ethernet cables, 4 32Gb class 10 micro-SD cards, 4 overclocked Raspberry Pis tunneled through my laptop wireless card, MPICH, Java for ARM, and editors like Vim.

Challenges I ran into

Saving time with the 4 nodes. I didn't want to spend too much time learning a management service (e.g. Ansible, Chef, or Puppet). I decided to write shell scripts to make the installation process easier on whoever was doing multiple compute notes.I also broke my image and needed to reinstall but I'd forgotten my adapter at home and lost ~4-5 hours of work.

Accomplishments that I'm proud of

I built a 4 node compute cluster with the intention of making MRI analysis cheaper and more effective. I created installation scripts for easier automation, networked everything efficiently, and rendered the diffusion of water in a brain sample.

What I learned

Parallel computing though the Argonne National Labs program MPICH, automation, NFS library sharing for shorter necessity for package binaries compilation (make once, results are shared via NFS), C compilation on the fly, Java, and some brain terminology.

What's next for MRPi

Make more efficient scripts, automating the creation & compilation of C, a web interface to move away from the CLI, automatic updates, faster compilation, and optimization of the MPICH switch fabric.

Built With

Share this project:
×

Updates