<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MLSysOps on Arshad Siddiqui</title><link>https://arshadhs.github.io/tags/mlsysops/</link><description>Recent content in MLSysOps on Arshad Siddiqui</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://arshadhs.github.io/tags/mlsysops/index.xml" rel="self" type="application/rss+xml"/><item><title>ML and DL System Performance</title><link>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/010-ml-and-dl-system-performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/010-ml-and-dl-system-performance/</guid><description>&lt;h1 id="ml-and-dl-system-performance">
 ML and DL System Performance
 
 &lt;a class="anchor" href="#ml-and-dl-system-performance">#&lt;/a>
 
&lt;/h1>
&lt;p>Machine learning system optimisation begins with measurement. Before changing an algorithm, adding processors, or moving work to a GPU, we need to understand &lt;strong>what is slow&lt;/strong>, &lt;strong>which resource is limiting performance&lt;/strong>, and &lt;strong>how performance changes as the workload grows&lt;/strong>.&lt;/p>
&lt;p>This page covers:&lt;/p>
&lt;ul>
&lt;li>time and space complexity&lt;/li>
&lt;li>throughput and latency&lt;/li>
&lt;li>the relationship between workload, throughput, and latency&lt;/li>
&lt;li>the main measurements used to describe system performance&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><item><title>Parallel and Distributed Algorithms</title><link>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/020-parallel-and-distributed-algorithms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/020-parallel-and-distributed-algorithms/</guid><description>&lt;h1 id="parallel-and-distributed-algorithms">
 Parallel and Distributed Algorithms
 
 &lt;a class="anchor" href="#parallel-and-distributed-algorithms">#&lt;/a>
 
&lt;/h1>
&lt;p>Parallelisation divides computational work into parts that can execute concurrently. The purpose is to reduce completion time or increase throughput, but the gain depends on how much work is genuinely independent and how much overhead is introduced.&lt;/p>
&lt;p>This page covers:&lt;/p>
&lt;ul>
&lt;li>speedup, maximum speedup, and processor efficiency&lt;/li>
&lt;li>Amdahl&amp;rsquo;s Law&lt;/li>
&lt;li>data-level parallelism&lt;/li>
&lt;li>task-level parallelism&lt;/li>
&lt;li>algorithm-specific parallelism&lt;/li>
&lt;li>communication, synchronisation, scheduling, and load-balancing overhead&lt;/li>
&lt;li>parallel merge sort and matrix multiplication&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><item><title>Parallel Programming Models</title><link>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/030-parallel-programming-models/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/030-parallel-programming-models/</guid><description>&lt;h1 id="parallel-programming-models">
 Parallel Programming Models
 
 &lt;a class="anchor" href="#parallel-programming-models">#&lt;/a>
 
&lt;/h1>
&lt;p>Parallel algorithms need hardware that can execute independent work efficiently. Modern systems therefore combine multiple CPU cores, memory hierarchies, threads, instruction pipelines, GPUs, clusters, and specialised matrix processors.&lt;/p>
&lt;p>This page covers:&lt;/p>
&lt;ul>
&lt;li>multi-core CPU organisation&lt;/li>
&lt;li>cache and memory hierarchy&lt;/li>
&lt;li>processes, threads, scheduling, and synchronisation&lt;/li>
&lt;li>instruction pipelining and clock-cycle time&lt;/li>
&lt;li>SIMD, MIMD, and SIMT execution&lt;/li>
&lt;li>GPGPU architecture and GPU memory behaviour&lt;/li>
&lt;li>CPU-only and GPU-accelerated clusters&lt;/li>
&lt;li>Tensor Processing Units and systolic arrays&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><item><title>ML System Optimisation</title><link>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/</guid><description>&lt;h1 id="ml-system-optimisation">
 ML System Optimisation
 
 &lt;a class="anchor" href="#ml-system-optimisation">#&lt;/a>
 
&lt;/h1>
&lt;p>ML System Optimisation studies how to make machine learning workloads &lt;strong>faster, more scalable, more memory-efficient, and suitable for different hardware platforms&lt;/strong>.&lt;/p>
&lt;p>The subject connects machine learning algorithms with the systems that train and deploy them: multi-core CPUs, GPUs, distributed clusters, cloud platforms, edge devices, and embedded systems.&lt;/p>
&lt;blockquote class="book-hint info">
&lt;p>&lt;strong>ML system optimisation = model quality + computational efficiency + hardware awareness + scalability&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>The learning path begins with performance measurement and parallel computing, progresses through distributed machine learning and scale-out platforms, and concludes with model compression and resource-constrained deployment.&lt;/p></description></item></channel></rss>