Feeds

IT'S ALIVE! IT'S ALIVE! Google's secretive Omega tech just like LIVING thing

'Biological' signals ripple through massive cluster management monster

Combat fraud and increase customer satisfaction

Exclusive One of Google's most advanced data center systems behaves more like a living thing than a tightly controlled provisioning system. This has huge implications for how large clusters of IT resources are going to be managed in the future.

"Emergent" behaviors have been appearing in prototypes of Google's Omega cluster management and application scheduling technology since its inception, and similar behaviors are regularly glimpsed in its "Borg" predecessor, sources familiar with the matter confirmed to The Register.

Emergence is a property of large distributed systems. It can lead to unforeseen behavior arising out of sufficiently large groups of basic entities.

Just as biology emerges from the laws of chemistry; ants give rise to ant colonies; and intersections and traffic lights can bring about cascading traffic jams, so too do the ricocheting complications of vast fields of computers allow data centers to take on a life of their own.

The kind of emergent traits Google's Omega system displays means that the placement and prioritization of some workloads is not entirely predictable by Googlers. And that's a good thing.

"Systems at a certain complexity start demonstrating emergent behavior, and it can be hard to know what to do with it," says Google's cloud chief Peter Magnusson. "When you build these systems you get emergent behavior."

By "emergent behavior", Magnusson is talking about the sometimes unexpected ways in which Omega can provision compute clusters, and how this leads to curious behaviors in the system. The reason this chaos occurs is due to the 10,000-server-plus cluster scale it runs at, and the shared state, optimistic concurrency architecture it uses.

"Systems at a certain complexity start demonstrating emergent behavior, and it can be hard to know what to do with it"

Omega was created to help Google efficiently parcel out resources to its numerous applications. It is unclear whether it has been fully rolled out, but we know that Google is devoting resources to its development and has tested it against very large Google cluster traces to assess its performance.

Omega will handle the management and scheduling of various tasks and places apps onto the best infrastructure for their needs in the time available.

Rows of computer racks in data center

Inside a Google data center ... Where's the software to run the software?

It does this by letting Google developers select a "priority" for an application according to the needs of the job, the expected runtime, its urgency, and uptime requirements. Jobs relating to Google search and ad platforms will get high priorities while batch computing jobs may get lower ones, and so on.

Omega nets together all the computers in a cluster and exposes this sea of hardware to the application layer, where an Omega sub-system arbitrages the priorities' of an innumerable number of tasks then neatly places them on one, ten, a hundred, or even more worker nodes.

"You're on this unstable quicksand all the time and just have to deal with it," Google senior fellow Jeff Dean told The Reg. "Things are changing out from under you fairly readily as the scheduler decides to schedule things or some other guy's job decides to do some more work."

Some of these jobs will have latency requirements, and others could be scattered over larger collections of computers. Given the thousands of tasks Google's systems can run, and the interconnected nature of each individual application, this intricacy breeds a degree of unexpectedness.

"There's a lot of complexity involved, and one of the things that distinguishes companies like Google is the degree to which these kinds of issues are handled," said John Wilkes, who is one of the people at Google tasked with building Omega. "Our goal is to provide predictable behaviors to our users in the face of a huge amount of complexity, changing loads, large scale, failures, and so on."

The efficiencies bought about by Omega means Google can avoid building an entirely new data center, saving it scads and scads of money and engineering time, Wilkes told former Reg man Cade Metz earlier this year.

"Strict enforcement of [cluster-wide] behaviors can be achieved with centralized control, but it is also possible to rely on emergent behaviors to approximate the desired behavior," Google wrote in an academic paper [PDF] that evaluated the performance of Omega against other systems.

By handing off job scheduling and management to Omega and Borg, Google has figured out a way to get the best performance out of its data centers, but this comes with the cost of increased randomness at scale.

"What if the number of workers could be chosen automatically if additional resources were available, so that jobs could complete sooner?" Google wrote in the paper. "Our specialized [Omega] MapReduce scheduler does just this by opportunistically using idle cluster resources to speed up MapReduce jobs. It observes the overall resource utilization in the cluster, predicts the benefits of scaling up current and pending MapReduce jobs, and apportions some fraction of the unused resources across those jobs according to some policy."

This sort of fuzzy chaos represents the new normal for massive infrastructure systems. Just as with other scale-out technologies – such as Hadoop, NoSQL databases, and large machine-learning applications – Google is leading the way in coming up against these problems and having to deal with them.

First in the firing line

Omega matters because soon after Google runs into problems, they trickle down to Facebook, Twitter, eBay, Amazon, and others, and then into general businesses. Google's design approaches tend to crop up in subsequent systems, either through direct influence or independent development.

"You can get very unstable behavior. It's very strange – it behaves like biological systems from time to time"

Omega's predecessor also behaved strangely, Sam Schillace, VP of engineering at Box and former Googler, recalled.

"Borg had its sharp edges but was a very nice service," he told us. "You run a job in Borg at a certain priority level. There's a low band [where] anybody can use as much as they want," he explained, then said there's a production band which has a higher workload priority.

"Too much production band stuff will just fight with each other. You can get very unstable behavior. It's very strange – it behaves like biological systems from time to time," he says. "We'll probably wind up moving in some of those directions – as you get larger you need to get into it."

Though Omega is obscured from end users of Google's myriad services, the company does have plans to use some of its capabilities to deliver new types of cloud services, Magnusson confirmed. The company could use the system as the foundation of spot markets for virtual machines in its Compute Engine cloud, he said.

"Spot markets for VMs is a flavor of trying to adopt that," he said. "To adopt that moving forward [we might] use SLA bin packing. If you have some compute jobs that you don't really care exactly what is done – don't care about losing one percent of the results – that's a fundamentally different compute job. This translates into very different operational requirements and stacks."

Google wants to "move forward in a way so you can represent that to the developer," he said, without giving a date.

Omega's unpredictability is a strength for effectively portioning out workloads, and the chaos that resides within it comes less from its specific methodology, and perhaps more from the way that at scale, in all things, strange behaviors occur – a fact that is both encouraging, and in this hack's mind, humbling.

"When you have multiple constituencies attempting the same goal, you end up with unexpected behaviors," said JR Rivers, the chief of Cumulus Networks and a former Googler. "I would argue that [Omega's unpredictability is] neither the outcome of a large system nor specific to a monolithic stack, but rather the law of unintended consequences."

3 Big data security analytics techniques

More from The Register

next story
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Kingston DataTraveler MicroDuo: Turn your phone into a 72GB beast
USB-usiness in the front, micro-USB party in the back
Dropbox defends fantastically badly timed Condoleezza Rice appointment
'Nothing is going to change with Dr. Rice's appointment,' file sharer promises
BOFH: Oh DO tell us what you think. *CLICK*
$%%&amp Oh dear, we've been cut *CLICK* Well hello *CLICK* You're breaking up...
AMD's 'Seattle' 64-bit ARM server chips now sampling, set to launch in late 2014
But they won't appear in SeaMicro Fabric Compute Systems anytime soon
Amazon reveals its Google-killing 'R3' server instances
A mega-memory instance that never forgets
Cisco reps flog Whiptail's Invicta arrays against EMC and Pure
Storage reseller report reveals who's selling what
prev story

Whitepapers

SANS - Survey on application security programs
In this whitepaper learn about the state of application security programs and practices of 488 surveyed respondents, and discover how mature and effective these programs are.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Top three mobile application threats
Learn about three of the top mobile application security threats facing businesses today and recommendations on how to mitigate the risk.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.