Managers have to be cognizant of the personalities in play on their work teams. They aim for a mix of complementary characters to maximize team depth and minimize friction and conflict. When building a virtualized server environment, network architects and administrators face the same challenge teaming up applications on a single server.
“It’s almost like you’ve got a horoscope chart, where different Zodiac signs like to go together,” says Andrew Hillier, co-founder and CTO of data centre analytics company Cirba.
The Richmond Hill, Ont.-based company has been in the data centre analysis business since 1999. Now, the 55-person staff – about half of them engineers – focuses on virtualization. The company launched Version 4.4. of its Data Center Intelligence software, with increased integration with VMware’s Virtual Infrastructure. The November release of 4.5 was full Unicode, responding to international demand.
DCI brings together configuration information, business attributes and utilization data of servers, representing them as a three-dimensional cube and finding opportunities to optimize their use through virtualization or consolidation. That’s more than a question of slapping applications together on a physical server.
“They all have different affinities for each other, they all normalize differently to each other,” Hillier says. Hence, the need to know your workload personalities — the traits processes have.
The four big factors
“The whole trick about virtualization is to efficiently utilize the various resources,” says Scott Elliott, senior systems network specialist with Christie Digital Systems Inc. and leader of the Southwest Ontario VMware User Group. There are four main categories to consider – CPU, memory and network and disk I/O.
“At a very generic level, you have to watch out for those four big boys,” Elliott says.
“If you have a footprint that’s very high in one or more of those areas, putting another application that has a similar type of footprint could cause contention if you don’t map out or provision out your hardware correctly,” Elliott says.
Hillier says there are a finite number of archetypes or personalities. Data warehousing, for example, is largely read activity throughout the day, with bursts of write activity and moderate CPU strain. An online transaction processing (OLTP) app, on the other hand, has balanced read and write, with network activity mirroring the I/O.
The upside of similarity
But there’s also a school of thought that says familiarity doesn’t breed contempt: Similar virtual machines can make more efficient use of some resources, says Burton Group analyst Chris Wolfe.
“One of the issues that comes into play is sometimes you have separation of security zones on physical systems,” Wolfe says. “Security separation may trump any type of performance load-balancing issues that you’re trying to achieve.”
There is an upside to running similar VMs. “It’s not just necessarily trying to make sure you don’t have any overlapping performance spikes when you consolidate, but the other benefit that you really get from like applications in the planning analysis is consistency of a memory footprint,” Wolfe says. “You might actually wind up being able to run more VMs on a given physical host due to a consistency either with the applications or the host operating system. There would be a high degree of redundancy in the read-only memory pages the applications would need as well as their like operating systems.”
Memory mapping does give an efficiency advantage, says Elliott. “If they’re consistently accessing a spot in memory that is the same thing … if you have two Windows applications and they’re always hitting the same DLL again and again and again, you can get some memory savings if that DLL’s just loaded once and you just have pointers to it,” he says.
Diversity versus uniformity
Hillier says the optimal balance is diversity of workload and consistency of configuration. “If you put the same kinds of things on the box from a config perspective, it’s more efficient,” he says, rather than running Linux, NT and Windows 2003 on the same box. It’s easier from an admin perspective, too.
“The workload, though, you do want to have diversity. So you have CPU-intensive with I/O-intensive so no one thing is exhausting resources.” Put 10 CPU-intensive apps on one box, and you’ll run out of CPU resources before anything else.
“Peaky” workloads work well together — if they’re filling in each other’s gaps. You’re playing the odds that performance spikes won’t collide. And applications that have a consistent draw on resources also complement each other. Two or three applications running constantly at 20 per cent CPU usage will work efficiently, says Hillier. Throw in a couple peaky apps, though, and you risk blowing the lid off the box.
VM freezes also have to be taken into account. If you have a critical app that needs freezing, it makes sense to freeze the entire physical box, Hillier says. “If you have a VM running a critical app that’s frozen, say a credit card processing application that you don’t want changed … you probably don’t want to change the other VMs on that box, because they share memory and it can actually cause problems if VMs are changing relative to each other,” he says.
Elliott warns against the temptation to virtualize everything in sight. “When a company’s first embarking on virtualization, if you have applications that are very specialized, that consume an enormous amount of CPU or have high disk I/O, chances are those aren’t the first boxes that you want to tackle,” he says. The best chance of success lies with the very generic machines — virtualize those to free up hardware budget for the specialty applications.
“It is not a one-size-fits-all, off-to-the-races-we-go (situation). You still have to make intelligent decisions about what you want to virtualize.”
At Christie, Elliott runs about 50 virtual servers. “Low-hanging fruit servers would be your print server, within your application, or your intranet server where you have maybe 400 people that could potentially hit it. Active directory servers for the most part are pretty low-use,” Elliott says. Radius servers are also good candidates, as are lighter transaction-based apps.
Cirba’s next DCI release, in conjunction with IBM, will focus on mainframe analysis, taking workloads from data centre environments and simulating how they would run. mainframe. Mainframes are more sensitive to personality conflicts, Hillier says.
“Mainframes are very good at running certain workload personalities, and there’s not much advantage to running other types. For example, a CPU-intensive app you probably wouldn’t put on your mainframe. But an OLTP-type workload would probably work very well on a mainframe.”