ระบบการประมวลผลแบบกระจาย (Distributed Computing) คืออะไร
ระบบการประมวลผลแบบกระจาย (Distributed Computing) คือ ระบบประมวลผลที่มีการกระจายการประมวลผลไปยังเครื่องต่าง ๆ
ต่างจากระบบการประมวลผลแบบรวมศูนย์ดังนี้
การใช้ระบบการประมวลผลแบบกระจายช่วยให้การประมวลผลเป็นไปอย่างรวดเร็วยิ่งขึ้น จากตัวอย่างดังรูปนี้
ตัวอย่างเช่น เราต้องการประมวลผลวัตถุสี่เหลี่ยม วงกลม และดาว ใช้ระบบการประมวลผลแบบกระจาย กระจายวัตถุที่ต้องการประมวลผลไปแต่ละเครื่อง พอประมวลผลเสร็จ ส่งค่ากลับมาคืน
- เครื่องที่ประมวลผลวัตถุแต่ละอัน คือ โหนด (nodes)
- เครื่องที่กระจายการประมวลผลไปให้โหนด (nodes) หรือรวมกลุ่มโหนด คือ คลัสเตอร์ (Cluster)
ทำให้เซิฟเวอร์ต้องประมวลผลทั้ง 3 วัตถุเพียงเครื่องเดียว จึงส่งให้เวลาตอบสนองที่ได้ (response time) ช้ากว่าระบบการประมวลผลแบบกระจาย และใช้ต้นทุนสูงกว่า เพราะต้องการเซิฟเวอร์ที่มีประสิทธิภาพมากเพียงพอสำหรับการใช้งานประมวลผล
อ่านเพิ่มเติมได้ที่ http://ecomputernotes.com/computernetworkingnotes/computer-network/what-is-a-computer-network
สำหรับภาษา Python เราสามารถใช้ระบบการประมวลผลแบบกระจาย กระจายการประมวลผลไปยังเครื่องอื่น ๆ ได้ง่าย ๆ ด้วยโมดูล
distributed
โมดูล
distributed
เป็นโมดูลระบบการประมวลผลแบบกระจายในภาษา Python- เป็น Pure Python
- Low latency
- Peer-to-peer data sharing
- ใช้ BSD License
$ pip install dask distributed --upgrade
เราจะลองสร้างระบบการประมวลผลแบบกระจายด้วยโมดูล
distributed
กันครับ1. สร้าง dask-scheduler (เป็น คลัสเตอร์ (Cluster)) เป็นเครื่องหลักสำหรับใช้กระจายการประมวลผล
ใช้คำสั่ง
$ dask-scheduler
จะปรากฎที่ตั้ง IP address ในเครือข่ายมา รันค้างไว้2. สร้าง dask-worker (เป็นโหนด (nodes))สำหรับใช้เชื่อมต่อเพื่อประมวลผลข้อมูลที่ถูกกระจายการประมวลผลจาก dask-scheduler สามารถรันคำสั่งนี้ได้จากเครื่อง dask-scheduler หรือเครื่องอื่นในเครือข่ายเดียวกัน
ใช้คำสั่ง
$ dask-worker ไอพีเครื่องdask-schedulerพร้อมport
รันค้างไว้
3. เขียนโค้ดส่งคำสั่งประมวลผลไปยัง dask-scheduler
>>> from dask.distributed import Client >>> client = Client('ไอพีเครื่องdask-schedulerพร้อมport')
ตัวอย่างเช่น
>>> from dask.distributed import Client >>> client = Client('192.168.1.106:8786')
แล้วส่งการประมวลผลได้ตามตัวอย่างนี้
หากไม่ปรากฎโค้ด ดูโค้ดได้ที่ https://gist.github.com/wannaphong/b21491328a6f1ce7ced12b8fe8c554d7
เพียงเท่านี้เราก็ทำระบบการประมวลผลแบบกระจาย (Distributed Computing) เป็นอันเรียบร้อย
อ่านเอกสารเพิ่มเติมได้ที่ http://distributed.readthedocs.io
สอน Python
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)