CHAPTER 12 Managing System Resources

The JAVA_NAMESPACE_SIZE option of the SET OPTION command sets the maximum size (in bytes) of that part of the memory that is allocated to Java applications on a per database basis. Per database memory allocations include Java class definitions. As class definitions are effectively read-only, they are shared among connections. Consequently, their allocations come right out of the fixed cache, and this option sets a limit on the size of these allocations.

The process threading model

Adaptive Server IQ uses operating system kernel threads to improve performance. Threads can be found at the user level and at the kernel level. Lightweight processes are underlying threads of control that are supported by the kernel. The operating system decides which lightweight processes (LWPs) should run on which processor and when. It has no knowledge about what the user threads are or how many are active in each process.

The operating system kernel schedules LWPs onto CPU resources. It uses their scheduling classes and priorities. Each LWP is independently dispatched by the kernel, performs independent system calls, incurs independent page faults, and runs in parallel on a multiprocessor system.

Adaptive Server IQ Version 12 uses a simpler process threading model than previous versions. Instead of multiple processes for each CPU shuttling among users, there is now a single, highly threaded process that serves all Adaptive Server IQ users. Adaptive Server IQ assigns varying numbers of kernel threads to each user connection, based on the type of processing being done by that process, the total number of threads available, and the setting of various options.

The following figure shows kernel threads for various users as they are distributed across multiple CPUs.

439

Page 459
Image 459
Sybase 12.4.2 manual Process threading model, 439