OpenCompute Hardware Hack

This past week, I traveled to Santa Clara, CA to participate in the OpenCompute Summit.  OpenCompute is an open-source hardware project that aims to democratize the world of data centers (the places full of hundreds of thousands of servers, where things like Facebook, Google, Bing and Twitter live) by openly sharing and evolving hardware, software and mechanical designs.

One of the more exciting things that occurred during the conference was a “hardware hackathon” where teams made up of engineers and researchers from industry and academia came up with a novel idea to contribute to the OpenCompute project (students at Purdue had previously developed a biodegradable server chassis!).  As it turns out, the team I was a part of took first place in the competition – the prize being support and funding from the OpenCompute Foundation to file a provisional patent application for our idea, which also becomes a new mainline project as part of OpenCompute.

Visualization of our team’s component (CAD by Jon Ehlen of Facebook)

The idea that we developed was a true interdisciplinary approach to the problem of management and monitoring of servers in data centers.  We combined electrical engineering, mechanical engineering, software engineering and computer science to come up with a design for a module (codenamed “Cheezy Fingers” – long story…) that plugs into the debug header of an OpenCompute motherboard, and uses a hyper-local low-power wireless mesh network to transmit sensor, location and status data about servers, as well as to provide a mechanism for locating, identifying, and gaining remote access to the serial console of a server.   The design is based on what we know of the challenges Facebook has in managing their OpenCompute-based servers (hundreds of thousands of them), and is designed to be a low-cost, low-power component that can be easily snapped-in as a retrofit to their existing servers, as well as to any other OpenCompute server in the wild.

Our team hard at work (Jon Ehlen, Facebook; Andrew Cencini, Bennington College; David Kaplin, Nebula; Steven White, Nebula). Photo by Jill Juarez.

We had about 12 hours to discuss, evolve, and model our design – though we had also been discussing the idea in advance.  Our team was made up of two electrical engineers from Nebula – Steven White and David Kaplin, myself (the computer scientist/software guy), and Facebook’s mechanical engineer in charge of storage design, Jon Ehlen.  We had a blast working together – Jon built a beautiful CAD model of “Cheezy Fingers” in SolidWorks (see picture above), and Steven and David specced out the components and schematics.  For my part, I specified the data protocol and aggregation design, as well as wrote some C code for the serial connection that will run in the Linux kernel to retrieve locational information and blink the chassis LED using IPMI.  The judges remarked on what a thoughtful and complete submission we had – especially given it’s something we could begin mass-producing within the next 24 hours or so.

All in all, it was a great time, and a fun way to bring together people from a variety of disciplines and backgrounds to solve a real problem and make a real and meaningful contribution to the open source hardware community.  Ben Broderick-Phillips and Pratham Joshi are currently spending their FWT working on other projects with Nebula, which are slated to become contributions to the OpenCompute project as well.  Look to hear more about their work in the near future…

Update 1/21/2013: Some nice media coverage of our project here.

Update 1/24/2013:  Welcome GigaOm readers!  (GigaOm story here).

 

4 thoughts on “OpenCompute Hardware Hack

  1. Pingback: Open Compute Project names hackathon winner — Tech News and Analysis

  2. Pingback: Open Compute Project names hackathon winner ← techtings

  3. Pingback: Another Hardware Hackathon Win | Science & Mathematics at Bennington

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>