Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ruturaj4/preemptive-gpu-scheduling
Preemptive GPU Scheduling Support for mali - patched drivers ⭐️
https://github.com/ruturaj4/preemptive-gpu-scheduling
advanced-operating-systems drivers gpu kernel midguard odroid-xu4 patched preemptive scheduling
Last synced: 24 days ago
JSON representation
Preemptive GPU Scheduling Support for mali - patched drivers ⭐️
- Host: GitHub
- URL: https://github.com/ruturaj4/preemptive-gpu-scheduling
- Owner: Ruturaj4
- Created: 2018-05-14T00:14:51.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-07T18:50:00.000Z (over 6 years ago)
- Last Synced: 2024-11-15T18:06:42.823Z (3 months ago)
- Topics: advanced-operating-systems, drivers, gpu, kernel, midguard, odroid-xu4, patched, preemptive, scheduling
- Language: C
- Homepage:
- Size: 386 KB
- Stars: 1
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Preemptive GPU Scheduling - patched source code 💯
This is re-implementation of an original paper - A GPU Kernel Transactionization Scheme
for Preemptive Priority Scheduling[1]
Project Team members (University of Kansas🔶🔷)-
Ruturaj Vaidya and Dhwani Pandya.
Why GPU?
Our interest and curiosity in GPU management motivated and inspired us to work on GPU management. In todays digital
world role of GPU is crucial and the graphical data which is processed by GPU cannot be handled by CPU. Hence, GPU
aide helps in performance improvement and better resource utilization. We believe that introduction of GPU in processing
environment is triumph in itself, and this is the reason that stimulated us to pick this paper.
Project Description
Mission-critical systems simultaneously run multiple tasks with different criticality and timeliness requirements, and are becoming heavily dependent on graphics processing unit (GPU) computing[1]. Consequently, many research efforts have been made to support the preemptive priority scheduling of GPU kernels. We re-implemented the paper, ’A GPU Kernel Transactionization Scheme for Preemptive Priority Scheduling’, which presents an approach to transactionize GPU kernels at the operating system (OS) level. By transactionizing GPU kernels, it is possible to forcibly evict low-priority kernels and immediately schedule high-priority kernels[1].
We used Odroid XU4 board for the implementation, although authors implemented on odroid XU3. We followed instructions given by authors here. However, the kernel build was unsucessful. Thus, we changed the source code, fixed the patch and re-built the kernel sucessfully. Thanks to our team work (and hard work indeed 😁)!
Usage (Reference: Authors Github page)
- Download Kernel version 3.10.y from the hardkernel page
- Hard reset to version 3.10.54 (As authors suggested)
- Copy the patched files to appropriate locations.
- Follow the odroid Kernel Build instructions here.
git clone https://github.com/hardkernel/linux.git -b odroidxu3-3.10.y
git reset --hard 8df9b10b63
References
[1] Authors of the original paper - Hyeonsu Lee, Jaehun Roh, Euiseong Seo
School of Software, Sungkyunkwan University
Seobu 2066, Suwon-si, Gyeonggi-do 23185, Rep. of Korea
Email: [email protected], [email protected], [email protected]
Check Hyunsu-Lee's Github repository for full code - https://github.com/Hyunsu-Lee/psched_gpu