Project logistics
- Mentor: Rudolph Pienaar. email: rudolph.pienaar-at-childrens.harvard.edu, trello-id: rudolphpienaar, github-id: rudolphpienaar
- Min-max team size: 3-5
- Expected project hours per week (per team member): 6-8
- Will the project be open source? Yes, LICENSE ul
Preferred past experience
Some experience in one or more of the following is preferred in possible team members:
- Python (Very important)
- PHP (Rather important)
- Javascript (Good)
- (WebGL for visualization using the xtk library ( http://www.goxtk.com) -- also developed at the FNNDC.) -- nice, but not necessary
- C/C++ (Less important)
- Linux (Very important, at least in as much as understanding parent/child processing from a shell perspective, capturing stdout/stderr form processes, ssh/scp)
Overview
This is a real-world project geared at processing actual clinical medical image data on an expanding library of cloud/HPC resources. ChRIS is an existing research project at the Fetal Neonatal and Development Science Center at Boston Children's Hospital that collects medical image data from hospital resources and transparently dispatches processing to remote sites. Results are presented in a Web 2.0 "twitter" inspired feed, and users can also share feeds and interactively visualize data using WebGL.
What specifically will be addressed:
For more conventional HPC resources, ChRIS strips all identifying data from image files, zips data up, scp's to remote cluster headnode, unpacks, schedules required processing jobs, monitors, and on completion, zips up all results, scp's back to ChRIS, and then cleans up back on the headnode.
We'd like to do the same on an Open Cloud platform, which means all the above but with the additional steps of transparently setting up/shutting down the cloud resources: hardware, images, remote scheduler, etc. Ideally speaking, the remote cloud resources would be a transparent extension of an existing HPC out at Children's.
Some Technologies Expected To Be Learned/Used
- Web and GUI development
- Remote job management on UNIX (and UNIX like) operating systems
- Instantiating schedulers
- Use of OpenStack API