{"id":16576230,"url":"https://github.com/ruturaj4/preemptive-gpu-scheduling","last_synced_at":"2026-05-29T18:31:12.762Z","repository":{"id":155037334,"uuid":"133284678","full_name":"Ruturaj4/Preemptive-GPU-Scheduling","owner":"Ruturaj4","description":"Preemptive GPU Scheduling Support for mali - patched drivers ⭐️","archived":false,"fork":false,"pushed_at":"2018-10-07T18:50:00.000Z","size":395,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-05T18:38:31.157Z","etag":null,"topics":["advanced-operating-systems","drivers","gpu","kernel","midguard","odroid-xu4","patched","preemptive","scheduling"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ruturaj4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-14T00:14:51.000Z","updated_at":"2021-04-27T11:45:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"44617c89-215a-4eff-8919-ea452b850ed5","html_url":"https://github.com/Ruturaj4/Preemptive-GPU-Scheduling","commit_stats":{"total_commits":12,"total_committers":1,"mean_commits":12.0,"dds":0.0,"last_synced_commit":"cb08455356608fe4848149d0867b03c6d2583991"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ruturaj4/Preemptive-GPU-Scheduling","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruturaj4%2FPreemptive-GPU-Scheduling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruturaj4%2FPreemptive-GPU-Scheduling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruturaj4%2FPreemptive-GPU-Scheduling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruturaj4%2FPreemptive-GPU-Scheduling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ruturaj4","download_url":"https://codeload.github.com/Ruturaj4/Preemptive-GPU-Scheduling/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ruturaj4%2FPreemptive-GPU-Scheduling/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33666290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["advanced-operating-systems","drivers","gpu","kernel","midguard","odroid-xu4","patched","preemptive","scheduling"],"created_at":"2024-10-11T22:07:37.261Z","updated_at":"2026-05-29T18:31:12.744Z","avatar_url":"https://github.com/Ruturaj4.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n  \u003chead\u003e\n    \u003ch1\u003ePreemptive GPU Scheduling - patched source code 💯\u003c/h1\u003e\n    \u003cp\u003eThis is re-implementation of an original paper - \u003cb\u003e A GPU Kernel Transactionization Scheme\n    for Preemptive Priority Scheduling\u003ca href = \"https://github.com/Hyunsu-Lee/psched_gpu\"\u003e[1]\u003c/a\u003e\u003c/b\u003e\u003c/p\u003e\n    \u003cp\u003eProject Team members (University of Kansas🔶🔷)-\u003cbr\u003e\u003cb\u003e\u003ca href = \"https://github.com/Ruturaj4\"\u003eRuturaj Vaidya\u003c/a\u003e and \u003ca href = \"https://github.com/DhwaniPandya\"\u003eDhwani Pandya\u003c/a\u003e\u003c/b\u003e.\u003c/p\u003e\n  \u003c/head\u003e\n\n  \u003cbody\u003e\n    \u003ch2\u003eWhy GPU?\u003c/h2\u003e\n    \u003cp\u003eOur interest and curiosity in GPU management motivated and inspired us to work on GPU management. In todays digital\nworld role of GPU is crucial and the graphical data which is processed by GPU cannot be handled by CPU. Hence, GPU\naide helps in performance improvement and better resource utilization. We believe that introduction of GPU in processing\nenvironment is triumph in itself, and this is the reason that stimulated us to pick this paper.\u003c/p\u003e\n    \u003ch2\u003eProject Description\u003c/h2\u003e\n    \u003cp\u003eMission-critical systems simultaneously run multiple tasks with different criticality and timeliness requirements, and are becoming    heavily dependent on graphics processing unit (GPU) computing\u003ca href = \"https://github.com/Hyunsu-Lee/psched_gpu\"\u003e[1]\u003c/a\u003e. 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\u003ca href = \"https://github.com/Hyunsu-Lee/psched_gpu\"\u003e[1]\u003c/a\u003e.\u003c/p\u003e\n    \u003cp\u003eWe used Odroid XU4 board for the implementation, although authors implemented on odroid XU3. We followed instructions given by authors \u003ca href = \"https://github.com/Hyunsu-Lee/psched_gpu\"\u003ehere\u003c/a\u003e. However, the kernel build was unsucessful. Thus, \u003cb\u003ewe changed the source code, fixed the patch and re-built the kernel sucessfully\u003c/b\u003e. Thanks to our team work (and hard work indeed 😁)!\u003c/p\u003e\n    \u003ch2\u003eUsage (Reference: \u003ca href = \"https://github.com/Hyunsu-Lee/psched_gpu\"\u003eAuthors Github page\u003c/a\u003e)\u003c/h2\u003e\n    \u003cul\u003e\n    \u003cli\u003eDownload Kernel version 3.10.y from the hardkernel page\u003c/li\u003e\n    \u003ccode\u003egit clone https://github.com/hardkernel/linux.git -b odroidxu3-3.10.y\u003c/code\u003e\u003cbr\u003e\u003cbr\u003e\n    \u003cli\u003eHard reset to version 3.10.54 (As authors suggested)\u003c/li\u003e\n    \u003ccode\u003egit reset --hard 8df9b10b63\u003c/code\u003e\u003cbr\u003e\u003cbr\u003e\n    \u003cli\u003eCopy the patched files to appropriate locations.\u003c/li\u003e\u003cbr\u003e\n    \u003cli\u003eFollow the odroid Kernel Build instructions \u003ca href = \"https://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device\"\u003ehere\u003c/a\u003e.\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003ch2\u003eReferences\u003c/h2\u003e\n    \u003ch4\u003e\u003ca href = \"https://github.com/Hyunsu-Lee/psched_gpu\"\u003e[1]\u003c/a\u003e Authors of the original paper - Hyeonsu Lee, Jaehun Roh, Euiseong Seo\u003c/h4\u003e\n    \u003cp\u003eSchool of Software, Sungkyunkwan University\n    Seobu 2066, Suwon-si, Gyeonggi-do 23185, Rep. of Korea\n    Email: hyeonsu.lee@csl.skku.edu, jaehun@csl.skku.edu, euiseong@skku.edu\u003c/p\u003e\n    \u003cp\u003e \u003cb\u003eCheck Hyunsu-Lee's Github repository for full code\u003c/b\u003e - https://github.com/Hyunsu-Lee/psched_gpu \u003c/p\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruturaj4%2Fpreemptive-gpu-scheduling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruturaj4%2Fpreemptive-gpu-scheduling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruturaj4%2Fpreemptive-gpu-scheduling/lists"}