<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Concurrency | Nidhi Dhamnani</title><link>https://nidhidhamnani.dev/tag/concurrency/</link><atom:link href="https://nidhidhamnani.dev/tag/concurrency/index.xml" rel="self" type="application/rss+xml"/><description>Concurrency</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><image><url>https://nidhidhamnani.dev/media/icon_hu8807d1b1c94e9f5c8b462b28439c590e_18795_512x512_fill_lanczos_center_2.png</url><title>Concurrency</title><link>https://nidhidhamnani.dev/tag/concurrency/</link></image><item><title>Concurrent Minimum Spanning Tree</title><link>https://nidhidhamnani.dev/project/concurrent_mst/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nidhidhamnani.dev/project/concurrent_mst/</guid><description>&lt;h3 id="system-architecture--performance">System Architecture &amp;amp; Performance&lt;/h3>
&lt;p>Engineered a highly concurrent variation of Borůvka’s algorithm to process large-scale graph structures in parallel. The implementation focused on minimizing thread contention and optimizing memory access patterns.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Parallel Processing:&lt;/strong> Designed the algorithm to distribute edge-weight evaluations across multiple worker threads, significantly reducing processing bottlenecks on dense clusters.&lt;/li>
&lt;li>&lt;strong>Synchronization:&lt;/strong> Utilized atomic variables and thread-safe concurrent priority queues to manage state without introducing heavy locking mechanisms or deadlocks.&lt;/li>
&lt;li>&lt;strong>Performance Metrics:&lt;/strong> Benchmarked against standard sequential implementations, achieving a &lt;strong>59.7% faster execution time&lt;/strong> when processing randomly generated sparse graphs (100,000+ nodes) on an 8-core machine.&lt;/li>
&lt;/ul></description></item></channel></rss>