EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB36646: What are the differences between Multithreaded and MultiProcess database connectivity modes?


Community Admin

• Strategy


Multi-threading refers to an application with multiple threads running within a single process. Multi-processing refers to an application organized across multiple OS-level processes:
 

ka04W000000OhRgQAK_0EM440000002JGl.jpeg

 
  
 

ka04W000000OhRgQAK_0EM440000002JGe.jpeg

 
Multi-threading in general refers to the ability to perform different tasks within a process simultaneously. This is achieved by using a separate thread for each task. Though there are several threads in a process, at a time the physical processor can handle only a single thread. Though it appears to be concurrent processing to the end user, due to the OS internally performing complex time management multitasking algorithms, only single thread will be running at any one point.
 
A thread is a stream of instructions within a process. Each thread has its own instruction pointer, set of registers and stack memory. The virtual address space is process specific, or common to all threads within a process. So, data on the heap can be readily accessed by all threads.
 
Multi-processing has the opposite benefits. Since processes are insulated from each other by the OS, an error in one process does not bring down the other another process. Contrast this with multi-threading, in which an error in one thread can bring down all the threads in the process. Further, individual processes may run as different users and have different permissions.
 
Multi-process mode is recommended for both the metadata and warehouse databases. From observations across multiple environments, multi-process has proven more stable. For more details refer to the following Strategy Knowledge Base technical note for more details:
KB8932: What is the recommended setting for the ODBC Database Driver Mode in Strategy Intelligence Server? 
By default, all metadata connections are in multi-process mode. This can be checked if the connections are using multi-threaded or multi-process mode of connectivity to the metadata through the registry. Refer to the following Strategy Knowledge Base technical note on specific instructions regarding this process:
KB6727: How to determine the ODBC Driver Execution Mode a 3-tier mode Strategy Project is using to connect to the project metadata in Strategy Intelligence Server
For 2-tier project sources, this option is exposed in the project source itself – right click on project source > Modify Project Source > Advanced > ODBC Driver Execution Mode as seen in screenshot below:

ka04W000000OhRgQAK_0EM440000002JGf.jpeg

 
 


Comment

0 comments

Details

Knowledge Article

Published:

May 18, 2017

Last Updated:

May 18, 2017