this string has no description
RSoC-Proposal.md edited
92 lines 4.2 kB view raw view rendered
1# Modernizing RedoxOS Scheduling: EEVDF & Performance Analysis 2 3 4## Personal Information 5 6- **Name:** Akshit Gaur 7- **Matrix/GitLab:** akshitgaur2005 8- **Website:** [himwant.org](https://himwant.org) 9 10 11# 1. Project Goals 12 13The goal of this project is to modernize the Redox OS process scheduling subsystem and establish a rigorous performance testing baseline. This involves three key objectives: 14 151. **Benchmarking:** Establishing a “Source of Truth” for system performance to measure future improvements (specifically for Direct Context Switching). 162. **Simulation & Correctness:** Developing a **Scheduler Test Harness** to verify scheduling logic in isolation under heavy load (1-1024 cores). 173. **Kernel Scheduling:** Implementing a **Priority-Based Scheduler** followed by the **EEVDF (Earliest Eligible Virtual Deadline First)** algorithm to replace the legacy Round-Robin one. 18 19 20# 2. The Problem 21 22- **Performance Visibility:** Optimizing Redox is difficult because we lack a standardized suite to isolate/measure syscall latencies and context-switch overheads. 23- **Testing Complexity:** Testing scheduler changes currently requires full system recompilation and booting, making iteration slow and regression testing difficult. 24- **Scheduling Latency:** The current Round-Robin scheduler does not handle interactive workloads or “lag” as effectively as modern algorithms like EEVDF. 25 26 27# 3. Implementation Roadmap & Milestones 28 29 30## Phase 1: Foundation & Prototype (Total: $1,800) (Target: Feb 15 - March 31) 31 32 33### Milestone 1.1: Benchmarking & Profiling ($500) (Target: Feb 28) 34 35I will build/port a benchmarking suite tailored for Redox. 36 37- **Deliverable:** Porting tools (inspired by `lmbench` / `UnixBench`) and writing test harness tools required by `4lDO2` for testing Direct Context Switching. 38- **Status:** Port of `sysbench` is already complete for `x86_64` and `aarch64`. 39 40 41### Milestone 1.2: Priority-Ranked Scheduler ($800) (Target: March 20) 42 43I will implement a simple priority-based scheduler integrated into Redox. 44 45- **Mechanism:** Nice value determines priority; context switch selects highest priority task. 46- **Goal:** Demonstrate basic operation and correctness of the scheduling API changes. 47 48 49### Milestone 1.3: Isolated Test Harness ($500) (Target: March 31) 50 51I will implement a non-Redox program to test the scheduler algorithms in isolation. 52 53- **Scope:** Simulation of tasks (continuous and blocked) under heavy load. 54- **Scale:** Verifying correctness on 1 to 1024 simulated cores. 55 56 57## Phase 2: EEVDF Implementation & Tuning (Total: $3,700) (Target: April 1 - August 31) 58 59 60### Milestone 2.1: EEVDF Implementation ($2,000) (Target: May 30) 61 62I will implement the EEVDF algorithm within the kernel. 63 64- **Logic:** Replacing legacy Round Robin with the modern EEVDF. 65- **Deliverable:** A functioning EEVDF scheduler demonstrating basic operation. 66 67 68### Milestone 2.2: Optimization ($700) (Target: June 30) 69 70Improve the scheduler performance to match or exceed the current scheduler’s raw throughput using the Test Harness. 71 72 73### Milestone 2.3: Analysis & Tuning ($500) (Target: July 31) 74 75Analyze and tune the performance of the system with EEVDF, applying lessons from Linux and using the Benchmarking suite (Phase 1) to validate gains. 76 77 78### Milestone 2.4: Documentation ($500) (Target: August 31) 79 80Produce a comprehensive report/news post covering an overview of EEVDF scheduling theory (referencing the original paper), the Redox implementation, parameter tuning results, and how-to instructions for users to configure scheduling priorities themselves. 81 82**Note**: The end date for final claims for payment will be October 31, 2026. 83 84 85# 4. About Me 86 87I am a Systems Engineering undergraduate (JNU) focused on Operating Systems, Rust, and ML Infrastructure. 88 89- **Redox Experience:** I have already contributed multiple PRs to the Redox kernel, base, relibc and recipes (including `sysbench` port). 90- **Relevant Skills:** Rust, C, OS Internals (xv6 analysis), RISC-V Assembly. 91 92**Note:** All code submitted will be written by hand without the use of AI code generation tools.