Joseph Hellerstein wants cloud programmers to reach new heights.
Toby Burditt

TR10

TR10: Cloud Programming

A new language will improve online applications.

  • May/June 2010
  • By Erica Naone

This article is part of an annual list of what we believe are the 10 most important emerging technologies. See the full list here.

Cloud computing offers the promise of virtually unlimited processing and storage power, courtesy of vast data centers run by companies like Amazon and Google. But programmers don't know how best to exploit this power.

Today, many developers are converting existing programs to run on clouds, rather than creating new types of applications that could work nowhere else. And they are held back by difficulties in keeping track of data and getting reliable information about what's going on across a cloud. If programmers could solve those problems, they could start to really take advantage of what's possible with a cloud. For example, an online music retailer could monitor popular social-media feeds; if a singer suddenly became a hot topic, advertising and special offers across the retailer's site could be instantly reconfigured to make the most of the spike in interest.

At the University of California, Berkeley, Joseph Hellerstein thinks he can make it much easier to write complex cloud applications by developing software that takes over the job of tracking data and keeping tabs on what's happening. His big idea is to modify database programming languages so that they can be used to quickly build any sort of application in the cloud--social networks, communication tools, games, and more. Such languages have been refined over the years to hide the complexities of shuffling information in and out of large databases. If one could be made cloud-friendly, programmers could just think about the results they want, rather than micromanaging data.

Advertisement

The challenge is that these languages process data in static batches. They can't process data that is constantly changing, such as readings from a network of sensors. The solution, ­Hellerstein explains, is to build into the language the notion that data can be dynamic, changing as it's being processed. This sense of time enables a program to make provisions for data that might be arriving later--or never.

The result is called Bloom. So far, Hellerstein's group has used the Bloom language and its predecessors to quickly rebuild and add major features to popular cloud tools such as Hadoop, a platform used to manipulate very large amounts of data. By lowering the complexity barrier, these languages should increase the number of developers willing to tackle cloud programming, resulting in a wave of ideas for new types of powerful applications.

Video

Hellerstein's group is getting Bloom ready for a release in late 2010. They and others are also working on demonstrating how the techniques can be used for real-time applications such as online multiplayer games, or to watch for the warning signs of an earthquake or tsunami.

Print

Close Comments

To comment, please sign in or register

Forgot my password

er7

3 Comments

  • 661 Days Ago
  • 04/22/2010

BOOM or Bloom

Needed clarification

Reply

ginger_tosser

8 Comments

  • 660 Days Ago
  • 04/23/2010

Re: BOOM not Bloom

Actually, the project is called BOOM (Berkeley Orders Of Magnitude) and the language they subsequently developed is called BLOOM.
see here http://boom.cs.berkeley.edu/

Reply

Paul_Miller

3 Comments

  • 660 Days Ago
  • 04/23/2010

Re: BOOM not Bloom

No, the language of the BOOM project really is 'Bloom,' as discussed here - http://databeta.wordpress.com/2009/12/16/bloom-and-dedalus/

Reply

jsanders

4 Comments

  • 660 Days Ago
  • 04/23/2010

Smart Grid Applications

Are there smart-grid applications for the BLOOM language in terms of monitoring the dynamic changes of energy consumption and production in electricity networks?  In other words, is the problem of a smart grid basically like a cloud-computing problem?

Reply

bj1602

1 Comment

  • 655 Days Ago
  • 04/28/2010

???

Reply

andrewms

1 Comment

  • 650 Days Ago
  • 05/03/2010

Java vs BLOOM

How easy is it to convert existing J2EE web applications to BLOOM, what are the pros and cons
Or
will Sun come up with its own "Java-CLOUD API" soon to imitate BLOOM functionality ?

Reply

mlewis_1

1 Comment

  • 607 Days Ago
  • 06/15/2010

Re: Java vs BLOOM

You made a good point. I find that J2EE and its enterprise application development tools are a good microcosm for cloud computing.

Reply

Advertisement

alfaromeo

2 Comments

  • 648 Days Ago
  • 05/05/2010

Cloud Computing

i'm interested in knowing about this cloud computing . can any one help me where i can start from....

Reply

bluemix

1 Comment

  • 535 Days Ago
  • 08/26/2010

Re: Cloud Computing

You can go to www.msdn.microsoft.com

Reply

sababy420

1 Comment

  • 626 Days Ago
  • 05/27/2010

Cloud Computing

I have been writing proposals for a project which whole basis is database development and then the sorting of that database into social networking, educational programs, etc.  I am very interested in the dynamic aspect of cloud computing and would like to know where i can get more info

Reply

HarrietAlien

1 Comment

  • 603 Days Ago
  • 06/19/2010

Hadoop

Hi
boy-lots'o data to track-thanks for the article Erica.  I wonder whether you could give a couple current applications of Hadoop that I could view from the browser side?  I am entering school for the web/analyst programmer field and I ESPECIALLY like relational database work.  I will be studying javascript and html in the fall. 

Then if there are any further articles which describe Hadoop's functionality and the specific enhancements had with BLOOM I would be very grateful!

Reply

dexterduncan

1 Comment

  • 529 Days Ago
  • 09/01/2010

Idea Already Exist?

I read the article with interest.   It seems similar to the idea already developed at University of Melbourne which resulted is a start-up called Manjrasoft.    See www.Manjrasoft.com

Regards,

Dexter

Reply

frank edwards

3 Comments

  • 402 Days Ago
  • 01/06/2011

Re: Idea Already Exist?

if it already exist then why has no one gone out and claimed the idea because if they did the would it not be so far fetched as to say someone is lie about  being the first to introduce the idea

Reply

koper

1 Comment

  • 178 Days Ago
  • 08/18/2011

Re: Idea Already Exist?

Well, indeed Cloud is becoming increasingly important and we will be seeing more and more of tools targeting that platform. I'd like to point out another related project: Opa (http://opalang.org) , which is a cloud-enabled language for web development. It comprises of a complete technology stack (database, distribution framework, ...) and allows to write complex web app in one, coherent language.

Reply

Advertisement

MAGAZINE

Can We Build Tomorrow's Breakthroughs?

Manufacturing in the United States is in trouble. That's bad news not just for the country's economy but for the future of innovation.

Sponsored Content

Technologies from National Instruments

Adding Data Logging
Log measured data to a file and open it in Microsoft Excel

> Click here for more National Instruments Videos <
Whitepaper

Temperature Measurements with Thermocouples: How-To Guide

This document is part of the “How-To Guide for Most Common Measurements” centralized resource portal. This tutorial provides a detailed guide for measurement and device considerations to take temperature measurements using thermocouples. Get an introduction to thermocouples, which are inexpensive sensing devices widely used with PC-based data acquisition systems. Also review some specific thermocouple examples and learn how thermocouples work and ways to integrate them into a data acquisition measurement system.

View full PDF > Listen to story >
Find us on Youtube

Videos

A Robot Recruit that Can Do It All

More

Advertisement

Technology Review Lists

TR50

Our list of the 50 most innovative companies, including the following:

Applied Materials

Zynga

Square

First Solar

More

Advertisement

Facebook

Advertisement