Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Shape the future of the Fabric Community! Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions. Take survey.

Reply
nascaline
Frequent Visitor

Will Power Bi / Query support multithreading in the future?

As captioned, buying a new PC, wonder if I need a higher core count CPU for future updates. Many Thanks

2 ACCEPTED SOLUTIONS
lbendlin
Super User
Super User

Power BI already uses multiple cores.  If you want to splurge, get more memory.

View solution in original post

v-shex-msft
Community Support
Community Support

HI @nascaline,

As lbendlin said, current power bi already enabled multiple threads feature. (e.g. parallel loading)

You can direct use these features if your device existed enough resources. For performance reasons, I'd like to suggest you use the 64-bit version instead 32-bit version. (notice: 32-bit version has 4G limit on memory resource usage)

BTW, you can also take a look at the following blog about tips and tricks to improve power bi performance:

Optimization guide for Power BI - Power BI | Microsoft Docs

Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

View solution in original post

10 REPLIES 10
Patho
Regular Visitor

How exactly are the processes distributed to the threads?

Is it that rendering is executed on one thread and e.g. queries on a separate thread?

That is my assumption. I have a huge report and when I change the page there after longer modeling I actually see only load on one core.

So if queries make up 90% of the performance usage and e.g. rendering only 10% you don't notice much of the multithreading.

I have an i5 11600 and 64GB RAM.
It doesn't run that well, especially after prolonged use it feels like an engine limitation.

You seem to be talking about the rendering of visuals. That's a different topic.  Familarize yourself with the Performance Analyzer and with DAX Studio.

No, sorry if I have been unclear.
The rendering as well as the query processes should only be an example.

I was just trying to give an example.

Power BI will consist of several program modules / processes. (I guess)

Because I see most of the loads only on one core, my assumption was that some processes need much more resources.

As an example process A needs much more resources and uses its thread to the maximum.

Process B on the other hand also has its own thread but does not use it as much and processes its computational tasks much faster.

Now my question was -> Is there e.g. a rendering process, a query process etc...?

So somehow it must be so, otherwise I would not see only load on one core/thread

This is now very theoretical and I also do not understand so much of multithreading.
My problem is that process A should actually be split on multiple threads.

I get over 400 pages in my report, even if I stop all visualizations/updates I have very long load times when building the report.
But I only see load on one thread.

Are there limits to how big PBi reports can be?
Currently it looks like my performance does not benefit from more cores but only single core performance.


PS: In Power BI service viewing works without problems. Actually, I thought that my DAX is quite okay -> If I stop all visuals... should that then still be relevant?


thank you for trying to help me

I get over 400 pages in my report, even if I stop all visualizations/updates I have very long load times when building the report.

While that is an absurdly high number, it has nothing to do with your issue.  Pages are not pre-rendered.  They will only be rendered when the report user explicityl looks at them.  The Performance Analyzer gives you all the details about that process .

 

The Query engine is actually two parts - the Formula engine which is single threaded, and the Storage engine which can be multithreaded.  Your design of the report visuals and measures will decide the eventual core usage

 

Keep in mind that a lot of this is academic as you have no control over the engine (or cores) in the Power BI Service.

 

Biggest takeaway - reduce the number of visuals on your pages, and make them render fast by inspecting and optimizing their queries.

TY!
So it has to be my DAX formulas (or my DAX inside the SSAS model) -> Because the Formula engine is single threaded.
Which would make sense looking at my problem.

Thank you, this helps me a lot


I need to ask you one more thing.

Why is it that my PBI Desktop loads everything pretty fast at the beginning but after some time it gets slower and slower -> Until I reopen the report.

How much space do you have dedicated for the caches?  Might be worth cleaning them out and checking if that makes a difference.

v-shex-msft
Community Support
Community Support

HI @nascaline,

As lbendlin said, current power bi already enabled multiple threads feature. (e.g. parallel loading)

You can direct use these features if your device existed enough resources. For performance reasons, I'd like to suggest you use the 64-bit version instead 32-bit version. (notice: 32-bit version has 4G limit on memory resource usage)

BTW, you can also take a look at the following blog about tips and tricks to improve power bi performance:

Optimization guide for Power BI - Power BI | Microsoft Docs

Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
lbendlin
Super User
Super User

Power BI already uses multiple cores.  If you want to splurge, get more memory.

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

Top Solution Authors