Parallelism and Muti-threading in Dynamics NAV

MisterCloudTech
Member Posts: 1
With regards to performance tuning of NAV, I have a couple of cases where we need to look deeper into how NAV utilizes the allocated system resources (CPU cores, RAM memory, hard drives). The scope is locally for the NAV processes, and not related to the SQL service.
Does anyone have in-depth information on how NAV processes and threads interact with an utilize system resources, and how the NAV service actually handle the use of parallelism, and how (why) we can optimize this?
This topic seems to be completely left out of all the NAV performance documents I have located, and there does not seem to be any official documentation of this.
Besides this, I got a specific inquery regarding support for multi-threading in NAV 2013 R2, and I cannot find any information on this topic.
A contact mentioned, that the support for multi-threading was not present in the initial release and only got introduced later with one of the CUs.
I have not found any information that support this statement, or even whether multi-threading has always been possible in Dynamics NAV - as long as the operating system, hardware and hypervisor provided the feature.
Any input, comments or references would be much appreciated
Thanks !
Does anyone have in-depth information on how NAV processes and threads interact with an utilize system resources, and how the NAV service actually handle the use of parallelism, and how (why) we can optimize this?
This topic seems to be completely left out of all the NAV performance documents I have located, and there does not seem to be any official documentation of this.
Besides this, I got a specific inquery regarding support for multi-threading in NAV 2013 R2, and I cannot find any information on this topic.
A contact mentioned, that the support for multi-threading was not present in the initial release and only got introduced later with one of the CUs.
I have not found any information that support this statement, or even whether multi-threading has always been possible in Dynamics NAV - as long as the operating system, hardware and hypervisor provided the feature.
Any input, comments or references would be much appreciated

Thanks !
0
Comments
-
From my experience it looks like the single user session is procesed at the NST on a single thread at any given time. There is no concurrency effects visible inside NAV, even asynchronous events (coming from external sources) are queued and raised when execution of some C/AL block finishes and the system is about to return controll to the user.
Internally NAV (the NST) might utilise concurrency, for sure it does it to execute in parallel code from different sessions, but when it comes to single user session it is hard to tell.
To be fair NAV processing paradigm looks very 'serial', all available commands are farily simple. I personally cannot really see which one could benefint from parallel execution -maybe with exception of sorting on large temp tables in memory..
My 0.01£
Slawek Guzek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-030
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions