Click

Saturday, September 15, 2007

Building a Better (Linux) GPU Benchmark

For those who follow our Linux reviews, we have made a lot of headway in the last two months. Our benchmarking has improved, our graph engine is top notch and we are working closely with all the major manufacturers to bring a definitive resource for Linux hardware to our readers. Today, we want to introduce everyone to our GPU Linux benchmarks and how we will run them in the future. This isn't a comparative analysis yet, but we won't keep you waiting long for that.The adherent flaw with any benchmark is that you, the reader, only receives a sampling of data - engineers and statisticians alike call this "data compression". When we sample data from a timedemo and format it into an average frames per second, we lose all sort of valuable data, such as what the lowest frames per second was, what the highest was, when the largest dip in FPS had occured, what the image looked like, and the list goes on. There have been a few attempts to convey more than just an average FPS in video benchmarks, most notably with FRAPS. FRAPS does not entirely address the issue of reproducibility and FRAPS runs on Windows only. Fortunately, we have been graced with some very talented programmers who worked with us to build a benchmarking utility similar to FRAPS (on Linux) that we may eventually port over to Windows as well. Consider this to be our experiment in advancing our benchmarking methods while using Linux as our guinea pig. Eventually, we anticipate releasing the benchmark complete with source to the public. Here is how our utility works, as explained by the lead developer, Wiktor Kopec.
"The program computes frames per second for an application that uses OpenGL or SDL. It also takes screenshots periodically, and creates an overlay to display the current FPS/time."This is accomplished by defining a custom SwapBuffers function. For executables that are linked to GL at compile time, the LD_PRELOAD environment variable is used to invoke the custom SwapBuffers function. For executables that use run-time linking - which seems to be the case for most games - a copy of the binary is made, and all references to libGL and the original glXSwapBuffers function are replaced by references to our library and the custom SwapBuffers function. A similar procedure is done for SDL. We can then do all calculations on the frame buffer or simply dump the frame at will."You can read more about SDL and OpenGL. SDL is a "newer" library bundled with most recent Linux games (Medal of Honor: AA, Unreal Tournament 2004). In many ways, SDL behaves very similarly to DirectX for Linux, but utilizes OpenGL for 3D acceleration.

Building a Better (Linux) GPU Benchmark

For those who follow our Linux reviews, we have made a lot of headway in the last two months. Our benchmarking has improved, our graph engine is top notch and we are working closely with all the major manufacturers to bring a definitive resource for Linux hardware to our readers. Today, we want to introduce everyone to our GPU Linux benchmarks and how we will run them in the future. This isn't a comparative analysis yet, but we won't keep you waiting long for that.The adherent flaw with any benchmark is that you, the reader, only receives a sampling of data - engineers and statisticians alike call this "data compression". When we sample data from a timedemo and format it into an average frames per second, we lose all sort of valuable data, such as what the lowest frames per second was, what the highest was, when the largest dip in FPS had occured, what the image looked like, and the list goes on. There have been a few attempts to convey more than just an average FPS in video benchmarks, most notably with FRAPS. FRAPS does not entirely address the issue of reproducibility and FRAPS runs on Windows only. Fortunately, we have been graced with some very talented programmers who worked with us to build a benchmarking utility similar to FRAPS (on Linux) that we may eventually port over to Windows as well. Consider this to be our experiment in advancing our benchmarking methods while using Linux as our guinea pig. Eventually, we anticipate releasing the benchmark complete with source to the public. Here is how our utility works, as explained by the lead developer, Wiktor Kopec.
"The program computes frames per second for an application that uses OpenGL or SDL. It also takes screenshots periodically, and creates an overlay to display the current FPS/time."This is accomplished by defining a custom SwapBuffers function. For executables that are linked to GL at compile time, the LD_PRELOAD environment variable is used to invoke the custom SwapBuffers function. For executables that use run-time linking - which seems to be the case for most games - a copy of the binary is made, and all references to libGL and the original glXSwapBuffers function are replaced by references to our library and the custom SwapBuffers function. A similar procedure is done for SDL. We can then do all calculations on the frame buffer or simply dump the frame at will."You can read more about SDL and OpenGL. SDL is a "newer" library bundled with most recent Linux games (Medal of Honor: AA, Unreal Tournament 2004). In many ways, SDL behaves very similarly to DirectX for Linux, but utilizes OpenGL for 3D acceleration.

Dell 2707WFP: Looking for the Middle Ground of Large LCDs

We've taken a look at several high-end 30" LCDs recently, like the HP LP3065 and the Dell 3007WFP. While these are undoubtedly nice monitors, many people have a few concerns with them. One of the major problems is that they require a dual-link DVI connection, so they essentially require a higher end graphics card than what many people have. Hooking them up to a notebook is also generally out of the question, with a few exceptions. They are also quite large, but with their 2560x1600 native resolution they still have a very fine pixel pitch. Some will think that's a good thing, while those who are more visually challenged [Ed: raises hand] might prefer a slightly lower native resolution.Furthermore, while nearly everyone will agree that running your LCD at its native resolution is the best solution, gaming on a 30" LCD at 2560x1600 requires some serious graphics horsepower. Then there's the lack of input options on the 30" LCDs; due to a lack of any scaler ICs that can handle the native resolution, the displays only support dual-link DVI connections (or single-link with a very limiting 1280x800 resolution, with a few caveats).This is not to say that 30" LCDs are bad; merely that they are not a solution that all find ideal. Enter the 27" LCD panel.There are definitely people that would like something slightly larger than a 24" LCD, but they don't want to deal with some of the aforementioned problems with 30" LCDs. These people basically have a few options. First, they could always look at some of the 1080p HDTV solutions, which are currently available in 32", 37", 42", and several larger sizes. If resolution isn't a concern, there are plenty of other HDTV solutions out there, but those are less than ideal for computer work. The other option, and the one we'll be looking at today, is to get something like Dell's 27" 2707WFP.


We've already looked at Dell's 2407WFP and 3007WFP, so we refer back to the earlier review for anyone interested in additional information about Dell's other LCDs, warranty, and support policies. Our primary focus here is going to be on how the 2707WFP compares to both the slightly larger and slightly smaller offerings on the market.One of the factors that many people are going to be interested in is the pixel pitch of the various LCD offerings. We've compiled a list of typical pixel pitch sizes for a variety of LCD panels and resolutions. Some people feel a smaller pixel pitch is always more desirable, and while that might be true for some uses, reading text on an extremely fine pixel pitch can at times be difficult for some of us. If you've used a 15" laptop with a 1920x1200 resolution, you will hopefully understand. We know plenty of other users that find the typical 17" LCDs are not comfortable to use at the native 1280x1024 resolution, which is why many people prefer 19" LCDs. (Modifying the DPI setting of Windows can help in some areas, but there are quirks to changing the DPI from the default 96dpi setting.

As you can see from the above table, the 27" LCDs currently boast the largest pixel pitch outside of HDTV offerings. However, the difference between a 15" or 19" pixel pitch and that of the 2707WFP is really quite small. If you're one of those that feel a slightly larger pixel pitch is preferable - for whatever reason - the 2707WFP doesn't disappoint. Dell has made some other changes relative to their other current LCD offerings, however, so let's take a closer look at this latest entrant into the crowded LCD market.

Low Power Server CPU Redux: Quad-Core Comes to Play

A couple months ago, we took a look at the low voltage (LV) server CPU market. At the time, we focused on four-way solutions using two dual-core processors, since those represent the largest slice of the server pie. Our conclusion was that while the power savings brought about by using low voltage CPUs were real, processor choice was only one part of the equation. AMD came out ahead overall in performance/watt, not because they were faster or because their CPUs used less power, but rather because their platform as a whole offered competitive performance while using less power.We discussed previously exactly what's involved in a low voltage part, but of course the picture is far bigger than just talking about power requirements. Take for example Intel's low-voltage Woodcrest parts; they are rated at 40W compared to the regular Woodcrest parts that are rated at 80W. The price premium for upgrading to a low-voltage part varies; in the case of AMD it's typically anywhere from $100 to $300 per CPU, while on the Intel side some low-voltage parts cost more, the same, or even less than the regular parts (i.e., the Xeon 5140 currently sells for about $450 while the low voltage Xeon 5148 only costs $400). Regardless of price, it's difficult to justify low-voltage processors in terms of power bill savings.An extra 40W of power in a device running 24/7 for an entire year works out to around $35 per year, so at the low-end of the equation you would need a minimum of three years to recoup the investment (at which point it's probably time to upgrade the server). Other factors are usually the driving consideration.Saving 40W per CPU socket may not save you money directly in terms of power bills, but generally speaking these chips are going into servers that sit in a datacenter. Air conditioning for the datacenter typically has costs directly related to the amount of power being consumed, so every 40W of power you can save could end up saving another 20W-40W of power in air conditioning requirements. That's still not even the primary concern for a lot of companies, though.Datacenters often run dozens or even hundreds of servers within a single large room, and the real problem is making sure that there's enough power available to run all of the equipment. The cost of building a datacenter is anything but cheap, and if you can pack more processing power into the same amount of space, that is where low-voltage parts can really become useful. Blade servers were specifically created to address this requirement, and if you can reduce the total power use of the servers by 20% that means some companies could choose to run 20% more servers.Of course, that doesn't mean that every company out there is interested in running a datacenter with hundreds of computers, so individually businesses need to look at what sort of server setup will best fit their needs. After determining that, then they need to look at low-voltage CPUs and decide whether or not they would actually be helpful. Assuming low-voltage parts are desired, the good news is that it's extremely easy to get them in most modern servers. Dell, HP, and other large server vendors usually include low-voltage parts as an easy upgrade for a small price premium. And that brings us to our low-voltage CPU update.Intel Quad G-SteppingIntel doesn't seem to sit still these days, pushing the power and performance envelope further and further. Recently, Intel announced two new G-stepping quad-core parts. The new parts run at the extreme ends of the power consumption spectrum. The first is a 2.0GHz 1333FSB part that runs at 50W while the second is a 3.0GHz 1333FSB part that runs at 120W. There are two main changes to the G-stepping parts, the first of which is power consumption: G-stepping introduces optimizations for idle state power. The second change involves enhancements to the Virtualization Extensions (VT), which mainly improve interrupt handling in the virtualization of Microsoft Windows 32-bit operating systems.Of course, we would be remiss if we didn't mention AMD's recently launched Barcelona processor here. AMD expects their new quad-core processor to run within the same power envelope as the previous dual-core Opterons, which means twice as many CPU cores potentially without increasing power requirements, resulting in a potential doubling of performance/watt on the socket level. Low-voltage (HE) Barcelona parts will still be available, but even the regular chips include many new enhancements to help with power requirements. We are doing our best to get some additional Barcelona servers in-house in order to test this aspect of the performance/power equation and we hope to follow up in the near future.One final item worth mentioning is that Intel's 45nm Harpertown refresh of Clovertown is due out in the very near future, which is one more item we can to look forward to testing. Unlike the desktop world, however, acquiring and testing server products often requires a lot more time and effort. Even with the appropriate hardware, the sort of benchmarks we run on servers can often take many hours just to complete a single test, and there are many parameters that can be tuned to improve performance. Since there aren't a lot of early adopters in the server market, though, we should be able to provide you with results before any of the IT departments out there are ready to upgrade. Now let's get on to the testing.