หลักสูตร/ปี พ.ศ. วิศวกรรมศาสตรบัณฑิต สาขาวิชาวิศวกรรมซอฟต์แวร์และความรู้ ปี พ.ศ. 2567
ภาคและปีการศึกษาที่สำเร็จการศึกษา ภาคปลาย ปีการศึกษา 2566
ประเภทโครงงาน
โครงงานวิศวกรรม
ชื่อโครงงานภาษาไทย
ระบบการกระจายงานโดยคำนึงถึงทรัพยากร
ชื่อโครงงานภาษาอังกฤษ
Resource Aware Job Distribution
ผู้พัฒนา
6310545426 นายสิรธีร์ กิตติวิทย์เชาวกุล
6310545931 นายณภัน สุวรรณโชติ
อาจารย์ที่ปรึกษาหลัก
ภารุจ รัตนวรพันธุ์
อาจารย์ที่ปรึกษาร่วม
-
บทคัดย่อ
ปัจจุบันการคำนวนทางคอมพิวเตอร์นั้นใช้พลังในการประมวลผลที่สูง ซึ่งส่งผลให้จำเป็นต้องการทรัพยากรณ์คอมพิวเตอร์ที่สูงขึ้นไปพร้อมกัน ซึ่งการที่เราจะคำนวนงานเหล่านั้นจำเป็นต้องใช้คอมพิวเตอร์ที่มีพลังในการประมวลผลสูงเช่นซูเปอร์คอมพิวเตอร์ (Super Computer) หรือ ใช้บริการ Cloud Service ต่างๆผู้เป็นเจ้าของคอมพิวเตอร์ที่มีพลังในการประมวลผลสูง ซึ่งผู้ใช้งานทั่วไปมักจะเป็นเจ้าของคอมพิวเตอร์หลายๆเครื่องซึ่งไม่สามารถแปลงไปเป็นเครื่องที่รันงานเหล่านั้นได้อยากสมบูรณ์ซึ่งทำให้ทรัพยากรณ์คอมพิวเตอร์เหล่านั้นถูกปล่อยให้ว่างโดยไม่เกิดประโยชน์ ในขณะเดียวกันซอฟแวร์ในปัจจุบันที่มีก็ไม่ได้เอื้อต่อการทำงานเหล่านี้สำหรับบุคคนทั่วไป เพราะ ส่วนมากจะจำเป็นต้องให้ผู้ใช้งานแปลงเครื่องคอมพิวเตอร์ของตัวเองไปเป็นเครื่องที่จะทำงานเหล่านั้นอย่างสมบูรณ์ ซึ่งทำให้เกิดความไม่สะดวกต่อผู้ใช้งานทั่วไปที่ต้องการใช้คอมพิวเตอร์นั้นอยู่ทุกวันด้วยเช่นกัน
ดังนั้น ผู้พัฒนาโครงการ จึงได้นำเสนอวิธีการแก้ปัญหาใหม่ ระบบการกระจายงานโดยคำนึงถึงทรัพยากร ด้วยการแบ่งงานที่ต้องใช้ทรัพยากรณ์สูงลงมาเป็นงานขนาดเล็ก และ กระจายให้เครื่องคอมพิวเตอร์หลายๆเครื่องทำงานพร้อมกันโดยคำนึงถึงทรัพยากรณ์ที่แต่ละเครื่องมี และ ทรัพยากรณ์ที่งานนั้นจะใช้ โดยจะมีหน้าที่อยู่ดังนี้ ผู้ควบคุม (Control Plane) จะเป็นผู้แจกงานตามความเหมาะสม และ เป็นผู้รับประกันว่างานนั้นจะมีคอมพิวเตอร์นำไปรัน พร้อมทั้งเป็นผู้ดูแลความสมดุลของระบบโดยรวมตามทรัพยากรณ์ที่มีของแต่ละเครื่อง. โครงการนี้จะประกอบด้วย ระบบการคำนึงถึงทรัพยากรณ์ ระบบการกระจายงาน และ ระบบป้องกันหากเกิดข้อผิดพลาดในระหว่างการทำงานไม่ว่าจะเป็น ผู้ควบคุม (Control Plane) หรือ ผู้ทำงาน (Worker) จะสามารถส่งผลลัพท์ของการทำงานได้หากระบบกลับเข้าสู่สภาวะปกติ
Abstract
Many computer-related tasks require high computing power, resulting in
higher resource requirements. Those tasks require high-performance computers
such as supercomputers or cloud services, and it is almost impossible for users to
run them on their computers. The ordinary user usually owns many computers that
cannot be turned into a compute node for those tasks entirely, which leaves
left-over resources idly, resulting in them using their resources inefficiently.
Meanwhile, most existing solutions are not designed for home usecases. These
solutions do not suit this situation because they require users to transform their
computers into a compute node, which leads to an inconvenience for them, having
no computer for daily use. The researcher proposes a new Resource-Aware Job
Distribution System. By breaking the tasks into smaller tasks, Control Plane can
distribute jobs to run on many computers. The Control Plane will monitor the
output and resources on each node and adjust the job to run efficiently, allowing
the jobs to run on the computer without affecting the ordinary users’ computer
usage. This project consists of Resource-Aware, Job Distribution, and Job
Consistency features. We will evaluate each of them separately. By increasing the
resource usage on the node, The control plane should prioritize the resource usage
from the ordinary user and resize the job to decrease the effect on the user. Also,
The Control Plane must deliver consistent output and have fault tolerance if one of
the running nodes is down.
คำสำคัญ (Keywords)
Resource
Memory
CPU
Resource Aware
Job Distribution
Distribution Algorithm
เว็บไซต์โครงงาน
-
ที่เก็บเวอร์ชันซอร์สโค้ด
https://github.com/orgs/resource-aware-jds/repositories
https://github.com/resource-aware-jds/resource-aware-jds
https://github.com/resource-aware-jds/container-lib
ผู้นำเข้าข้อมูลครั้งแรก
นายสิรธีร์
กิตติวิทย์เชาวกุล
(b6310545426)
แก้ไขครั้งสุดท้าย
เมื่อ May 10, 2024, 4:51 p.m. โดย
นายสิรธีร์
กิตติวิทย์เชาวกุล
(b6310545426)
สถานะการอนุมัติ
อนุมัติแล้ว โดย
ภารุจ
รัตนวรพันธุ์
(fengprrb)
เมื่อ May 12, 2024, 12:28 p.m.