amd dual-core / quad-core bug and SQL Server

The AMD multicore CPUs have an interesting feature: the timers of the cores are not synchronized. This is the so-called clock-drifting which can be accountable for a lot of unexpected phenomenons due to the fact that the cores have different times and processes using multiple cores can be badly surprised. During the last year I had the chance to collect a few of the tricks:

  • Negative round-trip time during ping (Windows 2003)
  • Excessive amount of events in SQL Server errorlog (W2K3, SQL 2K5)
  • find -mtime 0 won’t find the recently created files (Red Hat EL 3)

Given that this is a mostly-SQL blog, I’m going to detail the second one. You can see events like this in the errorlog:

Date 11/25/2008 9:57:47 AM
Log SQL Server (Current – 11/25/2008 12:49:00 PM)

Source Server

Message The time stamp counter of CPU on scheduler id 3 is not synchronized with other CPUs.

And you can see this quite frequently. Now AMD created a fix for the bug but its target audience is not the big tribe of the sysadmins but the desktops. Why do you need a quad-core for a desktop user? Exactly: for gaming. So the fix called AMD Dual-Core Optimizer Version 1.1.4 gives you a chance to minimize the clock drifting by enabling the Game Mode. I gave it a try and installed it onto the server. Unfortunately the issue didn’t disappear, but it dropped by 97% which is a pretty good result – at least for me.

The idea sounds a bit wacky: fix an enterprise production database server with a gamer hotfix, but:

  1. It does the job
  2. If the Spanish MSFT support team could afford it, then I could as well :)

One Comment

  1. Rollback » Blog Archive » AMD dual/quad core bug és SQL:

    […] (English version here) A több core-os AMD CPU-kba annak idején egy kiváló bug került: a core-ok órája nem volt rendesen összeszinkronizálva, és ez mindenféle érdekes dolgot eredményezhetett. 2008 számomra ezen bugok töredékének felfedezéséről (is) szólt. A következőket sikerült begyűjtenem: […]

Leave a comment