<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Communication on Arshad Siddiqui</title><link>https://arshadhs.github.io/tags/communication/</link><description>Recent content in Communication on Arshad Siddiqui</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://arshadhs.github.io/tags/communication/index.xml" rel="self" type="application/rss+xml"/><item><title>Communication-Aware Distributed ML</title><link>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/m2-distributed-ml-algorithms/050-communication-aware-distributed-ml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/m2-distributed-ml-algorithms/050-communication-aware-distributed-ml/</guid><description>&lt;h1 id="communication-aware-distributed-ml">
 Communication-Aware Distributed ML
 
 &lt;a class="anchor" href="#communication-aware-distributed-ml">#&lt;/a>
 
&lt;/h1>
&lt;p>Distributed machine learning is effective only when saved computation exceeds the cost of moving data and synchronising workers. Algorithm design must therefore account for message size, message frequency, barriers, and parameter placement.&lt;/p>
&lt;p>Course coverage:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Communication overhead&lt;/strong>, illustrated through distributed k-means&lt;/li>
&lt;li>&lt;strong>Model parallelism&lt;/strong> when parameters do not fit or compute must be divided&lt;/li>
&lt;li>&lt;strong>Distributed k-nearest neighbours:&lt;/strong> partitioning, indexing, and approximate search&lt;/li>
&lt;li>&lt;strong>Gradient descent, SGD, and mini-batch optimisation&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Synchronous versus asynchronous updates&lt;/strong>&lt;/li>
&lt;/ol>
&lt;h2 id="learning-objectives">
 Learning Objectives
 
 &lt;a class="anchor" href="#learning-objectives">#&lt;/a>
 
&lt;/h2>
&lt;p>By the end of this page, you should be able to:&lt;/p></description></item><item><title>ML Platforms and Frameworks</title><link>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/m3-scale-out-systems/080-ml-platforms-and-frameworks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/m3-scale-out-systems/080-ml-platforms-and-frameworks/</guid><description>&lt;h1 id="ml-platforms-and-frameworks">
 ML Platforms and Frameworks
 
 &lt;a class="anchor" href="#ml-platforms-and-frameworks">#&lt;/a>
 
&lt;/h1>
&lt;p>Training at scale requires more than dividing data between GPUs. A platform must decide &lt;strong>where model state lives, who computes gradients, how updates are combined, and how information moves between devices&lt;/strong>.&lt;/p>
&lt;p>This page focuses on the &lt;strong>Parameter Server model&lt;/strong> and the practical constraints that determine whether adding resources makes training faster.&lt;/p>
&lt;p>Topics covered:&lt;/p>
&lt;ul>
&lt;li>Parameter servers, workers, and independent scaling of storage and computation&lt;/li>
&lt;li>Training-state memory and parameter sharding&lt;/li>
&lt;li>Distributed loss, gradient aggregation, and the pull–compute–push cycle&lt;/li>
&lt;li>Communication costs, RDMA, MPI, PCIe, and NVLink&lt;/li>
&lt;li>Global batch size, learning-rate scaling, and warm-up&lt;/li>
&lt;li>Monitoring, fault recovery, and sparse versus dense workloads&lt;/li>
&lt;/ul>
&lt;h2 id="learning-objectives">
 Learning Objectives
 
 &lt;a class="anchor" href="#learning-objectives">#&lt;/a>
 
&lt;/h2>
&lt;p>By the end of this page, you should be able to:&lt;/p></description></item></channel></rss>