<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Better Worker Node Core Utilisation in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38497#M26646</link>
    <description>&lt;P&gt;I haven't tried threadpool, but thanks for the suggestion. Before posting I had tried a multiprocessing Pool, but that didn't work (I'd hoped to use multiprocessing on each worker now, i.e., Spark to distribute to worker nodes, then multiprocessing to distribute to each core, but I couldn't get it to work -- I didn't think to try threadpool though).&lt;/P&gt;</description>
    <pubDate>Wed, 26 Jul 2023 12:53:40 GMT</pubDate>
    <dc:creator>DennisB</dc:creator>
    <dc:date>2023-07-26T12:53:40Z</dc:date>
    <item>
      <title>Better Worker Node Core Utilisation</title>
      <link>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38287#M26592</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;Hoping someone can help me with this problem. I have an embarrassingly parallel workload, which I'm parallelising over 4 worker nodes (of type Standard_F4, so 4 cores each). Each workload is single-threaded, so I believe that only one core is actually being utilised for each task. I'd like to ideally run 2+ tasks on each worker.&lt;/P&gt;&lt;P&gt;I've tried increasing the number of executors (having more than one per worker) by means of the following, but it doesn't seem to work.&lt;/P&gt;&lt;P&gt;&lt;FONT face="lucida sans unicode,lucida sans"&gt;&lt;SPAN&gt;spark.executor.cores 1&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;spark.executor.memory 2g&lt;BR /&gt;spark.executor.instances 16 // this is 4 workers * 4 cores = 16 executors&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I've also tried dynamic allocation of executors, per the answer to this Stack Overflow thread, but that's also not working:&amp;nbsp;&lt;A href="https://stackoverflow.com/questions/26168254/how-to-set-amount-of-spark-executors?rq=3" target="_blank"&gt;java - How to set amount of Spark executors? - Stack Overflow&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Any help would be much appreciated. I can furnish more details if required.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Jul 2023 11:47:42 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38287#M26592</guid>
      <dc:creator>DennisB</dc:creator>
      <dc:date>2023-07-24T11:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: Better Worker Node Core Utilisation</title>
      <link>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38307#M26602</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/85211"&gt;@DennisB&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Are you using threadpool to run workloads in parallel?&lt;/P&gt;&lt;P&gt;Also, I would suggest removing the three configs, you had mentioned. Now, if you create a 16 pool thread, then you would be seeing 16 runs happening on the executors front (16 cores being utilized).&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jul 2023 05:11:15 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38307#M26602</guid>
      <dc:creator>Tharun-Kumar</dc:creator>
      <dc:date>2023-07-25T05:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: Better Worker Node Core Utilisation</title>
      <link>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38312#M26606</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/85211"&gt;@DennisB&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;We haven't heard from you since the last response from &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/39403"&gt;@Tharun-Kumar&lt;/a&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;​, and I was checking back to see if her suggestions helped you.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Or else, If you have any solution, please share it with the community, as it can be helpful to others.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Also, Please don't forget to click on the "Select As Best" button whenever the information provided helps resolve your question.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jul 2023 05:59:31 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38312#M26606</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2023-07-25T05:59:31Z</dc:date>
    </item>
    <item>
      <title>Re: Better Worker Node Core Utilisation</title>
      <link>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38495#M26645</link>
      <description>&lt;P&gt;So I managed to get the 1-core-per-executor working successfully. The bit that wasn't working was&amp;nbsp;&lt;SPAN&gt;spark.executor.memory -- this was too high, but lowering it so that the sum of the executors memory was ~90% of the worker node's memory allowed it to work properly.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Jul 2023 12:51:24 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38495#M26645</guid>
      <dc:creator>DennisB</dc:creator>
      <dc:date>2023-07-26T12:51:24Z</dc:date>
    </item>
    <item>
      <title>Re: Better Worker Node Core Utilisation</title>
      <link>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38497#M26646</link>
      <description>&lt;P&gt;I haven't tried threadpool, but thanks for the suggestion. Before posting I had tried a multiprocessing Pool, but that didn't work (I'd hoped to use multiprocessing on each worker now, i.e., Spark to distribute to worker nodes, then multiprocessing to distribute to each core, but I couldn't get it to work -- I didn't think to try threadpool though).&lt;/P&gt;</description>
      <pubDate>Wed, 26 Jul 2023 12:53:40 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/better-worker-node-core-utilisation/m-p/38497#M26646</guid>
      <dc:creator>DennisB</dc:creator>
      <dc:date>2023-07-26T12:53:40Z</dc:date>
    </item>
  </channel>
</rss>

