There is often a little bit of confusion between two of my major projects currently. As many of you know, I’ve been working along on my Senior Thesis Project in order to finish fulfillment of my undergraduate degree as a Bachelor of Science at RIT in the field of Motion Picture Science. In addition to this, I am also working on Cerberus, a homegrown Linux based computational cluster. I’m realizing more and more that people assume both projects are the same while in reality they are quite different. Let me give you the breakdown:
My thesis project seeks to find ways to process and correctly convert RAW 4K DPX cinema camera frames to a processed and colorimetrically accurate state in real time through the power of parallel processing and high performance computing. This is being done in a variety of ways, including heavy image processing programming to accomplish these goals. Testing this , however, is almost impossible without a cluster of my own. RIT has several, all of which are maintained outside of my reach by full-time admins. This is excellent; it guarantees reliability and top-notch performance to students and researchers but really limits the amount of day to day tinkering, engineering and ground up building that I seek in my research. Hence, Cerberus was born.
Cerberus is the name that I’ve given to the cluster that I’ve been working on over the last 6 months. Much like Anakin’s podracer in the popular Star Wars franchise, I think that my platform can be the fastest there ever was, at the cost of sex appeal and a polished, inclusive design. Cerberus grows and ebbs as I receive or kill off old hardware, but currently it is running with approximately 100 CPU cores and somewhere in the ballpark of 700 GB’s of RAM. This is plenty of power for my project and allows me to dynamically test different software, languages, algorithms and implementations of code that should help me determine that absolute fastest way to run my thesis code.
While Cerberus and my thesis project are co-dependent for my successful graduation, I’ve become to regard each as its own separate beast (heh, pun). Maintaining and engineering the cluster has been almost a full time project in itself during different seasons of my project as I’ve had to learn and successfully implement a wide variety of systems administration tasks as well as rapid provisioning and other common cluster / data center tasks.
You can check out more info about the Cerberus cluster here! I will be updating again shortly as I’ve just finished an internal critical design review and have lots more interesting information to share.