Building a more resourceful cloud

14.06.2011

For instance, different customers may want different capabilities, noted Gunho Lee, a researcher at the University of California, Berkeley. One job may require a great deal of CPU usage, while another application may chiefly need memory space. Likewise, some servers are built for maximum CPU performance, and others are more memory-focused.

As a result of these differing desired characteristics, "we need to track job affinity to determine which type of machine offers the most suitable cost-performance trade-off for a job," stated Lee's paper, which he co-wrote with the University of California's Randy Katz and Yahoo Research's Byung-Gon Chun.

The researchers proposed each cloud should have two types of machines. One set of servers would be considered "core nodes," which would do the basic chores, while another set would be considered "accelerator nodes" that can be temporarily added to help with executing the more computationally intensive workloads.

Users would submit jobs to what the researchers call a "cloud driver," which would allocate the appropriate number of nodes to the task.

Other variables that cloud computing services should take into account include if the customer wants a job executed quickly or at the lowest cost possible, or some combination in between, noted Damien Zufferey, one of the researchers from the Institute of Science and Technology Austria (IST) who developed a technique that would allow users to trade off between speed and the cost of running a job. The faster the customer wants the job to execute, the more that customer should pay; whereas economy jobs may take longer to finish, he argued.