Implementing a RNN accelerated MLFQ scheduler on an FPGA

Implementing a RNN  accelerated MLFQ  scheduler on an FPGA
Slide Note
Embed
Share

This project focuses on implementing a Round-Robin (RNN) accelerated Multilevel Feedback Queue (MLFQ) scheduler on an FPGA platform. The aim is to explore the potential performance enhancements and efficiency gains that can be achieved through hardware acceleration in the context of scheduling processes. The project will leverage the parallel processing capabilities of FPGAs to optimize the MLFQ algorithm and enhance its scheduling capabilities. By utilizing FPGA technology, this work aims to provide a novel approach to improving process scheduling in computer systems, with potential applications in real-time systems and high-performance computing environments.

  • FPGA
  • MLFQ
  • Scheduler
  • RNN
  • Computer Science

Uploaded on Feb 27, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Implementing a RNN accelerated MLFQ scheduler on an FPGA Levi Redlin UW Computer Science 2022

  2. Background Multilevel Feedback Queue(MLFQ) process scheduler uses multiple queues with assigned priorities and runs the processes in a queue for a set time quantum Intelligent Multilevel Feedback Queue(IMLFQ) algorithm was introduced in 2006 by Mohammad Reza Effat Parvar et al. at Azad University of Qazvin IMLFQ uses a Recurrent Neural Network(RNN) to determine the number of queues for the MLFQ algorithm and the time quantum for each queue with a goal of minimizing average turnaround time The Leflow library was introduced by Daniel Noronha et al. in 2018 and it provides the ability to automatically generate synthesizable Verilog from Tensorflow Neural Network models to program the networks onto FPGAs My project is concerned with leveraging both newer technologies to create a fast scheduler with hardware support

  3. Using Neural Networks for process scheduling Neural networks can predict the CPU time a process will need for completion and can infer optimal metrics in complex scheduling algorithms such as the number of queues and time quantum for the MLFQ algorithm Benefits of Recurrent Neural Networks(RNN) on time-series based datasets prove to be especially useful given the dynamic nature of process scheduling Neural Networks can be modelled to account for undesirable occurrences such as process starvation

  4. FPGA vs GPU vs ASIC for Machine Learning Application-Specific Integrated Circuit s(ASIC) are chips that are customized for a single application, providing an extremely fast and reliable ML implementation ASICs provide no flexibility as they can t be reprogrammed GPUs provide excellent parallel processing capabilities and provide flexibility to run any software defined neural network implementation GPUs are slower than ASICs for specific applications and can consume large amounts of energy FPGAs provide low latency and high throughput by directly performing necessary computations on hardware FPGAs can be reprogrammed, providing flexibility compared with ASICs FPGAs offer reduced power consumption compared with GPUs

  5. Bringing it all together Dataset generation is done by creating a CSV file with a bash script that uses the sizes of RO data, Text data, BSS data as features and the processes CPU time as output For testing, simple C programs that do various common operations are used These data inputs are saved for each process using the Linux time, readelf and size commands on executable files Neural Network implementation and pre training is done in Python using Tensorflow Once pretrained, the RNN input and output are sent and received through a network call to the FPGA The results from the RNN are utilized in a process scheduler currently being simulated in C++

  6. Questions?

  7. References Effat Parvar, Mohammad Reza & Effat Parvar, Mehdi & Haghighat, Abolfazl & Mahini, Reza & Zarei, Mahdi. (2006). An Intelligent MLFQ Scheduling Algorithm (IMLFQ).. 1033-1036. Noronha, Daniel H., Bahar Salehpour, and Steven JE Wilton. "LeFlow: Enabling flexible FPGA high-level synthesis of tensorflow deep neural networks." FSP Workshop 2018; Fifth International Workshop on FPGAs for Software Programmers. VDE, 2018.

Related


More Related Content