this string has no description
RSoC-Proposal.md
edited
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.