วันศุกร์ที่ 12 เมษายน พ.ศ. 2562

ทดสอบการรัน 2 Processes ในเวลาเดียวกัน

ทำการทดสอบว่าการรัน 2 Processes ในเวลาเดียวกันสามารถทำให้ CPU Core ทั้ง 2 Cores ใช้งานได้อย่างเต็มประสิทธิภาพหรือไม่


โดยเริ่มต้นจะใช้ฟังค์ชัน convert_col2 ในการปรับสีของรูปภาพที่ถูกป้อนเข้ามา ซึ่งจะทำซ้ำตามจำนวนของค่า loop ที่กำหนดไว้ เมื่อทำงานเสร็จแล้วจะทำการ print 1 ออกมาและนำค่าของข้อมูลไปเก็บลงใน Queue


ในส่วนของการเรียกใช้นั้น จะเริ่มจากการเก็บข้อมูลภาพ test.jpg มาทำการปรับขนาดและเตรียมรอสำหรับป้อนเข้า Process


ภาพ test.jpg ที่ป้อนเข้าระบบ

จากนั้นจะสร้าง Queue สำหรับเตรียมเก็บข้อมูลระหว่าง Process และจึงเริ่มจับเวลาการทำงาน

โดยจะทำการสร้าง Process ไว้ 2 Processes โดยจะเรียกใช้ฟังค์ชัน convert_col2 และใช้ภาพ test.jpg ทั้งคู่

จากนั้นจะเริ่มทำการสั่งให้ Process ทั้ง 2 ทำงานพร้อมกัน และใช้ join เพื่อรอผลการทำงาน หลังจากเสร็จสิ้นจะทำการแสดงขนาดของ Queue ว่ามีข้อมูลเก็บอยู่ใน Queue กี่ตัว

ซึ่งผลลัพธ์ที่ได้จากการสังเกตการทำงานของ CPU Core ผ่าน htop command ใน cmd พบว่าการทั้ง 2 Processes ทำงานในเวลาเดียวกันและใช้ CPU Core ได้อย่างเต็มประสิทธิภาพ


ภาพการทำงานของ CPU Core


จากภาพการทำงานจะพบว่ามีการ print 1 ออกมา 2 ตัวจริงๆ และจำนวนข้อมูลภายใน Queue ที่แสดงออกมาก็มี 2 ค่าจริงๆ แสดงว่าการทำงานนั้นถูกต้องตามที่คาดการณ์ไว้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น