Re: Weird one
Posted in 2008
Topics: Performance & Tuning, Storage & Space Management, Triggers, Constraints & Referential Integrity, Logging & Checkpoints, Migration, Import/Export & Data Conversion, Platform-Specific Issues
You lost me there Gumby.
Never heard of cpu's having stacks. I've heard of processes having
stacks and threaded processes actually have multiple stacks. Maybe you
can elaborate what you mean?
On Sep 25, 10:17 am, Ian Michael Gumby <im_gu...@hotmail.com> wrote:
> Just out of curiosity, and this may not be at issue...
>
> On a multi-core /smp Linux box, does each CPU have its own stack or does it share the same stack?
>
> If they share the same stack, how does one track to see if their are thread contention issues.
> Meaning if Thread A from the same process is on core 1, and Thread B from the same process is on core 2, what sort of contention occurs?
>
> If each CPU core has its own stack, is there load balancing among the stacks and would there be process migration between stacks?
>
> Ok, this is an OS question and not an Informix question per se.
>
> It would be interesting to see how solaris would handle this too.
>
>
>
>
>
> > From: mpru...@verizon.net
> > Subject: Re: Weird one
> > Date: Thu, 25 Sep 2008 05:07:28 +0000
> > To: informix-l...@iiug.org
>
> > Art Kagel wrote:
> > > <Cross posted to CDI & IDS Forum>
>
> > > OK, an oddity for you. I'm doing some performance and tuning testing
> > > using multiple copies of dbload.
>
> > > I'll tell you what I'm dealing with. Anyone with any idea as to why the
> > > engine is behaving as it is please pipe in.
>
> > > Platform: Linux 2.6.9-67.ELsmp, x86-32 with 2 single core 3.4GHZ
> > > processors, single disk spindle for IDS another for the OS
> > > IDS Vers: 10.00.UC8
>
> > > OK, so I'm getting reasonable timings running various numbers of load
> > > clients against the engine with 1, 2, 4, 6, & 8 CPU VPs truncating the
> > > table between runs.
>
> > > I notice in TOP that at some point in the run IO Wait goes way up and
> > > CPU consumption way down for 10-30 seconds then back to 'normal'. I
> > > figure, "Oh! Extends are being added." So after completing the set of
> > > timing runs I change the script to drop and recreate the table with an
> > > extent size sufficient for the loaded data in the initial load instead
> > > of the truncate and run the tests again expecting to see that the
> > > runtimes have decrease by 10-20 seconds per run. NO! the runtimes
> > > INCREASED by 16 to 64 seconds!
>
> > Also sounds to me like you might need additional page cleaners and maybe
> > adjust the triggers for firing them. IDS 11 might have non-blocking
> > checkpoint so LRU MIN/MAX can be pretty high. But that's not the case
> > with IDS10.
>
> > > Yes, I checked that there was indeed still a single extent the size of
> > > the initial extent size allocation after each load.
>
> > > Any ideas as to why this should be?
>
> > > --
> > > Art S. Kagel
> > > Oninit (www.oninit.com<http://www.oninit.com>)
> > > IIUG Board of Directors (a...@iiug.org <mailto:a...@iiug.org>)
>
> > > Disclaimer: Please keep in mind that my own opinions are my own opinions
> > > and do not reflect on my employer, Oninit, the IIUG, nor any other
> > > organization with which I am associated either explicitly or implicitly.
> > > Neither do those opinions reflect those of other individuals affiliated
> > > with any entity with which I am affiliated nor those of the entities
> > > themselves.
>
> > _______________________________________________
> > Informix-list mailing list
> > Informix-l...@iiug.org
> >http://www.iiug.org/mailman/listinfo/informix-list
>
> _________________________________________________________________
> Get more out of the Web. Learn 10 hidden secrets of Windows Live.http://windowslive.com/connect/post/jamiethomson.spaces.live.com-Blog...- Hide quoted text -
>
> - Show quoted text -
> From: pokeyman76@yahoo.com > Subject: Re: Weird one > Date: Fri, 26 Sep 2008 08:31:09 -0700 > To: informix-list@iiug.org > > You lost me there Gumby. > Never heard of cpu's having stacks. I've heard of processes having > stacks and threaded processes actually have multiple stacks. Maybe you > can elaborate what you mean? > Sorry. Went a bit short hand there.... First a caveat. We're getting in to some theories of operating systems and design. The concept of a stack is a generic programing pattern. The discussion we were having was specifically about a process stack in the OS. Assuming that we're talking about a general purpose OS that is based on time slices. The OS has stack(s). Threads do not have stacks. A stack is comprised of tasks and a thread is a lightweight task. An application can be comprised of one or more threads. In OS design, you could have a design that has a main stack and then multiple stacks, one per cpu core or per cpu. Or you could skip the main stack and just have stacks for each core/cpu. Or it could be a different design. (Virtual stacks) So as each time slice occurs, the top process on the stack gets executed by the cpu/core. After the time slice, the process is put back in the stack. Where in the stack will depend on the priority, process type, and other possibly other criteria. One of the questions I've asked in interviews is "What happens when two different threads from the same application attempt to run at the same time on different cpus?". Does that help with your confusion? _________________________________________________________________ Stay up to date on your PC, the Web, and your mobile phone with Windows Live. http://clk.atdmt.com/MRT/go/msnnkwxp1020093185mrt/direct/01/