Re: MULTIPROCESSOR OPTION 7.13
Posted in 1996
Allen Jantzen <allenj@ndr.com> wrote in article <327fa20d.27552573@news.netline.net>... > The Informix DSA Administrators Guide, version 7.1, page 10-18 says > > "On some two-processor computers, you should only run one CPU virtual > processor because the overhead of synchronizing the two virtual > processors offsets the benefit of distributing the processing" > > Of course, using one CPU virtual processor means that the > MULTIPROCESSOR option should be set to zero, which means that > I am telling Informix that I don't have more than one processor > and am basically crippling my server software for parallelism/PDQ. > > So far, my tests have been fairly close either way. Can anyone provide > any further insight into this? > > I am using an HP J200 with 2 100 MHZ PA-RISC processors and > Informix DSA 7.13.UC1 Turning on the multiprocessor features of Informix incurs some additional overhead due to the requirements of coordinating the CPUs access to certain resources. With only two CPUs the "tribal wisdom" seems to be it's not worth it. I have heard different opinions however. Different Informix employees come down on both sides of the fence on this issue. One opinion I have heard is that if the system is being used ONLY as a database server, set the number of CPU VPs equal to the number of physical CPUs. If the system acts as more than a database server (e.g. it's also an application server for dumb terminals) the use one less CPU VP than the actual number of CPUs. On a dual CPU machine, this means configuring the engine as if the system has only one CPU. Even with a single CPU VP, you can take advantage of some query parallelism if your tables are fragmented. Setting PDQPRIORITY to 1 tells the optimizer to do parallel index and/or data scans when possible. With multiple CPUs, you may not always want to use PDQ. PDQ queries get prioritized lower than non-PDQ queries, which are assumed to be OLTP queries. If your system is heavily OLTP oriented, then the default PDQPRIORITY should probably be 0 (no PDQ) and queries which are true DSS queries should have a SET PDQPRIORITY statement. With PDQ turned off with multiple CPUs, several concurrent queries will still get spread across the CPUs. HTH Irwin Goldstein Objective Software Systems, Inc.