<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bazel resource scheduling on Alwaldend</title><link>https://alwaldend.com/docs/users/simeonwarren/host_bot/openspec/specs/bazel-resource-scheduling/</link><description>Recent content in Bazel resource scheduling on Alwaldend</description><generator>Hugo</generator><language>en</language><atom:link href="https://alwaldend.com/docs/users/simeonwarren/host_bot/openspec/specs/bazel-resource-scheduling/index.xml" rel="self" type="application/rss+xml"/><item><title>bazel-resource-scheduling Specification</title><link>https://alwaldend.com/docs/users/simeonwarren/host_bot/openspec/specs/bazel-resource-scheduling/spec/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://alwaldend.com/docs/users/simeonwarren/host_bot/openspec/specs/bazel-resource-scheduling/spec/</guid><description>&lt;span id="bazel-resource-scheduling-specification"&gt;&lt;/span&gt;&lt;h2 id="purpose"&gt;Purpose&lt;a class="td-heading-self-link" href="#purpose" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Reduce resource contention from independent Bazel builds on host-bot through conservative per-invocation scheduling defaults.&lt;/p&gt;&#10;&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id="requirement-reduced-per-invocation-scheduling-defaults"&gt;Requirement: Reduced per-invocation scheduling defaults&lt;a class="td-heading-self-link" href="#requirement-reduced-per-invocation-scheduling-defaults" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The managed user Bazel configuration SHALL set four concurrent jobs and a local CPU scheduling budget of &lt;code&gt;HOST_CPUS*0.25&lt;/code&gt; for builds and tests. These defaults SHALL NOT be described as an aggregate host-wide resource cap.&lt;/p&gt;&#10;&lt;h4 id="scenario-build-or-test-reads-the-managed-defaults"&gt;Scenario: Build or test reads the managed defaults&lt;a class="td-heading-self-link" href="#scenario-build-or-test-reads-the-managed-defaults" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;WHEN&lt;/strong&gt; a new Bazel build or test invocation loads the managed user configuration without overriding its resource settings&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;THEN&lt;/strong&gt; it receives &lt;code&gt;--jobs=4&lt;/code&gt; and &lt;code&gt;--local_resources=cpu=HOST_CPUS*0.25&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="scenario-independent-workspaces-build-concurrently"&gt;Scenario: Independent workspaces build concurrently&lt;a class="td-heading-self-link" href="#scenario-independent-workspaces-build-concurrently" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;WHEN&lt;/strong&gt; separate Bazel servers build in multiple workspaces&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;THEN&lt;/strong&gt; each receives its own scheduling budget, without sharing an aggregate limit&lt;/li&gt;&#10;&lt;/ul&gt;</description></item></channel></rss>