{"id":4358,"date":"2024-03-28T21:01:20","date_gmt":"2024-03-28T21:01:20","guid":{"rendered":"https:\/\/quebit.com\/askquebit\/?p=4358"},"modified":"2026-01-20T15:46:11","modified_gmt":"2026-01-20T15:46:11","slug":"multiprocessing-to-improve-ti-process-performance","status":"publish","type":"post","link":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/","title":{"rendered":"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance?"},"content":{"rendered":"<p><strong>Multiprocessing to Improve TI Process Performance<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-4359\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture1-1.png\" alt=\"\" width=\"140\" height=\"136\" \/><\/p>\n<p>When processing large data sets, splitting a process into smaller parts, and running them simultaneously to leverage multiprocessing, can be a great way to reduce total process run time. This improvement is limited by the processing power and available threads of the Planning Analytics server. This technique is especially useful when working with very large data sets and models with complex calculations.<\/p>\n<p>&nbsp;<\/p>\n<p>For instance, assume a process exists that calculates customer profitability for 100 customers that has a total run time of an hour. If that process is split to run by individual customer, it could reduce the run time to only a few minutes. Before explaining how to transition this example process to be multi-processed, in this case, the process source should be assumed to be a cube view.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4360 aligncenter\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture2-1.png\" alt=\"\" width=\"237\" height=\"34\" \/><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4362 aligncenter\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture4-1.png\" alt=\"\" width=\"257\" height=\"64\" \/><\/p>\n<p>In this example, the first step is to reduce the scope of the process from running for all customers to only running for one customer at a time. To do this, a customer parameter should be added to define what customer to run the process for. In addition, the customer subset in the source view should be limited to only the parameterized customer. At this point, the process could be run to ensure it works correctly for one provided customer.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4364 aligncenter\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture6-1.png\" alt=\"\" width=\"486\" height=\"57\" srcset=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture6-1.png 486w, https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture6-1-300x35.png 300w\" sizes=\"auto, (max-width: 486px) 100vw, 486px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4365 aligncenter\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture7.png\" alt=\"\" width=\"453\" height=\"27\" srcset=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture7.png 453w, https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture7-300x18.png 300w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/p>\n<p>Next, a master process needs to be created to run the customer profitability process for each customer. The simplest way to do this is to create a process that uses the Customer dimension as the source; limited to the customers the process should run for. Then in the data tab, use the RunProcess function to run the customer profitability process passing the customer variable into the function. Now running the master process will start the customer profitability process for all customers that will run in the background simultaneously.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4367\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture9.png\" alt=\"\" width=\"624\" height=\"66\" srcset=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture9.png 624w, https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture9-300x32.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4368\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture10.png\" alt=\"\" width=\"524\" height=\"47\" srcset=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture10.png 524w, https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture10-300x27.png 300w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/p>\n<p>Be wary when utilizing multiprocessing, as issues can arise when not utilized properly. For instance, if the master process is not set up correctly it can inadvertently run more processes than the Planning Analytics server can handle at once. This depends on the specifications of the Planning Analytics server and may require some trial and error to determine the best configuration to multi-process TI processes. Also, when using RunProcess, the administrator must be aware of all data required by and from the process. This is because processes run using RunProcess will not be aware of any uncommitted data changes made by any other running processes.<\/p>\n<p>When the master process is run, it will complete as soon as it is done starting all the individual subprocesses, and it will not wait for them to complete. This can be a detriment when recording process timing statistics or coordinating additional processes to run after process completion. There are ways to work around these issues, with one solution <a href=\"https:\/\/quebit.com\/askquebit\/using-files-for-ti-process-communication\/\">described here\u00a0<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Multiprocessing to Improve TI Process Performance When processing large data sets, splitting a process into smaller parts, and running them simultaneously to leverage multiprocessing, can be a great way to reduce total process run time. This improvement is limited by the processing power and available threads of the Planning Analytics server. This technique is especially&hellip;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[51,82,80],"class_list":["post-4358","post","type-post","status-publish","format-standard","hentry","category-ibm","tag-planning-analytics-how-tos","tag-ti","tag-turbo-integrator"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance? - QueBIT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance? - QueBIT\" \/>\n<meta property=\"og:description\" content=\"Multiprocessing to Improve TI Process Performance When processing large data sets, splitting a process into smaller parts, and running them simultaneously to leverage multiprocessing, can be a great way to reduce total process run time. This improvement is limited by the processing power and available threads of the Planning Analytics server. This technique is especially&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/\" \/>\n<meta property=\"og:site_name\" content=\"QueBIT\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-28T21:01:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-20T15:46:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture1-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"198\" \/>\n\t<meta property=\"og:image:height\" content=\"192\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jennifer Field\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jennifer Field\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/\"},\"author\":{\"name\":\"Jennifer Field\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/082a9c4156466b9cdad2632e3de62601\"},\"headline\":\"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance?\",\"datePublished\":\"2024-03-28T21:01:20+00:00\",\"dateModified\":\"2026-01-20T15:46:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/\"},\"wordCount\":480,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Picture1-1.png\",\"keywords\":[\"Planning Analytics How To's\",\"TI\",\"Turbo Integrator\"],\"articleSection\":[\"IBM\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/\",\"name\":\"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance? - QueBIT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Picture1-1.png\",\"datePublished\":\"2024-03-28T21:01:20+00:00\",\"dateModified\":\"2026-01-20T15:46:11+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/082a9c4156466b9cdad2632e3de62601\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/#primaryimage\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Picture1-1.png\",\"contentUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Picture1-1.png\",\"width\":198,\"height\":192},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/multiprocessing-to-improve-ti-process-performance\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#website\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/\",\"name\":\"QueBIT\",\"description\":\"QueBIT\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/082a9c4156466b9cdad2632e3de62601\",\"name\":\"Jennifer Field\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g\",\"caption\":\"Jennifer Field\"},\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/author\\\/quebit\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance? - QueBIT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/","og_locale":"en_US","og_type":"article","og_title":"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance? - QueBIT","og_description":"Multiprocessing to Improve TI Process Performance When processing large data sets, splitting a process into smaller parts, and running them simultaneously to leverage multiprocessing, can be a great way to reduce total process run time. This improvement is limited by the processing power and available threads of the Planning Analytics server. This technique is especially&hellip;","og_url":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/","og_site_name":"QueBIT","article_published_time":"2024-03-28T21:01:20+00:00","article_modified_time":"2026-01-20T15:46:11+00:00","og_image":[{"width":198,"height":192,"url":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture1-1.png","type":"image\/png"}],"author":"Jennifer Field","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jennifer Field","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/#article","isPartOf":{"@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/"},"author":{"name":"Jennifer Field","@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/082a9c4156466b9cdad2632e3de62601"},"headline":"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance?","datePublished":"2024-03-28T21:01:20+00:00","dateModified":"2026-01-20T15:46:11+00:00","mainEntityOfPage":{"@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/"},"wordCount":480,"commentCount":0,"image":{"@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture1-1.png","keywords":["Planning Analytics How To's","TI","Turbo Integrator"],"articleSection":["IBM"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/","url":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/","name":"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance? - QueBIT","isPartOf":{"@id":"https:\/\/quebit.com\/askquebit\/#website"},"primaryImageOfPage":{"@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/#primaryimage"},"image":{"@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture1-1.png","datePublished":"2024-03-28T21:01:20+00:00","dateModified":"2026-01-20T15:46:11+00:00","author":{"@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/082a9c4156466b9cdad2632e3de62601"},"breadcrumb":{"@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/#primaryimage","url":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture1-1.png","contentUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture1-1.png","width":198,"height":192},{"@type":"BreadcrumbList","@id":"https:\/\/quebit.com\/askquebit\/multiprocessing-to-improve-ti-process-performance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/quebit.com\/askquebit\/"},{"@type":"ListItem","position":2,"name":"How Do I Use Multiprocessing to Improve TurboIntegrator Process Performance?"}]},{"@type":"WebSite","@id":"https:\/\/quebit.com\/askquebit\/#website","url":"https:\/\/quebit.com\/askquebit\/","name":"QueBIT","description":"QueBIT","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/quebit.com\/askquebit\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/082a9c4156466b9cdad2632e3de62601","name":"Jennifer Field","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g","caption":"Jennifer Field"},"url":"https:\/\/quebit.com\/askquebit\/author\/quebit\/"}]}},"_links":{"self":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/4358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/comments?post=4358"}],"version-history":[{"count":4,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/4358\/revisions"}],"predecessor-version":[{"id":5061,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/4358\/revisions\/5061"}],"wp:attachment":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/media?parent=4358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/categories?post=4358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/tags?post=4358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}