Use of threads in databases
Posted in 1992
Topics: Performance & Tuning, Migration, Import/Export & Data Conversion
Repost for cross posting. Sorry! In this article, I use the term "thread" loosely, to stand for both library level threads and OS provided ones which have also been called light weight processes. I'd like to explore how different databases are planning to use the various thread models that are emerging. Some are provided by operating systems and some are provided as co-routine libraries on top of the operating system. Some database systems e.g., SYBASE use their CICS like threads mechanism within their servers. Typically the client processes are not multi-threaded. (I'd like to know counter examples). The following thread models are of primary interest, but I'd like to see discussions of any other model(s) that might be of interest to the DB community: - POSIX - SVR4 ES/MP - OSF/1 - SunOS 5.0 (Solaris 2.0 OS) - OSF DCE - Transarc ENCINA's BDE The starter issues are: - What are the thread models in use by databases and what are planned ones? - Will database products use threads provided by operating systems? - How will the DB community deal with the multiple incompatible interfaces? - If threads share memory extensively, high performance SMP's will impose a high cost of thread migration among the processors due to cache effects/ This processor affinity phenomenon has been observed in performance measurements of *multi-process* workloads on SMPs. - How are / will thread models be used on non-shared-memory MP machines - Problems related to using the thread model of choice with X/Open's XA interface. I apologize if this topic has been beaten to death already! If it has, please send me a pointer to where I can get the information. Posted as well as e-mail responses are welcome. Thanks, prabakar