Hi Atle,
We are using Asianux 2.0 (RHEL 4 compatible, linux kernel 2.6.9)
MySQL is the latest one. 5.0.x
Thanks in advance,
Hiro
From: Atle Veka <[EMAIL PROTECTED]>
Subject: Re: MySQL and Hyperthreading
Date: Thu, 2 Mar 2006 10:12:09 -0800 (PST)
Message-ID: <[EMAIL PROTECTED]>
> Hi Hiro, we have noticed severe performance loss with HT enabled under
> FreeBSD but not with MySQL. However, we could be having problems with
> MySQL as well without knowing as we haven't done any testing as it is
> operating fine. What operating system are you running?
>
> We now disable HT on all servers wherever possible..
>
>
> Atle
> -
> Flying Crocodile Inc, Unix Systems Administrator
>
> On Thu, 2 Mar 2006, Hiro Yoshioka wrote:
>
> > Hi,
> >
> > We found a severe performance degradation when Hyperthreading is on
> > and thread_concurrency=20.
> >
> > We are using OSDL DBT-1 as the benchmark and got about 200 to 250
> > BT (bogotransactions per second) HT is OFF normal case but 30 to
> > 50 BT on HT is ON.
> >
> > innodb_thread_concurrency=20
> >
> > So we did profile (using oprofile tool) and got the following profiling
> > data. My impression is that mutex_spin_wait (and ut_delay) is
> > something wrong if HT is ON. (Spin-wait loop is too expensive if it is
> > hyperthreading.)
> >
> > I added the following code but it does not help it.
> >
> > $ diff -pu ut0ut.c.orig ut0ut.c
> > --- ut0ut.c.orig 2005-10-17 10:27:43.000000000 +0900
> > +++ ut0ut.c 2006-02-28 11:59:16.777840496 +0900
> > @@ -290,6 +290,13 @@ ut_delay(
> > j = 0;
> >
> > for (i = 0; i < delay * 50; i++) {
> > + /* When executing a spin-wait loop on the Hyper-Threading
> > + processor, the processor can suffer a severe performance
> > + penalty. The pause instruction provides a hint to the
> > + processor. Please refer IA-32 Intel Architecture
> > + Software Developers Manual, Vol 3. */
> > + __asm__ __volatile__(
> > + "pause; \n");
> > j += i;
> > }
> >
> > What do you think? Is there any hints?
> >
> > HT is OFF
> > CPU: P4 / Xeon, speed 2793.26 MHz (estimated)
> > Counted GLOBAL_POWER_EVENTS events (time during which processor is not
> > stopped) with a unit mask of 0x01 (mandatory)
> > count 100000
> > samples % image name app name symbol
> > name
> > 13159082 8.8445 libc-2.3.4.so libc-2.3.4.so memcpy
> > 12565549 8.4456 libpthread-2.3.4.so libpthread-2.3.4.so
> > pthread_mutex_trylock
> > 11387363 7.6537 mysqld mysqld
> > rec_get_offsets_func
> > 9631916 6.4738 libpthread-2.3.4.so libpthread-2.3.4.so
> > pthread_mutex_unlock
> > 8794484 5.9110 mysqld mysqld
> > btr_search_guess_on_hash
> > 4949248 3.3265 mysqld mysqld
> > row_search_for_mysql
> > 4022481 2.7036 mysqld mysqld ut_delay
> > 3754265 2.5233 mysqld mysqld
> > cmp_dtuple_rec_with_match
> > 2535190 1.7040 mysqld mysqld
> > row_sel_store_mysql_rec
> > 2520957 1.6944 mysqld mysqld
> > btr_cur_search_to_nth_level
> >
> > HT is ON
> > CPU: P4 / Xeon with 2 hyper-threads, speed 2793.26 MHz (estimated)
> > Counted GLOBAL_POWER_EVENTS events (time during which processor is not
> > stopped) with a unit mask of 0x01 (mandatory)
> > count 100000
> > samples % image name app name symbol
> > name
> > 53221317 21.4225 libpthread-2.3.4.so libpthread-2.3.4.so
> > pthread_mutex_lock
> > 25743323 10.3621 mysqld mysqld ut_delay
> > 12345146 4.9691 vmlinux vmlinux do_futex
> > 12066038 4.8568 mysqld mysqld
> > mutex_spin_wait
> > 10395391 4.1843 vmlinux vmlinux
> > LKST_ETYPE_PROCESS_SCHED_ENTER_HEADER_hook
> > 9247281 3.7222 libpthread-2.3.4.so libpthread-2.3.4.so
> > pthread_mutex_unlock
> > 7407229 2.9815 vmlinux vmlinux
> > futex_requeue
> > 5921454 2.3835 libpthread-2.3.4.so libpthread-2.3.4.so
> > pthread_mutex_trylock
> > 5484279 2.2075 vmlinux vmlinux
> > LKST_ETYPE_PROCESS_WAKEUP_HEADER_hook
> > 4846067 1.9506 vmlinux vmlinux
> > __switch_to
> >
> > Regards,
> > Hiro
> >
> >
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]