1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Autonomously Finding Performance Regressions In The Linux Kernel

Michael Larabel

Published on 22 October 2009
Written by Michael Larabel
Page 1 of 2 - 44 Comments

Last weekend a few Phoronix benchmarks were underway of the Linux 2.6.32-rc5 kernel when a very significant performance regression was spotted. This regression caused the PostgreSQL server to run at about 18% of the performance found in earlier kernel releases. Long story short, in tracking down this performance regression we have finally devised a way to autonomously locate performance regressions within the Linux kernel and potentially any Git-based project for that matter. Here are a few details.

For some background information on the test that led to this work, the PostgreSQL performance under the Linux 2.6.32-rc1 through the Linux 2.6.32-rc5 (and still in Git master) is in shambles when compared to earlier kernels (tested Linux 2.6.30 and 2.6.31 for comparison). This regression was found using the same kernel configuration with the default options on a clean Ubuntu 9.10 installation. To ensure this wasn't an isolated incident, first this regression was confirmed on an entirely different system -- a dual AMD Opteron system compared to an Intel Atom "nettop" system.

Normally these benchmarks would end up being published on Phoronix as-is and left up to other interested users or developers to track down the problem due to our limited resources and most of this work being done by a lone individual. With the Phoronix Test Suite maturing though, a realization was made. For months it has been a goal to essentially build a Phoronix Test Suite module that would layer our performance profiling / benchmarking software directly atop Git and its git-bisect command. With the Phoronix Test Suite 2.2 "Bardu" work -- and the motivation to track down this significant drop in disk performance -- this was now quite possible with just a few hundred lines of code to create the module that ties the components together.

To cut to the chase, to be introduced with Phoronix Test Suite 2.2 Beta 1 next week will be this module that leverages the Phoronix Test Suite and Git together to create one powerful testing pair. The bisect module in the Phoronix Test Suite makes it possible to track down the triggering chance for any type of regression that can be tested by the Phoronix Test Suite. With the extensible Phoronix Test Suite architecture, you can write a test profile for just about any part of the system, if the included 110+ tests and 40+ test suites do not cover a problem that's encountered.

All that this PTS module needs to know is the starting and end points that return a different state, an accessible repository (Git, currently) to be tested, a Phoronix Test Suit result file that illustrates a performance regression, and an external build script to be written that automatically builds and installs the said code. With that information, the Phoronix Test Suite and the bisect module are able to autonomously locate the performance regression. Right now only Git is supported, but we are working on support for other source code management systems as well. There's even an experimental version of our bisect module that even automates the reboot process and recovery of the Phoronix Test Suite upon reboot.

Latest Articles & Reviews
  1. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  2. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  3. The New Place Where Linux Code Is Constantly Being Benchmarked
  4. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  5. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  6. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
Latest Linux News
  1. Debian 8.0 Jessie RC2 Installer Released
  2. Shadow Warrior Is Being Released For Linux Next Week
  3. Intel Pushes A Bunch Of Broadwell Code Into Coreboot
  4. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  5. GHC 7.10.1 Brings New Compiler Features
  6. Git 2.4.0-rc0 Does A Ton Of Polishing
  7. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
  8. Mesa Is At Nearly 1,500 Commits This Year
  9. Gestures & Other GTK3 Features For LibreOffice
  10. It's Now Easier To Try PHP 7 On Fedora & RHEL
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. Allwinner Continues Jerking Around The Open-Source Community
  5. Systemd Change Allows For Stateless Systems With Tmpfs
  6. GNOME Shell & Mutter 3.16.0 Released
  7. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  8. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver
%%CLICK_URL_UNESC%%