Understanding IDS's Physical Architecture

IDS is officially known as INFORMIX Dynamic Server Version 7.30 at the time of this writing, but we'll refer to it in its various forms simply as IDS. After OnLine Version 5 of the server had been around for several years, Informix undertook a complete rewrite of the product, resulting in a short-lived Version 6 followed by a much more robust IDS version 7.X At the time, the database market was maturing quickly, and it became obvious to Informix's management that they needed to make several changes to the product in order to ensure its future.

They saw significant future growth in multiprocessor systems that were becoming more and more popular. The first type of multiprocessor system was the symmetric multiprocessor (SMP) model in which additional processors were added in parallel on an existing bus, sharing common resources such as disk drives. This was a relatively simple multiprocessor model that was a logical extension of the UNIX multiprocessing model on which earlier versions of Informix had run. OnLine had limited ability to use multiple processors, and Informix designed Versions 6 and 7 to make much better use of SMP resources.

This entailed several key concepts that are still being refined and changed to respond to hardware developments. The first key concept was parallelism, in which jobs such as sorts, queries, and index builds could be divided up into smaller jobs that could be assigned to other processors. As the processors finished their work, their results were combined with the results of other processing jobs into a final result set. Rather than having the entire task running sequentially with only one processor, this parallelism spread the work out over more of the SMP system's resources and took better advantage of the system's resources.

Closely related is the concept of multithreading, which is required to effectively implement parallelism. A thread is a defined series of computer instructions that is contained within one UNIX process. A single-threaded process is best illustrated by a non-threaded

UNIX process such as the sqlturbo process in OnLine. UNIX achieves its multiprocessing capability by allowing the operating system to manage these single-threaded processes. The operating system schedules and controls the operation of these processes, allowing them to run for a short period of time and then preempting the process and allowing the next scheduled process to run. Only one process runs at a time. A multithreaded process takes this paradigm a level deeper and allows the process itself to contain multiple threads that are controlled and scheduled by the process itself, much in the way that UNIX controls the operations of UNIX processes. It is sort of like forcing the processes to behave like mini operating systems.

One of the extensions to the parallel architecture stems from the relatively recent growth of massive parallel processor systems known as MPP systems. In these systems, often referred to as clusters individual compute nodes are stand-alone systems that include all of the resources they need to operate. Each node is connected to all other nodes. The nodes share only data and sometimes disk storage. Informix refers to this as a shared-nothing architecture, and it is the basic principle underlying Informix's premier multiprocessor option, officially known as INFORMIX Dynamic Server with Parallel Data Option. This product was originally known as Extended Parallel Server (XPS) and I'll refer to it as XPS from here on.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.178.133