> For the complete documentation index, see [llms.txt](https://docs.burla.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.burla.dev/all-examples/basic-examples.md).

# Start Here: Core Patterns

Start here to get familiar with common patterns and workload shapes.

## How-to Guides

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Read/Write Files to Cloud Storage</strong></td><td>Use <code>/workspace/shared</code> to read and write files through Google Cloud Storage.</td><td><a href="/pages/CNGIQAEE0sjwlsBOlh6i">/pages/CNGIQAEE0sjwlsBOlh6i</a></td><td><a href="/files/Ci9Gbl4ktFnmyADGU5my">/files/Ci9Gbl4ktFnmyADGU5my</a></td></tr><tr><td><strong>Use custom Docker images &#x26; GPUs</strong></td><td>Run workers with custom images, native tools, CUDA dependencies, and GPU resources.</td><td><a href="/pages/zHEiCjMhsQM3WBSfJ0ZF">/pages/zHEiCjMhsQM3WBSfJ0ZF</a></td><td><a href="/files/4xiFZ89Ond22xNKiav2D">/files/4xiFZ89Ond22xNKiav2D</a></td></tr><tr><td><strong>Run jobs in the background</strong></td><td>Detach long jobs so they keep running if your laptop sleeps or disconnects.</td><td><a href="/pages/RLy6wSxEKHECBWXSMcWV">/pages/RLy6wSxEKHECBWXSMcWV</a></td><td><a href="/files/WF408GhYxjdyVQ10WKr5">/files/WF408GhYxjdyVQ10WKr5</a></td></tr><tr><td><strong>Limit parallelism for APIs or databases</strong></td><td>Keep Burla jobs inside external service limits with chunking and <code>max_parallelism</code>.</td><td><a href="/pages/SPqDdjGkLO0blVL2yebV">/pages/SPqDdjGkLO0blVL2yebV</a></td><td><a href="/files/uLTvxnmTGqhSiCjViB0K">/files/uLTvxnmTGqhSiCjViB0K</a></td></tr><tr><td><strong>Combine many results/files into one</strong></td><td>Use a simple map-reduce pattern to merge parallel outputs into one final result.</td><td><a href="/pages/DIcvryLiL53PpphUhdkb">/pages/DIcvryLiL53PpphUhdkb</a></td><td><a href="/files/bHnQePe1Mp5Uf5KYpm62">/files/bHnQePe1Mp5Uf5KYpm62</a></td></tr><tr><td><strong>Decide how to split your work</strong></td><td>Choose the right input unit before scaling a job across many workers.</td><td><a href="/pages/OsDFXXVCGjiSGwzrCntu">/pages/OsDFXXVCGjiSGwzrCntu</a></td><td><a href="/files/b44LGlPO33wziAd79TLR">/files/b44LGlPO33wziAd79TLR</a></td></tr></tbody></table>

## Basic Examples

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Process thousands of files</strong></td><td>Run one function call per file, write one compact report per file, and reduce the reports.</td><td><a href="/pages/cvLcAH9yVZnWWz1C9e20">/pages/cvLcAH9yVZnWWz1C9e20</a></td><td><a href="/files/b5tGvMFgi9ewkHiJwsuk">/files/b5tGvMFgi9ewkHiJwsuk</a></td></tr><tr><td><strong>Process one giant file</strong></td><td>Stream one large JSONL file into chunks, process each chunk, and combine chunk reports.</td><td><a href="/pages/W7iEQNe19Vxn20GF5oFi">/pages/W7iEQNe19Vxn20GF5oFi</a></td><td><a href="/files/aGpK3srJe4Nb6EUP3ugK">/files/aGpK3srJe4Nb6EUP3ugK</a></td></tr><tr><td><strong>Process database rows</strong></td><td>Split indexed rows into ID ranges, process each range, and cap live database connections.</td><td><a href="/pages/7YOoPb78TT0GJLwpQgWp">/pages/7YOoPb78TT0GJLwpQgWp</a></td><td><a href="/files/mwhqr20zXP70IKshhWP7">/files/mwhqr20zXP70IKshhWP7</a></td></tr></tbody></table>
