Skip to content

A research project investigating an enhanced Round-Robin scheduling algorithm that introduces priority management through task execution frequency control, maintaining fairness while improving real-time task prioritization.

License

Notifications You must be signed in to change notification settings

zhang-jia-rong/rt-sched

Repository files navigation

Frequency-based Priority Round-Robin Scheduling Research

A research project investigating an improved Round-Robin scheduling algorithm with frequency-based priority mechanism for real-time systems.

Abstract

This research proposes an enhanced Round-Robin scheduling algorithm that introduces a dynamic priority mechanism based on execution frequency. Rather than adjusting time quantum lengths, the approach controls task execution frequency in the scheduling queue to reflect priority differences. This method maintains the fairness characteristics of RR scheduling while providing better support for real-time priority requirements.

Key Features

This scheduling algorithm introduces several innovative features that enhance traditional Round-Robin scheduling while maintaining its fundamental benefits:

At its core, the algorithm implements a frequency-based priority mechanism within the RR framework, allowing for dynamic task prioritization without compromising the basic scheduling structure. By maintaining constant time quantum lengths, the system ensures predictable context switching overhead and stable operation characteristics.

The key innovation lies in its dynamic priority support through execution frequency control - instead of modifying time slices, the algorithm adjusts how often tasks enter the scheduling queue. This approach achieves:

  • Efficient O(1) scheduling complexity, ensuring scalability with increased task counts
  • Fair resource allocation that balances priority requirements with basic scheduling fairness
  • Predictable behavior through theoretical analysis and experimental validation

The design particularly excels in real-time environments where both deterministic scheduling and priority handling are critical requirements. Through extensive testing and validation, the algorithm demonstrates consistent performance across various workload scenarios while maintaining the simplicity that makes RR scheduling attractive in practice.

Building

This project uses XeLaTeX (also known as XeTeX) for document compilation. The build process is configured through .latexmkrc for automated compilation.

Prerequisites

Before building this research paper, you'll need several TeX-related tools installed on your system. The project uses XeLaTeX for its superior Unicode and CJK text support, which requires either a TeX Live or MiKTeX distribution.

For automated builds and compilation, the project relies on latexmk - a Perl script that automates the LaTeX document generation process by determining the correct sequence and number of runs needed. Additionally, BibTeX is required to process the bibliography references from references.bib into the final document format.

Make sure you have:

  • A complete TeX distribution (TeX Live or MiKTeX) with XeLaTeX support
  • The latexmk build utility configured in your environment
  • BibTeX for processing bibliography references

These tools work together to generate the final PDF output with proper formatting, citations, and cross-references.

Build Commands

The project uses latexmk to automate the LaTeX compilation process. This tool handles all the necessary compilation steps, including running XeLaTeX multiple times for cross-references and bibliography generation.

Common build commands:

# Generate PDF with XeLaTeX
latexmk -xelatex main.tex

# Clean auxiliary files
latexmk -c

# Force rebuild all
latexmk -xelatex -g main.tex

# Watch mode for development
latexmk -xelatex -pvc main.tex

The watch mode (-pvc) is particularly useful during development as it automatically recompiles the document whenever changes are detected.

Output Files

The build process generates several files that serve different purposes in the document compilation:

  • main.pdf is the final output document containing your research paper with all formatting, figures, and references properly rendered
  • main.bbl contains the processed bibliography entries from your BibTeX database, formatted according to the GB/T 7714 citation style
  • main.aux stores cross-referencing information, keeping track of section numbers, figure labels, and citation keys

These files work together to produce a properly formatted academic document with working cross-references and citations.

Development

This research project uses modern development tools and workflows to maintain code quality and enable collaborative research. Here's how to get started and make the most of the available tools.

Setup

Before you begin contributing, you'll need to set up your development environment. Run these commands in your terminal:

# Install dependencies
npm install

# Setup git hooks
npx husky install

# Configure git-secret (first time only)
git secret init
git secret tell [email protected]

Development Tools and Workflow

Our development workflow integrates several key tools that work together to ensure code quality and maintain consistent standards:

Git-secret provides encryption for sensitive research data and configurations, protecting intellectual property while enabling collaboration. This works alongside Husky, which enforces quality checks through Git hooks before commits and pushes.

For version control and releases, we use release-it with conventional commits to maintain a clear history and automate versioning. The commit messages follow a standardized format that makes changes easy to track and understand.

Code quality is maintained through Trunk's comprehensive checking system, which runs automated linting and formatting on your code to ensure consistency across all contributions.

Tool Documentation

To learn more about specific tools, consult these resources:

Local Configuration

Key configuration files that control these tools:

Contributing

Please see CONTRIBUTING.md for detailed contribution guidelines.

License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

You are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made
  • NonCommercial — You may not use the material for commercial purposes
  • ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license

Frequency-based Priority Round-Robin Scheduling Research by Zhang Jia Rong is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International

For full license terms, see:

Contact

For questions about the research, implementation details, or collaboration opportunities, please don't hesitate to reach out. I'm particularly interested in discussing real-time scheduling algorithms, embedded systems optimization, and industrial automation applications.

Primary Contact

Zhang Jia Rong
DMT Intelligent Equipment Technology Co., Ltd.
Foshan, China

You can reach me through:

Research Interests & Collaboration

I welcome discussions and potential collaborations in:

  • Implementation experiences with frequency-based scheduling
  • Real-time systems optimization techniques
  • Industrial automation use cases
  • Performance analysis and benchmarking
  • Integration with existing RTOS platforms

Whether you're interested in implementing the algorithm, contributing to the research, or exploring potential applications in your field, I'm happy to engage in technical discussions and explore opportunities for collaboration.

About

A research project investigating an enhanced Round-Robin scheduling algorithm that introduces priority management through task execution frequency control, maintaining fairness while improving real-time task prioritization.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published