Monday, June 6, 2011

gcc performance - getting better all of the time

There's quite a bit going on in the world of Linux on Power, where teams have been focused on improvements for gcc performance. Lately, a series of articles have been published on DeveloperWorks which nicely highlight the performance gains that gcc (packaged in the Advance Toolchain) provides over the gcc packaged with the Linux operating system.

Two articles are available which dive into performance gains across a number of workloads embedded in the SPECcpu2006 suite. The approach is simple. Use gcc as bundled with the version and release of the operating system, measure the performance. Then install the Advance Toolchain (a couple of rpms), change the path to gcc, re-build, re-run, and compare the performance.
Naturally, your mileage will vary.

(this is a re-post of an entry from a new "Think Power Linux" community being developed under IBM's DeveloperWorks realm)

Friday, November 19, 2010

SC10 - supercomputing conference

Just got back from Supercomputing 2010 (SC10) in New Orleans.

The annual conference provides a good perspective of the progress of "super computers", across universities, researchers, and industry. In recent years, the implementation of supercomputing has been slowly evolving towards a mix of compute core technologies, emerging more strongly along the lines of heterogeneous computing.

There was of course too much to see and participate in each day. The two areas where I spent most of my time was in catching up on the progress of GPUs (and the variants) and noticing the surprising emerging focus on HPC clouds. I'll post more on those two areas in the coming days.

There was quite a bit of discussion around Exascale computing. Naturally, with so many researchers at the conference, there were numerous perspectives on what that even meant. Exaflops? 1000 times faster? bigger? number of cores/GPUs? Power consumption, etc etc. If nothing else, more good fodder for research and areas of discussions. Which is one of the reasons everyone gets together. So all good. Clearly though, there's a lot of very serious challenges coming down the road for the vision of super-computers 8-10 years out.

As usual, the latest Top 500 list was announced at the conference. The announcement was interesting given a pervasive feeling across the conference that measuring supercomputers with a small and relatively trivial program like Linpack was clearly outdated. It was funny how often researchers and speakers would voice annoyance or frustration at the continuing featured aspect of Linpack. I suspect this is not a new sentiment, but I was struck by the number of specific references at this conference.

A while back, HPC Challenge (as a suite of benchmarks) was created to provide a more comprehensive measurement of the many aspects of a super computer. It also provides a number of awards on the varying aspects of super-computing, essentially awarding gold, silver, and bronze awards in each category. I may not have been paying well enough, but I didn't get the impression that HPC Challenge was a focus across the conference.

At the conference a new "Top 500" benchmark suite was launched. The new suite, graph500, was introduced and the first listed results at graph500.org. This new benchmark suite is intended to focus on areas of data intensive computing, another critical aspect of supercomputing. Indeed, it's often the amount of data being processed, consumed, and in many cases transformed into visualization which represents one of several awe-inspiring sides of supercomputing. In fact, this is the killer side of HPC cloud computing - getting data to and from the compute resources in the cloud.

Anyway, came back with over 50 papers from the Proceedings and over 30 Tutorials. Plenty to dig through, discuss, and get more insights. Will work to post more thoughts as interesting pieces are uncovered.

Friday, November 12, 2010

So really, does the Advance Toolchain help performance?


We're often asked whether - and by how much - the Advance Toolchain actually helps performance for applications running on the various distros (RHEL and SLES) on POWER systems.

The Advance Toolchain of course is a set of updated rpms which provide an updated gcc compiler, processor-tuned libraries, and a number of more current tools over what is standard in the distro itself. Check out one of the README files available for more details.

The ability to easily flip to a newer "toolchain" for POWER7 systems has been particularly helpful for many applications. An article was recently completed which demonstrates the relative performance gains when leveraging the latest Advance Toolchain (version 3.0-1) from the University of Illinois over the gcc which comes packaged with each distro release.

The article "Advance Toolchain performance improvements" provides the details and graphs of component-by-component breakdowns of engineering runs of SPECcpu2006® for integer and floating point workloads. The relative performance gains and losses are graphed which provides a quick view of the possibilities of using these libraries and newer gcc.

One of the key highlights is that the graphs very nicely demonstrate the repeating performance perspective of "Well, it depends...". Not all workloads will benefit from the libraries, but many do!

Indeed, a key advantage of the Advance Toolchain is the continuing focus, updates, optimizations, and fixes which provides users with the latest technologies in a form which can be serviced and supported by IBM.


SPEC® and the benchmark names SPECint® and SPECfp® are registered trademarks of the Standard Performance Evaluation Corporation.

Tuesday, June 15, 2010

IBM and the Jeopardy Challenge

Check out this youtube video. Nice introduction on having a super-computer competing in series of example Jeopardy game shows.

This is just one of numerous fun and still seriously challenging projects being worked these days. The IBM Research teams are amazing. They have found some very interesting performance challenges. The project drives advanced technologies, product improvements, system improvements, performance tool improvements, but most of the work is in the realm of demonstrating complex natural language processing in a time-constrained answer and question world.

Friday, May 21, 2010

Busy time for 2.6.32 kernel on Power7

As things move forward with the launches of IBM's POWER7 systems this year, there's a flurry of activities on many fronts. In particular, we've been pretty busy with the 2.6.32 kernel in many places. Red Hat has a new RHEL Version 6 in beta, the BlueBioU project of course is using 2.6.32, and Novell has announced the latest service pack for SLES 11 which is based on 2.6.32.

Red Hat's RHEL 6 is already in beta (from last month):

* http://press.redhat.com/2010/04/21/red-hat-enterprise-linux-6-beta-available-today-for-public-download/

Novell just announced their latest service pack for SLES 11 which among other things upgrades the kernel to 2.6.32:

* http://www.novell.com/promo/suse/sle11sp1.html

A key proof point at BlueBioU continues to be worked on collaboratively across many teams. Being based on the 2.6.32 enables the easy availability of a number of latest Linux technologies.

* http://bluebiou.rice.edu/

For some example performance FAQs emerging with the work on the 2.6.32 kernel base, check out:

* http://www.ibm.com/developerworks/wikis/display/LinuxP/Performance+FAQs

To check on current questions being posed see the Linux on Power architecture forum at:

* http://www.ibm.com/developerworks/forums/forum.jspa?forumID=375

Some recent questions address the holes in CPU numbering on POWER7 when SMT=2 or SMT=1 is used, how to control the DSCR settings with the ppc64_cpu command, various tools questions, how to dynamically control the SMT settings on a system, page sizes on Linux, etc. Some of the questions are driving functional updates to the commands or approaches in development, so asking a leading question there is always a good thing.

Wednesday, April 7, 2010

open-source - patents - and what about performance?

Interesting debates arise around us every day. The latest "patent pledge" excitement on the web is interesting to watch. I tried to dig through and read the details of the various lists of patents, but the eyes glaze and I have to wonder who's pulling who's chain.

With some mild interest, I saw the Linux Foundation blog post this evening re-iterating the pledge from 2005 - quoting a statement from Dan Frye.

Now, I probably don't really count as an unbiased observer, working directly in Dan Frye's organization, but I will observe that in our day-to-day interactions with Linux and customers, our focus is promoting open-source solutions every day. Some of us even take some quiet personal delight in catching up and passing classic IBM proprietary solutions, but our real focus is getting customers up, running, and happy.

Admit'ably, my world is focused primarily on helping customers tune and improve the mostly open-source based deployments of fairly complex applications on Linux on POWER systems. In day to day work, I've been most impressed with the varied partners (both open-source and proprietary) that we implicitly and explicitly work with. The dedication to making things "just work" and "then work nicely" strikes me as the path that customers expect us to embrace.

The process of open-source and improving performance is usually a challenging process. We've got lists of cool performance things I'd love to see implemented. The gate to getting these pieces implemented is not the patents, it's the process of getting consensus and convincing the "community" to adopt something that'll work smoothly across the platforms. Once you have that, we've enabled our customers to have the pieces they need to implement, tune, understand, and optimize their applications and software stacks. And all in all, it's reassuring to see the calm reassurance of IBM's commitments and continued "work nice" community approach being reinforced. It's why many of us greatly prefer working in the Linux space.

Now, back to ganglia and CPU utilization. Something's not quite right there. More on that next week.

Wednesday, March 24, 2010

Busy month for Linux - NCSA picks Linux for Blue Waters

Along the lines of interesting - but not particularly surprising - trends in the industry, we notice that the NCSA has recently endorsed the continuing evolution of HPC workloads towards a Linux base.

Check out the NCSA article titled: "Linux selected as operating system for Blue Waters".

This is particularly encouraging for not only the operating system and in our case the POWER7 platform, but also for the various software stack products that are being developed, improved, enhanced, and deployed in high-demand HPC environments across many industries.

Massive HPC clusters on the scale of projects like Blue Waters are exciting just looking at all of the technologies being worked on. There's a nice Blue Waters project newsletter available which shows the breadth of activities happening around this project.

One of our real-life challenges is to improve the whole food-chain of software products which enable easier deployment of HPC applications on the Linux base and the POWER7 platform. Collaborative projects like the Blue BioU project can provide an expanding community of Linux HPC users access to open-source based POWER7 clusters.
One of many bloggers.

Bill Buros

Bill leads an IBM Linux performance team in Austin Tx (the only place really to live in Texas). The team is focused on IBM's Power offerings (old, new, and future) working with IBM's Linux Technology Center (the LTC). While the focus is primarily on Power systems, the team also analyzes and improves overall Linux performance for IBM's xSeries products (both Intel and AMD) , driving performance improvements which are both common for Linux and occasionally unique to the hardware offerings.

Performance analysis techniques, tools, and approaches are nicely common across Linux. Having worked for years in performance, there are still daily reminders of how much there is to learn in this space, so in many ways this blog is simply another vehicle in the continuing journey to becoming a more experienced "performance professional". One of several journeys in life.

The Usual Notice

The postings on this site are my own and don't necessarily represent IBM's positions, strategies, or opinions, try as I might to influence them.