Starting with distributed computing in corporate environments

My last post was centered around the topic of distributed computing for humanitarian research via World Community Grid. During this project I’ve seen and learned a lot of things. Some of these experiences could be useful for other (medium or large) corporations when they intend to venture into the uncharted waters of distributed computing.

TL; DR: It’s safe to use, don’t use hardware older than ~5 years and start with a small scale deployment.

Wilco Steehouwer, Martijn Vermue, Kevin Wagemakers & Frank Diepstraten, core members of team ‘de Volksbank’, managing our distributed computing servers in our data center.

Why should you participate in World Community Grid?

Everyone could have their own personal motivation for joining World Community Grid, although the participation in a global search for better medical cures could be a big factor. The current research (into cancer, aids, ebola, zika and tuberculosis) spans diseases that we are often familiar with. This makes it a worthwhile effort for many participants.

In World Community Grid we’ve found a clear and noble goal to direct our technical knowledge towards solving these global humanitarian issues.

In our case, we’re a financial institution with a very clear manifesto (in english) stating the need to do business ‘with a human touch’ while adding value to the common good. As the IT department within this bank we struggled with a search for practical initiatives to commit to these guiding principles. In World Community Grid we’ve found a clear and noble goal to direct our technical knowledge towards solving these global humanitarian issues.

Side note: the three principles mandatory for each project within World Community Grid were very important to us: 

  1. Humanitarian: Focused on solving problems to benefit humanity.
  2. Not for profit: Conducted by public or nonprofit organizations.
  3. Contributed to the public domain: all data generated by World Community Grid volunteers must be made freely available to the scientific community.

Is it safe to run World Community Grid?

According to IBM, the question they hear the most is about the (cyber)security of the BOINC client and World Community Grid. A valid question, as you’re granting BOINC/World Community Grid the ability to run executables on your machines*. I’ve been using World Community Grid since 2004 and I’ve not seen a significant incident in those years, so I do have some confidence in the IBM/World Community Grid security team. 

To reduce the (residual) risk even further, you can create a special VLAN within your network, or use a separated network, and connect all your World Community Grid machines to that network (segment). That way, even a rogue work unit can’t do much harm.

Side note: World Community Grid is also a great tool for load testing of new hardware or during Proof-of-Concept projects. Load testing is important, so why not do something useful in the process?

Power usage and sustainability

Running World Community Grid requires power, and the larger your ‘farm’ gets, the more power you will use. For private participants, this often comes down to a simple cost benefit analysis, but for corporates, this might differ.

Depending on your locality, corporates pay peanuts for their electric bill. I’m not saying that such a bill can’t be huge, but looking at the ‘price per unit’ numbers, this will be way lower than your residential contract. This is due to multiple causes; contracts running into the multiple Gigawatt-hours per year can be negotiated with the power carrier, taxes above a certain power usage tier may become void etc. All these factors make running World Community Grid at a corporate location much more cost effective than at satellite locations or at home. 

Side note: this also makes it much easier to offset the power usage with ‘green’ energy, solar panels or ‘guarantees of origin’, so the environmental impact of the power usage is further reduced.

Economically obsolete does not equal technical obsolescence.

Now the topic of sustainability. We tackled this one by only using hardware we already own. Every large corporation has some sort of warehouse, attic or basement where old, discarded hardware ends up, often just gaining dust. In our case, below those layers of dust, we found multicore servers with massive amounts of RAM. If you think of it, it’s crazy to look at those devices stacked up on a ‘discarded hardware’ pile. The heart of every true engineer would ache at such a sight, so why not put them to use for World Community Grid? Economically obsolete does not equal technical obsolescence. 

Side note: really old machines, like Pentium II, III, IV etc. use too much electric power for the computational power they output. Those machines might look awesome in a museum, but don’t actually power them on.

One misconception I often hear is that to be sustainable, we have to lower our power consumption. This, in my opinion, is not the whole story; we have to reduce energy losses. So it’s ok to switch off the lights when nobody is present, or to turn off the heating at night, but when actual useful (business) results are being made – and not wasted – power consumption in and of itself is not an issue.

Management and the board

Contrary to what you might think, distributed computing for humanitarian causes is actually a pretty easy sell to management and the board, especially when it comes down to medical research. Almost everyone has experienced losses due to terminal illnesses in their own family, social circle or at the workplace. We’re no different in that respect, and it makes people think when such sad events occur. 

Using distributed computing to speed up the research to find viable cures is a cause that resonates well among management and the board, especially at my workplace. Other firms might see this as a great way to address ‘Corporate Social Responsibility’ or just as a plain PR stunt. As long as numbers are crushed, results (with a benefit to us all) will be made. And that’s what counts.

Just start

Every engineer might dream about a large computing farm, number crushing for great causes, but how do you start? How do you get approval from management, the board or even your colleagues? These hurdles might seem so big that any initiative might die in silence. 

The World Community Grid team at de Volksbank

But the solution is really simple: just start! Our team started with just a couple of Android devices and approval to use our company name as our World Community Grid group ID. This resulted in (internal) exposure, colleagues joining and departments donating old hardware.

Many people have never heard of distributed computing, let alone it’s usage in humanitarian/medicine research. In my organization the response has been solely positive, although the current setup procedure, the focus on scoring points versus a focus on the value created and the UX of the BOINC client are somewhat challenging for people with no familiarity in IT. Hopefully this will change in the future**. 

Again I would like to thank de Volksbank for all the support our team has received, both in old hardware, as well as in commitment. Also many thanks to IBM Corporate Responsibility and especially the World Community Grid team for all the work they’ve done to make this all a reality.

Rick van de Westelaken.

*) this is the main reason why BOINC doesn’t run on Apple iOS devices.
**) I’ve seen the ‘Science United’ initiative that might focus on these aspects.

Distributed Computing at de Volksbank

When I got involved in distributed computing back in 2004 – using the United Devices client on my Pentium IV Windows XP desktop – I couldn’t have imagined where that journey would take me. All these years I used my desktops, laptops and Android devices to add computing power to different projects, all at small scale. First stand-alone clients, later BOINC based projects.

These surplus computing resources are currently directed towards research on aids, cancer, ebola, tuberculosis and the zika virus, hoping it will result in cures, available decades earlier than without (super)computing power.

Earlier this year I told my colleague Kevin Wagemakers about World Community Grid, how it works and how it contributes to medicine research and other humanitarian causes. He became interested, formed a small team and took the opportunity to work out a strategy. It started with the creation of our team ‘de Volksbank’ and some quadcore Android smartphones. Later on we got an old decommissioned server (a hexadeca-core) which we set on display in the central hallway of our office. This setup was used to present the idea to management.

Kevin Wagemakers & Rick van de Westelaken standing in front of the public display cabinet containing a fully working HPE server and display driver. 

More colleagues became involved in the project and we accumulated more and more computing power. Old laptops, desktops, old servers and even cloud instances were added. Even this massive 10U Blade server started running dedicated World Community Grid.

HPE Blade enclosure with Gen7 and Gen8 Blade servers running World Community Grid 24/7.

Fast forward to today: we are now the no.1 World Community Grid team in The Netherlands and globally we are at position 27. The impact we can make with limited quantities of hardware is amazing. These surplus computing resources are currently directed towards research on aids, cancer, ebola, tuberculosis and the zika virus, hoping it will result in cures, available decades earlier than without (super)computing power.

HPE servers with two octa-core Xeon cpu’s each, running World Community Grid 24/7.

I’d like to thank my organization, de Volksbank, for all the support we’ve been given so far. And many thanks to the IBM World Community Grid team for enabling us to participate in this meaningful research.

Banner present in the public section of our office, stating information about the World Community Grid initiative and a call to action for colleagues to join our team