<?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: Databricks Execution Context scheduling in Administration &amp; Architecture</title>
    <link>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129748#M3963</link>
    <description>&lt;P&gt;My question is if the number of execution contexts is more than the cores available in the driver of the cluster, then how does Databricks schedules the execution since one execution context will require at least one core to run on. Is it round-robin or something else. To make things simple let's assume no spark code is getting executed so there won't be any offloading to workers.&lt;/P&gt;</description>
    <pubDate>Tue, 26 Aug 2025 06:52:33 GMT</pubDate>
    <dc:creator>tariq</dc:creator>
    <dc:date>2025-08-26T06:52:33Z</dc:date>
    <item>
      <title>Databricks Execution Context scheduling</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129730#M3961</link>
      <description>Databricks allows a cluster to have a maximum of 150 execution context. If a number of execution context is attached and running operations on a databricks cluster with a driver and n workers, then how is the execution scheduled? I am assuming that only the driver cores can actually run the main execution context with any spark job being offloaded to workers. How does the scheduling for different execution contexts work? &lt;A href="https://kb.databricks.com/notebooks/too-many-execution-contexts-are-open-right-now" target="_blank"&gt;https://kb.databricks.com/notebooks/too-many-execution-contexts-are-open-right-now&lt;/A&gt;</description>
      <pubDate>Tue, 26 Aug 2025 04:58:10 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129730#M3961</guid>
      <dc:creator>tariq</dc:creator>
      <dc:date>2025-08-26T04:58:10Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Execution Context scheduling</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129747#M3962</link>
      <description>&lt;P&gt;I am not sure what your question exactly is.&lt;BR /&gt;The limit of 150 execution contexts is per cluster.&amp;nbsp; If you schedule that many spark programs you can easily avoid this limit by using job clusters.&lt;/P&gt;&lt;P&gt;Can you explain a bit more what you want to know?&lt;BR /&gt;f.e. the innards of the databricks resource scheduler in case 2 spark programs run at the same time, or how spark distributes work or ...?&lt;/P&gt;</description>
      <pubDate>Tue, 26 Aug 2025 06:42:52 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129747#M3962</guid>
      <dc:creator>-werners-</dc:creator>
      <dc:date>2025-08-26T06:42:52Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Execution Context scheduling</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129748#M3963</link>
      <description>&lt;P&gt;My question is if the number of execution contexts is more than the cores available in the driver of the cluster, then how does Databricks schedules the execution since one execution context will require at least one core to run on. Is it round-robin or something else. To make things simple let's assume no spark code is getting executed so there won't be any offloading to workers.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Aug 2025 06:52:33 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129748#M3963</guid>
      <dc:creator>tariq</dc:creator>
      <dc:date>2025-08-26T06:52:33Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Execution Context scheduling</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129756#M3964</link>
      <description>&lt;P&gt;Ok i get it.&lt;BR /&gt;An execution context is not bound to cpu.&amp;nbsp; It is like a session.&amp;nbsp; So basically the limit of 150 execution contexts mean that 150 sessions/spark programs can run simultaneously on the cluster (whether that is possible on the hardware is another question).&lt;BR /&gt;Knowing that, your question is in fact:&lt;BR /&gt;&lt;EM&gt;if the number of &lt;STRONG&gt;spark tasks&lt;/STRONG&gt; is more than the cores available in the driver...&lt;/EM&gt;&lt;BR /&gt;First: the driver does only orchestration, it does not run spark tasks (it does run native python code though, and if you call collect() etc).&amp;nbsp; The workers execute tasks.&lt;BR /&gt;If there are more tasks than there are cpus available over all workers, then either extra nodes are created (if you use autoscale), or the tasks wait until resources become available.&lt;BR /&gt;This happens a lot actually, especially on tables with lots of partitions (which often exceed the number of cores).&lt;BR /&gt;Spark can handle this without any issue.&lt;BR /&gt;Timeouts can occur however.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Aug 2025 07:35:30 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-execution-context-scheduling/m-p/129756#M3964</guid>
      <dc:creator>-werners-</dc:creator>
      <dc:date>2025-08-26T07:35:30Z</dc:date>
    </item>
  </channel>
</rss>

