<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://prashiddhath.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://prashiddhath.github.io/" rel="alternate" type="text/html" /><updated>2026-06-12T06:03:57-07:00</updated><id>https://prashiddhath.github.io/feed.xml</id><title type="html">Prashiddha’s Portfolio</title><subtitle>PhD student in Computer Science at Virginia Tech, researching cross-layer coordination in 5G networks.</subtitle><author><name>Prashiddha Dhoj Thapa</name><email>prashiddha@vt.edu</email></author><entry><title type="html">GSoC ‘23: Final Report on Joint Power and Rate Control in Userspace</title><link href="https://prashiddhath.github.io/posts/2023/09/gsoc23-final-joint-power-rate/" rel="alternate" type="text/html" title="GSoC ‘23: Final Report on Joint Power and Rate Control in Userspace" /><published>2023-09-25T00:00:00-07:00</published><updated>2023-09-25T00:00:00-07:00</updated><id>https://prashiddhath.github.io/posts/2023/09/gsoc23-final-joint-power-rate</id><content type="html" xml:base="https://prashiddhath.github.io/posts/2023/09/gsoc23-final-joint-power-rate/"><![CDATA[<p>The final GSoC ‘23 report presents the completed joint power and rate controller, inspired by Minstrel-Blues. The controller selects rates using a utility function balancing throughput and interference cost, while dynamically adjusting reference and sample power levels based on success probability thresholds. Experiments on TP-Link WDR4900 routers (ATH9K, UDP via iperf3) and a MacBook Pro station (TCP via Flent) showed consistent 10-25% throughput improvements over kernel Minstrel-HT — even in single-link setups — attributed to better aggregation decisions and dynamic power selection. Future work targets multi-AP spatial reuse experiments and an independent power controller for newer closed-source WiFi chips.</p>

<p><a href="https://blog.freifunk.net/2023/09/25/gsoc-23-final-report-on-joint-power-and-rate-control-in-userspace/">Read the full post on the Freifunk Blog</a></p>]]></content><author><name>Prashiddha Dhoj Thapa</name><email>prashiddha@vt.edu</email></author><category term="gsoc" /><category term="wifi" /><category term="rate-control" /><category term="power-control" /><summary type="html"><![CDATA[The final GSoC ‘23 report presents the completed joint power and rate controller, inspired by Minstrel-Blues. The controller selects rates using a utility function balancing throughput and interference cost, while dynamically adjusting reference and sample power levels based on success probability thresholds. Experiments on TP-Link WDR4900 routers (ATH9K, UDP via iperf3) and a MacBook Pro station (TCP via Flent) showed consistent 10-25% throughput improvements over kernel Minstrel-HT — even in single-link setups — attributed to better aggregation decisions and dynamic power selection. Future work targets multi-AP spatial reuse experiments and an independent power controller for newer closed-source WiFi chips.]]></summary></entry><entry><title type="html">GSoC ‘23: Midterm Report on Joint Power and Rate Control in Userspace</title><link href="https://prashiddhath.github.io/posts/2023/07/gsoc23-midterm-joint-power-rate/" rel="alternate" type="text/html" title="GSoC ‘23: Midterm Report on Joint Power and Rate Control in Userspace" /><published>2023-07-26T00:00:00-07:00</published><updated>2023-07-26T00:00:00-07:00</updated><id>https://prashiddhath.github.io/posts/2023/07/gsoc23-midterm-joint-power-rate</id><content type="html" xml:base="https://prashiddhath.github.io/posts/2023/07/gsoc23-midterm-joint-power-rate/"><![CDATA[<p>The midterm report covers two workstreams. First, a passive variant of py-minstrel-ht was developed to validate that user space rate selection matches the kernel Minstrel-HT — running alongside the kernel algorithm and comparing MRR chain decisions. Multiple bugs were identified and fixed, bringing error rates below 0.5% across all MRR positions. Second, the proposed joint power and rate controller is introduced: it uses a utility function that trades off throughput against interference cost to select rates, and tracks <code class="language-plaintext highlighter-rouge">safe</code> and <code class="language-plaintext highlighter-rouge">optimal</code> power levels per rate through cyclic power sampling.</p>

<p><a href="https://blog.freifunk.net/2023/07/26/gsoc-23-midterm-report-on-joint-power-and-rate-control-in-userspace/">Read the full post on the Freifunk Blog</a></p>]]></content><author><name>Prashiddha Dhoj Thapa</name><email>prashiddha@vt.edu</email></author><category term="gsoc" /><category term="wifi" /><category term="rate-control" /><category term="power-control" /><summary type="html"><![CDATA[The midterm report covers two workstreams. First, a passive variant of py-minstrel-ht was developed to validate that user space rate selection matches the kernel Minstrel-HT — running alongside the kernel algorithm and comparing MRR chain decisions. Multiple bugs were identified and fixed, bringing error rates below 0.5% across all MRR positions. Second, the proposed joint power and rate controller is introduced: it uses a utility function that trades off throughput against interference cost to select rates, and tracks safe and optimal power levels per rate through cyclic power sampling.]]></summary></entry><entry><title type="html">GSoC ‘23: Joint Power and Rate Control in Userspace for Freifunk OpenWrt Mesh &amp;amp; Access Networks</title><link href="https://prashiddhath.github.io/posts/2023/05/gsoc23-intro-joint-power-rate/" rel="alternate" type="text/html" title="GSoC ‘23: Joint Power and Rate Control in Userspace for Freifunk OpenWrt Mesh &amp;amp; Access Networks" /><published>2023-05-28T00:00:00-07:00</published><updated>2023-05-28T00:00:00-07:00</updated><id>https://prashiddhath.github.io/posts/2023/05/gsoc23-intro-joint-power-rate</id><content type="html" xml:base="https://prashiddhath.github.io/posts/2023/05/gsoc23-intro-joint-power-rate/"><![CDATA[<p>This post introduces the GSoC ‘23 project on joint power and rate control in user space. While rate control algorithms like Minstrel-HT optimize transmission rates, they typically use a fixed high power level that causes unnecessary interference in dense networks. The project extends the existing <code class="language-plaintext highlighter-rouge">py-minstrel-ht</code> package with a power tuning module that finds the lowest power level still delivering peak throughput. Three modes are planned: fixed power, power ceiling, and maximum throughput. The post provides background on the WPCA API that enables joint rate and power setting from user space.</p>

<p><a href="https://blog.freifunk.net/2023/05/28/gsoc-23-joint-power-and-rate-control-in-userspace-for-freifunk-openwrt-mesh-access-networks/">Read the full post on the Freifunk Blog</a></p>]]></content><author><name>Prashiddha Dhoj Thapa</name><email>prashiddha@vt.edu</email></author><category term="gsoc" /><category term="wifi" /><category term="rate-control" /><category term="power-control" /><summary type="html"><![CDATA[This post introduces the GSoC ‘23 project on joint power and rate control in user space. While rate control algorithms like Minstrel-HT optimize transmission rates, they typically use a fixed high power level that causes unnecessary interference in dense networks. The project extends the existing py-minstrel-ht package with a power tuning module that finds the lowest power level still delivering peak throughput. Three modes are planned: fixed power, power ceiling, and maximum throughput. The post provides background on the WPCA API that enables joint rate and power setting from user space.]]></summary></entry><entry><title type="html">Final Report on Minstrel TX Rate Control in User space – GSoC ‘22</title><link href="https://prashiddhath.github.io/posts/2022/09/gsoc22-final-minstrel-userspace/" rel="alternate" type="text/html" title="Final Report on Minstrel TX Rate Control in User space – GSoC ‘22" /><published>2022-09-12T00:00:00-07:00</published><updated>2022-09-12T00:00:00-07:00</updated><id>https://prashiddhath.github.io/posts/2022/09/gsoc22-final-minstrel-userspace</id><content type="html" xml:base="https://prashiddhath.github.io/posts/2022/09/gsoc22-final-minstrel-userspace/"><![CDATA[<p>The final GSoC ‘22 report details all contributions to the user space Minstrel HT. New kernel functions were ported including dynamic retransmission calculation, sudden-death detection, and spatial stream reduction. The codebase was restructured into separate minstrel and sample modules, significantly reducing computation time. A rate-setting experiment framework was built to validate rate control behavior on real hardware. Additionally, a user space implementation of the Sample Rate algorithm (Bicket, 2005) was developed as a standalone Python package. All initial goals were met and exceeded.</p>

<p><a href="https://blog.freifunk.net/2022/09/12/final-report-on-minstrel-tx-rate-control-in-user-space-gsoc-22/">Read the full post on the Freifunk Blog</a></p>]]></content><author><name>Prashiddha Dhoj Thapa</name><email>prashiddha@vt.edu</email></author><category term="gsoc" /><category term="wifi" /><category term="rate-control" /><summary type="html"><![CDATA[The final GSoC ‘22 report details all contributions to the user space Minstrel HT. New kernel functions were ported including dynamic retransmission calculation, sudden-death detection, and spatial stream reduction. The codebase was restructured into separate minstrel and sample modules, significantly reducing computation time. A rate-setting experiment framework was built to validate rate control behavior on real hardware. Additionally, a user space implementation of the Sample Rate algorithm (Bicket, 2005) was developed as a standalone Python package. All initial goals were met and exceeded.]]></summary></entry><entry><title type="html">Update on Minstrel TX Rate Control in User space – GSoC ‘22</title><link href="https://prashiddhath.github.io/posts/2022/07/gsoc22-midterm-minstrel-userspace/" rel="alternate" type="text/html" title="Update on Minstrel TX Rate Control in User space – GSoC ‘22" /><published>2022-07-20T00:00:00-07:00</published><updated>2022-07-20T00:00:00-07:00</updated><id>https://prashiddhath.github.io/posts/2022/07/gsoc22-midterm-minstrel-userspace</id><content type="html" xml:base="https://prashiddhath.github.io/posts/2022/07/gsoc22-midterm-minstrel-userspace/"><![CDATA[<p>The midterm report covers three main additions to the user space Minstrel HT. First, two new estimators were implemented: the Butterworth filter (now used by the kernel) and an Exponentially Discounted Averaging filter for research. Second, the output was redesigned to match the kernel debug format, producing human-readable rate statistics tables and CSV files for offline analysis. Third, a configuration module was added to let users tune filter parameters and rate control properties. The post concludes with a first analysis comparing the three filters on real WiFi hardware.</p>

<p><a href="https://blog.freifunk.net/2022/07/20/update-on-minstrel-tx-rate-control-in-user-space-gsoc-22/">Read the full post on the Freifunk Blog</a></p>]]></content><author><name>Prashiddha Dhoj Thapa</name><email>prashiddha@vt.edu</email></author><category term="gsoc" /><category term="wifi" /><category term="rate-control" /><summary type="html"><![CDATA[The midterm report covers three main additions to the user space Minstrel HT. First, two new estimators were implemented: the Butterworth filter (now used by the kernel) and an Exponentially Discounted Averaging filter for research. Second, the output was redesigned to match the kernel debug format, producing human-readable rate statistics tables and CSV files for offline analysis. Third, a configuration module was added to let users tune filter parameters and rate control properties. The post concludes with a first analysis comparing the three filters on real WiFi hardware.]]></summary></entry><entry><title type="html">Minstrel TX Rate Control in User space – GSoC ‘22</title><link href="https://prashiddhath.github.io/posts/2022/06/gsoc22-intro-minstrel-userspace/" rel="alternate" type="text/html" title="Minstrel TX Rate Control in User space – GSoC ‘22" /><published>2022-06-13T00:00:00-07:00</published><updated>2022-06-13T00:00:00-07:00</updated><id>https://prashiddhath.github.io/posts/2022/06/gsoc22-intro-minstrel-userspace</id><content type="html" xml:base="https://prashiddhath.github.io/posts/2022/06/gsoc22-intro-minstrel-userspace/"><![CDATA[<p>This introductory post for GSoC ‘22 covers the motivation and plan for implementing <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/mac80211/rc80211_minstrel_ht.c">Minstrel HT</a> — Linux’s default WiFi rate control algorithm — in user space for OpenWRT access points. Development in kernel space is restricted (no floating-point, high crash risk, limited debugging), making a Python-based user space variant valuable for research and experimentation. The post introduces the WiFi-Manager package and outlines the planned deliverables: a fully functional user space Minstrel HT with documentation, demo scripts, and performance comparisons against the kernel variant.</p>

<p><a href="https://blog.freifunk.net/2022/06/13/minstrel-tx-rate-control-in-user-space-gsoc-22/">Read the full post on the Freifunk Blog</a></p>]]></content><author><name>Prashiddha Dhoj Thapa</name><email>prashiddha@vt.edu</email></author><category term="gsoc" /><category term="wifi" /><category term="rate-control" /><summary type="html"><![CDATA[This introductory post for GSoC ‘22 covers the motivation and plan for implementing Minstrel HT — Linux’s default WiFi rate control algorithm — in user space for OpenWRT access points. Development in kernel space is restricted (no floating-point, high crash risk, limited debugging), making a Python-based user space variant valuable for research and experimentation. The post introduces the WiFi-Manager package and outlines the planned deliverables: a fully functional user space Minstrel HT with documentation, demo scripts, and performance comparisons against the kernel variant.]]></summary></entry></feed>