The Server Room Blog

16 Posts tagged with the benchmark tag
1 2 Previous Next
0

Demos on Demand

Posted by dstickse Aug 26, 2008

IDF SF08-Demos are an excellent tool for getting your message across. At IDF we demonstrated Demos on Demand which allows the message to get out without having to take the equipment to the location. Demos on Demand allow our customers, Fellow Travelers and corporate decision makers the opportunity to view our demos at any time from their location. Please view the IDF presentation below and come visit us at Demos on Demand.

0 Comments Permalink
0

Back at IDF for Day 2 and still wrapping up some exciting news coming out yesterday. I met with Robert Zuber (IBM WW Marketing Manager)and Mike Moreno (Intel) and we talked about how IBM and the DB2 team, along with XEON 7400-series processors achieved this milestone of the Industry's First 1M+ TPC-C result. Here's a video with Robert and Mike in the Technology Showcase.

Check out the official Transaction Processing Council Site for details on the system configuration and full results.

0 Comments Permalink
2

Big news today at IDF SF08...Intel Exective VP, Pat Gelsinger delivered his keynote address here in San Francisco, Moscone Center. Innovation is always a big topic at IDF and today is no exception. Intel announced today new world record performance for the XEON 7400-series processor, code-named "Dunnington". And just what are these world records you ask? Watch the video for stunning results from Fujitsu Siemens (SPECint), SUN (SPECjbb, Dell (TPC-E), HP (4S TPC-C, SQL Server) and IBM with an Industry First 1.2 Million TPC-C result on Intel Architecture. Enjoy the video!

2 Comments Permalink
8

Today, I met with Tim Denney (a summer intern here at Intel) who is working for our performance analysis team. Tim told me that he had built a tool allowing intel employees to compare performance of certain SPEC published benchmarks (www.spec.org) across a variety of processors.

Tim demonstrated this analysis tool that searches all the integer and floating point publications on www.spec.org across a range of architectures (Intel, AMD, UltraSPARC, Power). You can input different processors and then the tool returns the published results available and a simple graphical display of the best published results for the processors chosen.

After meeting with Tim, I thought about the numerous "Ask an Expert" questions I’ve received on OpenPort in the last 6-9 months where people have asked me where and how they can compare performance across a variety of processors (dual core to quad core, different speeds, 1S to 2S to 4S, etc).

In took me about a nano-second to realize that your input would be really helpful in developing an improved user interface. So here is your chance. I encourage you to try this performance comparison tool and respond back with your ideas on how we can improve the tool and user interface. I can’t guarantee that we can implement every suggestion, however, I do guarantee that we will listen.

So … How would you like your benchmark?

8 Comments Permalink
0

Here's the 5th follow-up post in my 10 Habits of Great Server Performance Tuners series. This one focuses on the fifth habit: Know Your Workload.

http://communities.intel.com/openport/servlet/JiveServlet/downloadImage/1481/IMG_3749-x200-noexif.jpg
Spend some time getting to know your workload.


The idea of a "workload" is integral to the concept of performance. The workload is the set of software and tests that you run on the server in order to measure its performance. Also part of the workload is the is concept of the "metric", which means, the number you will use to quantify performance. You should understand as much as you can about your workload in order to characterize and interpret your system's execution.

Let's look at the real-life example of a car's fuel economy. The EPA measures fuel economy using 2 workloads: city and highway. Each workload tests different aspects of the car's performance, and the metric used to quantify that performance is miles per gallon (MPG). Like the EPA's fuel economy test, a good workload for server performance tuning should have the following three characteristics:

  • Measurable - There is a quantifiable metric.
  • Reproducible - Measurements are repeatable and consistent.
  • Representative - The workload should be typical of normal operating conditions and should stress the parts of the system (including code) where performance is most critical.

Depending on the usage model for the server(s) you are tuning, some example appropriate workloads might be: loading websites , processing XML, encoding/decoding MP3s, responding to database queries, rendering frames, etc. Metrics could be time to run, number of users serviced, transactions processed per second, etc. If your metric is time, take special care that you are measuring it accurately.

After choosing or creating a suitable workload, spend some time getting to know it. Measure the variance between runs. Use O/S and processor-level tools (to be discussed in the blog for habit #8) to sample the workload's characteristics at various points during its execution.

One thing to remember about sampling is that you want to make your sample interval at least as long as the amount of time it takes to complete a unit of work in your workload. For example, suppose your workload is a stream of web page requests and you are measuring response time. If the longest response time you see is about 2 seconds, then you want to make sure you take samples over 2 seconds in length. It's best to use a multiple of your longest operation time, so 4 or 6 seconds in this case. This way you can be sure your samples include one complete operation in the workload. Then try to determine if the workload is stable - meaning, do the characteristics vary at different times during execution? (If so, you will need to sample more often to understand the workload or possibly split it into phases). Use the data to get an idea of your workload's CPU, memory, network, and I/O usage.

At the application level, become familiar with the software stack you will use. How is the workload generated (user, clients, test files, etc)? Understand the major operations that occur - what components of the O/S are needed? What device drivers are used? And finally, study the application(s). Know whether the application(s) being tested are single- or multi-threaded and as much as you can about the internals.

Choosing (or developing) an appropriate workload is necessary for correct performance measurement and tuning. Being as familiar as you can with the workload will help you to interpret your performance data and identify areas for optimization.

Keep watching The Server Room for information on the other 5 habits in the coming weeks.

0 Comments Permalink
0

Last week, the first part this video series focused on the energy efficiency benefits of 45nm. The 2nd part of this video (below) is focused on the benefits of 45nm for virtualization and the intel processor roadmap including what's next in 45nm processor technology - the Dunnington and Nehalem-EP products

Is this information useful to you? why or why not?

Chris

0 Comments Permalink
0

Quad-Core ROI Calculator

Posted by C_Peters Jun 9, 2008

Using some data from our own IT group, we developed a simple ROI calculator. This tool provides an estimate of performance and IT cost savings of refreshing older servers with new ones. Below is a screen shot of the calculator that is now available on our new server tools section of the Server Room. Give it a try and let us know if these assessment tools are helpful?

ROI estimator.JPG

0 Comments Permalink
1

Big Servers are Back!

Posted by bryceolson May 28, 2008

One trend that is really starting to take shape in the server industry is that big servers are back! That doesn't mean big servers ever disappeared off the map. Historically bigger servers with 4 or more processor sockets have been 7-8% of the server market from a volume perspective. And bigger servers have always been used for scalable, data-demanding enterprise applications which IT values for it's performance, headroom and reliability. What we're seeing now is a greater shift in popularity towards these servers as IT invests more and more in this direction.

So, why is that? Well, check out this video and then let me know if you agree or disagree. After you watch it I'd also be curious to learn more about what you value as the most important buying criteria when you go big.

1 Comments Permalink
1


Here's the 4th follow-up post in my 10 Habits of Great Server Performance Tuners series. This one focuses on the fourth habit: Know Your BIOS.

http://communities.intel.com/openport/servlet/JiveServlet/downloadImage/1357/IMG_2318-noExif.jpg

My last blog talked about beginning your system tuning by consulting a block diagram. The other thing you should always look at is your system's BIOS. Many server BIOSes these days allow you to configure options that affect performance. Like everything in the performance world, which set of BIOS options will be best will depend on your workload!

First things first, how do you find this "BIOS"? Most servers have a menu called "Setup" (or something similar) that you can access while the system is booting, before it starts loading the operating system. This "Setup" menu allows you to access your system's BIOS. Changes that you make here will affect how the operating system can utilize your hardware, and in some cases how the hardware works. If you change something here, you usually have to reboot and then the change will "stick" through all future reboots (until you change it again). As platforms grow increasingly sophisticated, they are offering a widening array of user-configurable options in Setup. So a good practice is to examine all the menu options available whenever you get a new platform. Here are some of the most common options on Intel platforms that could affect performance:

  • Power Management - Intel's power management technology is designed to deliver lower power at idle and better performance/watt (+without significantly lowering overall performance+) in most circumstances. There are 2 types - P-States, which attempt to manage power while the processor is active, and C-States which work while the processor is idle. In some BIOSes, both of these features are combined into one option which you should enable. In other cases they are separated. If they are separate, here's what to look for:
    • Intel EIST (or "Enhanced Intel Speedstep" or "Intel Speedstep" or "GV3" on older platforms) - This is the P-State power management that works while the processor is active. Leave it enabled unless directed to change it by an Intel representative.
    • Intel C-States - If you have this option or something similar, it is referring to the power management used when the processor is idle. Enable all C-States unless directed by an Intel representative.
  • Hardware Prefetch or Adjacent Sector Prefetch - These options try to lower overall latencies in your platform by bringing data into the caches from memory before it is needed (so the application does not have to wait for the data to be read). In many situations the prefetchers increase performance, but there are some cases where they may not. If you don't have time to test these options, then go with the default. Intel tests the prefetch options on a variety of server workloads with each new processor and makes a recommendation to our platform partners on how they should be set. If, however, you are tuning and you have the time to experiment, try measuring performance using each of the prefetch setting combinations.

There are several other options that might affect performance on specific platforms. Some examples might be a snoop filter enable/disable switch, a setting to emphasize either bandwidth or latency for memory transactions, or a setting to enable or disable multi-threading. In these cases, if you don't have time to test, use your Intel or OEM representative's suggestion or go with the default setting.

Being familiar with how your system's BIOS is configured is another basic component of system tuning.

Keep watching The Server Room for information on the other 6 habits in the coming weeks.

1 Comments Permalink
4


Today, Intel launched 50W low power versions of the 45nm Quad-Core Xeon processors (the L5400 series).
The 2 new SKUs are listed below:

Quad-Core Xeon L5420 2.50 GHz, 12MB L2, 1333MHz
Quad-Core Xeon L5410 2.33 GHz, 12MB L2, 1333MHz

These products offer IT and business users 2 primary benefits:

  • 45nm 50W quad-core brings 25% improved performance over previous generation 65nm 50W quad-core processors
  • They also run 30W cooler than mainstream 80W quad-core processors delivering the same performance at the same frequency.

We have seen strong interest for these 50W quad-core products and I'd like to hear from you on where you would use low power quad-core and why?

4 Comments Permalink
1


As a follow-up to my first post on the 10 Habits of Great Server Performance Tuners, this post focuses on the first habit: Ask the Right Question.

http://communities.intel.com/openport/servlet/JiveServlet/downloadImage/1207/Greg_Questioning_100by100_no_exif.JPG
6 years of performance work have taught me to start all my projects with this habit. Before I explain the kinds of questions I ask, let me demonstrate why this is important. Here are some example undesirable outcomes of performance tuning:


  • You spend months of experimentation trying to match a level of performance you saw reported in a case study on the internet, only to find out later that it used un-released software you can't get yet.
  • You spend months optimizing your server for raw performance. As part of your optimization you fully load it with the best available memory and adapters. Then you find out that your management/users would have been happier with a lower level of performance but a less costly system.
  • Your team works hard to maximize the performance of your application server for the current number of users you have, but makes decisions that will result in bottlenecks and re-designs when the number of users increases.

The outcome we are all hoping for with our tuning projects is that we provide the best level of performance possible within the budgetary, time, and TCO constraints we have. And of course, without sacrificing any other critical needs we'll have for our server, either now or in the future. Since performance optimization can take a lot of time and resources, consider the following questions before embarking on a project:

  • Why are you tuning your platform? (This helps you decide the amount of resources to dedicate.)
    • As part of this question, consider this one: How will the needs and usage models for this server change over the course of its life?
  • What level of performance are you hoping to achieve?
  • Are your expectations appropriate for the software and server system you are using?
    • In determining if your expectations are appropriate, refer to benchmarking results or case studies where appropriate and make sure any comparisons you make are apples to apples!
    • A corollary to this question is: is the server being used appropriate for the application being run?
  • What qualities of your platform are you trying to optimize: raw performance, cost/performance, energy efficiency (performance/watt), or something else?
  • Is performance your top priority for the system, or is scalability, extendibility, or something else a higher goal?

Thinking about the answers to these questions can help you navigate the trade-offs and tough decisions that are sure to pop up, and will help make your tuning project successful.

Keep watching The Server Room for information on the other 9 habits in the coming weeks.

1 Comments 2 References Permalink
2

I have been working as a full-time performance engineer at Intel for 6 years. I started by benchmarking server products for performance validation and now I focus on the TPC-C and TPC-E OLTP server benchmarks. I have used a variety of workloads in this job and spent time optimizing each level of the performance hierarchy: application, system, and processor. I, like many of you, have learned the "tricks of the trade" the hard way: by trial, error, and success. I'm sharing now, so you can all benefit from the things I've picked up along the way.

Let's start with some general methodologies to follow when tuning performance, whether you do it full-time, as a hobby, or just in your spare cycles after getting your "regular work" done. I will follow up with a more detailed post on each habit individually.


1. Ask the right question: Why are you tuning your platform? What level of performance are you hoping to achieve? What do you (or your users) care most about: raw performance, cost/performance, performance/watt, or something else?

2. Start at the top: The first and easiest part of your application server to tune is the hardware itself. Move on to the software and workload only after you feel confident that you have removed any system-level bottlenecks.

3. Know your Platform: This should be where you begin your system (hardware) tuning. The first thing, which I can't stress enough, is to get a block diagram of your platform. Then study it!

4. Know your BIOS: Server BIOSes these days come with more and more options. Be sure to give your new platform's BIOS a once-over. Pay particular attention to options relating to performance and power.

5. Know your Workload: To quantify performance, you need a workload! Some examples: web server response time, boot time, frames rendered per second, simultaneous connections supported, etc. Understand as much as possible about how the work gets done.

6. Try one thing at a time: Little changes that seem harmless can significantly alter the behavior of your system. Or worse, they can interact with each other to wreak havoc. Always try one change at a time, and for goodness' sake, do habit number 7.

7. Document and Archive: When you change something, log it! For each experiment you do, store your hardware and software configuration, performance level, and any collected data.

8. Use the right tool for the job: There are free data collection tools out there for various levels of the tuning process. System tuning tools include such as Performance Monitor for Windows or Sar for Linux. Application-level tools include Intel ® VTuneTM for both Windows and Linux.

9. Don't break the law: Amdahl's Law, that is. Amdahl's Law tells us the maximum amount of performance improvement we will get from a particular enhancement. Amdahl can help you set your expectations properly and clue you in to when you should be suspicious.

10. Compare apples to apples: Todd Christ reminds us of this habit in the last paragraph of this post. Don't compare the performance of mis-matched systems. If you must do it, know exactly what the differences are: the processor, memory type/speed/vendor, a software component, chipset, etc. Dig into the configuration details!

So now you have the high-level list! Stay tuned to The Server Room for more information about each habit in the coming weeks.

2 Comments Permalink
2

Take a look at the chart below ... it's telling you something... isn't it?
It's more than performance numbers and marketing, it's data... REAL data!
But what does it mean - and ultimately - how can you relate to it?

http://www.intel.com/performance/server/i/xeon_ppw1.jpg

If you're really into high-powered computing, you're probably quite familiar with common benchmark data. With every new CPU release, there are tons of new statistics, models, and ways to test the increased performance of the newer technology device - in this case, the 45nm based CPUs just recently launched this month. But what exactly does all this data amount to? Reading benchmarks is more than just seeing a bar chart - there's a science to digging into the data...

First, lets take a step back for some of you who may not fully understand what benchmarking is for. Benchmarks help to provide a common ground for comparing the performance of various systems across different CPU/system architectures. A common set of instructions (or programs) are setup to run within a regulated guideline to ensure the testing is performed equally across the competing platforms or architectures. Very much like in sports, if you have two different runners - they run the same path - i.e. the 100 yard dash. This creates the comparative benchmark.

So let's get back to the latest hot stuff - the Intel Xeon 5400 Series and Core 2 Extreme QX9650 Quad Core based processors. In the past 18 months, computing models have taken a giant leap forward by adding more CPU's per socket thereby increasing the thread density of your platform. In dual socket systems, you used to have two threads you now have four or even eight! And in quad socket systems the count can go up to 16! You're increasing your capacity to perform computational data by a factor of 3 or 4 depending on the platform. This has made a tremendous change in how benchmarks have had to be setup to run and we have to evaluate the testing methods to ensure we're maximizing the computability of each platform.

There are a few key steps to take before you consider benchmarking your system:

  1. identify your problem area (processing power, network bandwidth, memory utilization, etc)
  2. identify your competing products
  3. evaluate the 'leaders' in your problem area
  4. survey for available benchmarking tools
  5. evaluate 'best practices' for testing (e.g. lower idle power based processors won't really help much if you're only doing high-end computing)
  6. and then - implement your findings in your chosen architecture(s)

In the high-end server space you usually see more vendor specific data rather than end-user testing. Primarily because of the finite set of data that server administrators are looking for. Many of these 'industry standards' are monitored for efficiency and ensure the end-user that the testing was properly performed and the results are repeatable:

Industry Standard Benchmarks

Intel uses many of these standards for benchmarking - as you can see here in the Xeon 5000 Series based Processors Benchmark Page

Even if you're a server admin, you most likely interact with clients for day to day performance as well. If you search the web for CPU benchmarks the most commonly viewed benchmarks are performed on the client side of computing, mainly because of a few factors:

  1. clients are usually cheaper and more abundant to test with
  2. visuals in client computing are usually more fun to watch than seeing SQL data fly across the screen (hey - just being honest here!)
  3. and servers in general are built for more specific reasons, whether it's application, storage, modeling or other specialties

Many of you have probably heard of benchmark sites such as: Anandtech, Toms Hardware, FiringSquad, HardOCP and many others (respond with your favorites please!) Each of these sites use common tools/applications to benchmark the latest and greatest hardware against each other. Depending on what you're looking to do with your hardware really determines what/how you want to benchmark your system (or look for data reviews for your configuration). After all, a machine that can run the latest games at over 60 frames per second may not be the best SQL server for your datacenter - right?

If you're looking for quick 'brute force' computational tools to try your hand at CPU benchmarking, try something simple like BOINC, Super PI, or you can get more elaborate by using some methods as described by C-Net by using Cinebench, or SiSoftware Sandra. Once you've figured out some of the basics - and can repeat these simpler tests - you can jump into those Industry Standards and get into some serious work!

So in closing, there are so many variables to account for when looking to validate the performance of a given system. Processor speeds, I/O subsystem configuration, memory latencies, network bandwidth, power utilization, etc... the permutations are nearly endless. So you have to be diligent in initially addressing your key problem(s), and attack the solution in benchmarking using the best known methods. Also, when reading benchmark information BE SURE to read the configurations of the systems in question - are they truly comparable? are the components running at spec level or overclocked? Are the speed differences negligible, or substantial in real-world evaluation? And finally, focus on what's important to you and your computing requirements - after all, you need to be sure you've picked the correct system for your needs.

2 Comments Permalink
0

As this is the first time posting here, here is a quick intro, I started out as a hardware designer for a UK computer company - back in the days when the PC was still a grey tin box with a 4.77MHz 8088 inside. I have been with Intel now for more years than I care to think about, with much of this time working with the OEMs and end-customers focused in the server market across EMEA.

As I trawl thru the press and listen to the industry analysts one topic that everyone is discussing is 'data centre efficiency' ( even elsewhere on this forum Intel IT Data Center Efficiency Initiative - Going Green, Data Center Efficiency ) but what's not real clear is what defines an efficient data centre - is it the efficiency of the servers, the cooling subsystems, the workload that can be handled in a given time or the operational processes that are in place to run the data centre ? And once you have decided what is considered 'efficient' how do you measure or quantify this efficiency.

Currently there are several approaches being considered by the industry to measure data centre efficiency, and I thought it would be worth spending some time looking at three elements that can affect DC efficiency - power, utilisation and process. Given the complexity of the topic I plan to take this in bite sized chunks ( rather than write a mass of text and lose the thread ). So, in this blog I will cover power and will come back to the topic in a subsequent posting to look to the other elements. If you think there are elements to DC efficiency that I am missing please feel free to chip in and provide your insights.

Power Efficiency - Measuring the ratio between the facilities load - cooling, power conversion etc vs. the IT load - compute/storage/infrastructure. Typically this approach focus's on the ratio of electrical power consumption of the various elements within the data centre. With the current focus on the 'environmental & green' aspects of data centres this seems to be the area where most of the attention on Data centre efficiency is focused.

If you look at the average Data Centre today its not just the compute infrastructure that consumes the Watts, power gets consumed by the cooling systems and air conditioners, voltage conversion & battery storage, lighting etc. All this contributes to the 'facilities load' - for many IT managers this does not hit their IT budget and they may not even see the power bill from the utility company so have no idea how much power is consumed by these key elements of their data centre. Current estimates indicate that upwards of 50% of the power that comes into the average data centre gets 'lost ' in the facilities load, more details here & here

There are several groups looking to quantify energy efficiency The Green Grid is working on metric called PUE ( Power Usage Effectiveness ) to measure the ratio of power consumed by the facilities load vs. the power available to the IT equipment in the data center - details in their white papers here. Also the Uptime Institute are doing something similar and various government institutions are getting interested as well and there's an extensive US govt white paper ( if you have a few hours spare to ingest its 150 pages) . In addition the European Union is working on a Data Centre Code of Conduct

The server OEMs are also working on a benchmark for measuring perf/watt ( http://www.spec.org/specpower/ ), these are great for measuring how good a server is on a test workload and how many transactions it can deliver for a given power input. With the increased focus on energy efficient performance this metric will become more and more important to the specifiers and purchasers of servers. With Intel's latest generation 45nm quad core Xeon processors we continue to drive up the performance a processor can achieve for a given Watt input, the challenge for the rest of the industry now is to lower the overall power consumption of the other elements within the server and to increase the throughput of the storage and I/O subsystems to complement the increase processor performance. But at the end of the day does a good perf/watt for a server indicate that a data centre is efficient ?

What's missing from this approach is that there is often no consideration made as to the utilisation of the servers within the data centre consequently it might be possible to achieve 'good' power efficiency numbers but have low server utilisation and hence not extracting the most workload out of the data centre. Here in EMEA we have initiated a Data Centre Efficiency Award to try and start to get a handle how best to identify DCs that are running best practices and delivering of power and utilisation efficiency.

I guess the question at the end of the day is do you consider that your Data Centre is efficient and how are you quantifying this efficiency ?

0 Comments Permalink
0


Watt do you care about more?
the Power Consumption of your servers (watts) or the Power Efficiency of your servers (performance / watt)
... or maybe you prefer the Performance per Watt per SqFt argument

http://communities.intel.com/openport/servlet/JiveServlet/downloadImage/1154/power+or+ppw.JPG

I have spent a lot of my time the last several years discussing this topic with IT professionals around the world - and there are a lot of varying opinions.

I believe that Performance per Watt is a better measure of overall value for the data center and server room.
The power consumed by a server is an important measure, but power only comparisons can be misleading.

Example: If server ‘A' consumes 50W less power than server ‘B', then it can save IT $79 per year per server in power and cooling costs (assumes $0.08 kW/hr power costs and cooling costs equal to power costs). Scale that $79 savings per server across a data center with thousands of servers and it can be a pretty impressive number.

However, if a server with 50W lower power delivers lower application performance ... is the power savings worth it? The answer of course depends ... but generally in my experience the answer is a resounding No.

Example: What if server A (the 50W lower power server) underperforms server B by 33% in performance. This means that you need to deploy more ‘A' Servers to get the same performance as ‘B' Servers. In fact, with a 33% performance advantage, you need only 3 ‘B' servers for every 4 ‘A' servers. The higher performance per Watt delivered by server B reduces acquisition costs, reduces power consumption (less servers) and minimizes space and eases manageability. This example is shown graphically above

What do you think? What power and performance metrics do you look at before purchasing servers
... Lower Power or Higher Performance per Watt?

0 Comments Permalink
1 2 Previous Next