Re: 5.0 and MultiProcessors
Posted in 1995
Greg asked: }From: KNBJ90A@prodigy.com (Gregory Moye) }Date: 22 Apr 1995 03:01:07 GMT }X-Informix-List-Id: <news.13278> } }I can't seem to get an answer I trust on this one: how do 5.x releases }of OnLine deal with MP's?? } }For example, if 4 people start a query on a four way MP, do all 4 }processors get busy concurrently on the 4 processes, *OR* does one }processor get busy with 1 process, while the other 3 processors and }processes wait (and round robin on a single processor at a time)?? }p.s. specifically, this is a Sun 690 with SunOS 4.1.2 and Informix 5.01 Matt said: }Nope! I'd already said to Greg in a private email: }[Probably Yes] Looking at the original question again, I think the 'Yes' answer is more correct -- Matt was addressing a different question, and if the question was 'Will a single statement make use of multiple processors in 5.0x', then his answer is correct, and the cited reason is correct. Although a single query will not make use of multiple processors on an MP machine, multiple users will each make use of the multiple processors, so that 4 separate users queries could be being handled simultaneously on the 4 CPUs by 4 separate sqlturbo processes. This is in contrast to (some old versions of) Sybase, for example, where a single database server process handles all queries for all users*. And if you under configured an OnLine-DSA (Online 6 or later) system with too few CPU VPs, you could get the same effect. But under 5.0x, you don't run into that problem -- each user process has its own sqlturbo which will be scheduled and executed independently of the others. You do need an MP-aware port of OnLine; there are extra synchronization issues on MP architectures which are not needed on uni-processors. Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> * I don't know about current Sybase implementations, but they may work differently on MP machines -- in fact, they probably do. I'm not bashing Sybase. }Date: Tue, 25 Apr 1995 07:34:05 +0800 }From: mws1@osi.com (Matt Silveira x257) }X-Informix-List-Id: <list.6085> } }With regard to Informix using Multi-Processors on Ver 5.x: } }Nope! } }If you have a "four way" CPU box it doesn't work the way your example }describes! In fact, because 5.x is single threaded it does not respond }well to multi-CPU systems and threaded O/Ses as would 7.x. } }Quote from "Informix OnLine Performance Tuning" by Elizabeth Suto: } }"In version 5.0 of OnLine, most of the work for one user is done within }one process, the sqlturbo process.... Even though the sqlturbo process }can migrate from once processor to another on a multiprocessor system, it }is only running on one processor at a time. This means that the UPDATE }statement for one user does not take advantage of multiple hardware }processors. In fact, an UPDATE statement running by itself on a machine }*will not run faster* one a multiprocessor machine than it will on a }single processor machine." } [...] }Date: Mon Apr 24 09:34:07 1995 }From: johnl (Jonathan Leffler) }To: KNBJ90A@prodigy.com }Subject: Re: 5.0 and MultiProcessors } }More likely the former than the latter, but it depends on the MP o/s }scheduling. There is a separate process (sqlturbo) for each of the }queries, so there is room for parallelism if the o/s scheduler lets it }happen. } }Yours, }Jonathan Leffler (johnl@informix.com) #include <disclaimer.h>