In December 2004, HP Labs launched a groundbreaking project,
the SE3D Animation Showcase. Its aim: to investigate how,
using the example of animation and media production, utility
computing could change the technology and economics of the
industry. Now, at the project’s completion, the research
findings will inform and direct HP’s continuing commitment
to adaptive technologies, which the company believes represent
the future of adaptable, powerful and flexible computing.
SE3D and related HP Labs initiatives, such as the provision
of utility-based aerodynamic modelling for WilliamsF1, have
helped inform the new HP Flexible Computing Services business,
launched on November 29.
The SE3D project, sponsored by HP Labs and Alias, with
the Watershed media centre, gave 11 groups of animators
from across the UK access to the HP Labs experimental Utility
Rendering Service, allowing them each to produce a 3D short
animation.
The Utility Rendering Service, codenamed Frame Factory
within HP Labs, draws on a wide range of innovative research
technologies and the flexible power of some 115 dual-processor
Proliant servers in the HP Labs data centre in Palo Alto,
California – the same facility used in the rendering
of DreamWorks features, Shrek 2 and Madagascar.
It allowed the participants securely to upload digital
source data of characters and scenery in order for the computationally-intensive
process of rendering into final frames to take place. The
animators then downloaded the completed frames from the
utility service, from HP Labs, to their own offices over
the public Internet.
The research programme was designed to gather more information
about the form and function of an experimental service-oriented
utility computing platform – the Service Utility – by
applying it to a film rendering service for multiple users.
SE3D presented two big challenges. First, the integration
of utility computing technologies developed by six HP Labs
projects into one harmonious solution. Secondly, ensuring
this solution was fully production-capable and satisfied
the needs of many customers over a relatively long period
of time.
The Service Utility is capable of running different services
for multiple customers simultaneously – HP Labs' experimental
BLAST-based gene sequencing service, codenamed Gene Factory,
for instance, or a future financial or engineering service.
For the SE3D showcase, though, the platform only ran the
rendering service - one instance of the service for each
of the animation participants.
The Service Utility integrates a number of experimental
components - the results of HP Labs research projects focused
on technology that could be at the heart of a future utility
data centre. Together they form a platform that manages,
allocates and controls the banks of processors and storage
used by each Frame Factory service. It deals with resource
failures and restores, cleans and redistributes servers
and storage as required.
Research underpinning the Service Utility platform
A key experimental technology for the platform is an extensible
market-based resource allocation system codenamed Sumatra.
In the future world of utility computing, customers will
only pay for the service and computing resources – processors,
storage, networking etc. – that they use. Even a massive
data centre with tens of thousands of processors will have
a limited number of resources available for each customer.
With multiple customers, each could try to reserve, and
hold on to, as many processors as they can 'just in case'
even if they do not actually require them.
One way to control demand, and also predict and manage
fluctuations, is with automated markets. What will happen
in a real situation, for instance, if a film studio suddenly
needs many extra nodes to render its next animation, or
if a laboratory calls on more processors to sequence a new
virus in an emergency? It is Sumatra's job to regulate demand
through a variety of techniques.
Sumatra offers a long-term market, auctioning resources
in advance, while a short-term market is available to purchase
resources for near immediate use. These two markets provide
a way to do resource planning and also satisfy unforeseen
peak needs. A simple Graphical User Interfaces was created
for the various aspects of resource acquisition -- funds
monitoring, bidding and historical analysis. Resources were
sold in lots with a duration of one hour. Two different
types of auction algorithm were tested: Proportional Share
and Generalised-Vickrey. Proportional Share, inspired by
another HP Labs project, Tycoon, allocates resources in
proportion to the amount of money bid, whereas in a Generalised-Vickrey
auction, the highest bidder for an item wins the item, but
pays the price offered by the second highest bidder.
The animators used HP-allocated computing credits to buy
access to resources.
Sumatra interfaces with the Service Utility's Resource
Manager to handle the actual allocation of resources to
users based on the results of the market mechanisms. The
Resource Manager configures the Service Utility's processors
and is able to keep track of what processors are available – or
have ceased to be available for whatever reason – through
a research technology called Anubis. This is a service that
sits on every processor and sends an "I'm here" message
to the Resource Manager and also to all other processors,
so that it is clear to all which of them, and how many,
are available at any time, with complete consistency guaranteed
across the system.
Anubis can therefore report a failure in one or more of
the processors, allowing the Service Utility platform to
recover the information on the affected devices and distribute
it to other nodes. Anubis is fully decentralised, meaning
it can detect and respond to a wide variety of problems
and provide a consistent picture of what is happening to
every resource in the system.
In the future world of utility computing, contractual agreements
between the customer and the service provider, called Service
Level Agreements (SLAs), will be automatically enforced.
An SLA might state that a job has to be finished by a certain
time, to a particular standard and with guaranteed security.
If the SLA is not met the provider would face penalties.
What if a group of processors fails during rendering, affecting
several participants? Some of the customers may have stricter
SLAs than others, with tighter guarantees. HP Labs has used
the project to test an experimental technology called Management
by Business Objectives (MBO). MBO, a key component of the
Resource Manager, has a reasoning engine that assesses all
the SLAs, including the various penalties that the service
provider faces. If all goes well then MBO is not needed.
However, should something unexpected happen, for example
a hardware failure, then MBO decides automatically which
customer should receive a reduced level of service in favour
of one that has tighter guarantees and higher levels of
compensation. When processors are reallocated they are cleaned
of data so that the previous user's sensitive data cannot
be accidentally accessed by the next customer.
High levels of IT Security are of crucial importance if
customers are to have confidence in utility computing because
they could be sharing resources with companies that are
in direct competition with them. The Service Utility platform
has novel forms of Secure Storage developed by HP Labs researchers
that give each user a unique cryptographic key. This key
is the only access to their part of the platform's storage
and is managed securely and transparently by the Service
Utility.
During the course of the SE3D programme there were one
million unauthorised attempts to contact the service and
some 15,000 incidents of worm attacks – all successfully
repelled.
All of the platform components are deployed and managed
using an HP Labs technology called SmartFrog (Smart Framework
for Object Groups). SmartFrog uses templates to describe
the entire software infrastructure – thousands of
software components running on hundreds of machines – and
then activates and manages them. Its core has been released
as open source for developers.
Utility Rendering Service: stress-testing the
platform
But what about Frame Factory, the experimental utility
rendering service that runs on top of the Service Utility?
For the animators sitting at their computers, accessing
the rendering service through the Internet was simple. The
service hides the details of what is happening behind the
scenes: users had no need to worry about where the storage
and the servers they have been allocated actually are. They
sent content to be rendered over a standard broadband internet
connection. They can check on the progress of the work and
then automatically pull the rendered frames back to their
own systems when they are complete.
However, there is a lot going on behind the scenes. Like
the Service Utility platform, the rendering service has
a number of research components from HP Labs. Plus, at its
heart, it has the Maya 3D rendering application from Alias®.
HP Labs components include the Asset Store, which stores
the source data animation content received from the client,
and the Service Manager, which distributes the content to
the Processing Nodes allocated by the Service Utility for
conversion into completed, rendered frames. The Asset Store
allows the clients to download the completed content from
the rendering service over a secure, encrypted link, and
manages multiple versions of content over time.
The source content to be rendered can grow to be many gigabytes
in size, but usually only a fraction changes each time the
user wants to upload their latest work for rendering. So
a distributed versioned filestore, codenamed Elephant
Store,
helped to reduce the size by only transferring the parts
of files that have changed. It is even smart enough to know
whether a file has simply been renamed and avoids uploading
redundant information. Each completed upload of the source
content is treated as a unique version.
This allows the storage of large amounts of data online,
giving the animator access to a comprehensive historical
record of their work and the ability to check and revert
to earlier versions of frames if necessary. The economy
of data transfer even allowed at least one of the animators
to use the rendering service effectively from an internet
café.
As with the Service Utility platform, SmartFrog describes,
assembles, launches and manages the components to form the
Frame Factory service. SmartFrog uses service templates
so that, once described, a service can be launched and terminated
repeatedly and correctly.
The implications of the research involved in the SE3D programme
are wide-ranging and the findings of this project will feed
and fuel HP’s ability to offer utility computing services
to its customers. In addition, the utility computing model – as
demonstrated by the SE3D showcase project – particularly
stands to benefit industries that rely on large amounts
of secure, robust computing power, such as financial services,
engineering, oil and gas, and scientific research.
|