IT A-Z

เข้าสู่ระบบ

สารบาญตามตัวอักษร

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

parallel processing

ที่มา SearchDataCenter.com

  :   ผู้ชม 7004

ในคอมพิวเตอร์ parallel processing (การประมวลผลแบบขนาน) เป็นการประมวลผลคำสั่งโปรแกรมโดยการแบ่งให้กับหลายโพรเซสเซอร์ด้วยวัตถุประสงค์เรียกใช้โปรแกรมในเวลาน้อย ในคอมพิวเตอร์ยุคแรก มีเพียงหนึ่งโปรแกรมที่ทำงานในแต่ละครั้ง โปรแกรมแบบ computation-intensive ใช้เวลาหนึ่งชั่วโมงในการทำงานและหนึ่งชั่วโมงอ่านสำเนาโปรแกรมจากเทปเท่ากับใช้เวลารวมสองชั่วโมงในการประมวลผล รูปแบบแรกๆ ของการประมวลผลแบบขนานยอมให้ประมวลผลแทรกของสองโปรแกรมพร้อมกัน เครื่องคอมพิวเตอร์เริ่มทำงานจากปฏิบัติการนำเข้า/ส่งออก ขณะที่คอยปฏิบัติการเสร็จสิ้น ก็จะประมวลโปรแกรม processor-intensive เวลาการประมวลผลรวมสองงานจะมากกว่าหนึ่งชั่วโมงเล็กน้อย

การปรับปรุงต่อมาคือ multiprogramming (ระบบหลายโปรแกรม) ในระบบนี้ หลายโปรแกรมที่ส่งโดยผู้ใช้จะยอมให้ใช้โพรเซสเซอร์ในเวลาสั้น สิ่งที่จะปรากฏกับผู้ใช้คือ โปรแกรมทั้งหมดกำลังประมวลผลพร้อมกัน ปัญหาของการแย่งทรัพยากรเกิดขึ้นครั้งแรกในระบบนี้ การขอทรัพยากรชัดเจนนำไปสู่ปัญหาเงื่อนตาย การแย่งชิงทรัพยากรบนเครื่องโดยไม่มีคำสั่งหยุดนำไปสู่วิกฤติในส่วนงานประจำ

ขั้นต่อไปในการประมวลผลแบบขนานคือ การแนะนำ multiprocessing (หลายการประมวลผล) ระบบนี้ แบ่งปันงานระหว่างสองโพรเซสเซอร์หรือมากกว่า เวอร์ชันแรกสุดมีการคอนฟิกแบบ master/slave โพรเซสซอร์ตัวหนึ่ง (master) ได้รับการโปรแกรมให้รับผิดชอบงานทั้งหมดของระบบ โพรเซสเซอร์ตัวอื่น (slave) ทำงานเฉพาะภารกิจที่ได้รับมอบหมายจาก master การจัดสรรนี้มีความจำเป็นเพราะยังไม่ทราบวิธีการโปรแกรมให้เครื่องรู้ แต่วิธีนี้ทำให้มีการประสานกันในการจัดการทรัพยากรของระบบ

การแก้ไขปัญหานี้ได้นำไปสู่ระบบ symmetric multiprocessing system หรือ SMP ในระบบนี้ โพรเซสเซอร์แต่ละตัวมีความสามารถและความรับผิดชอบเท่ากันสำหรับการจัดการการไหลของงานผ่านระบบ เริ่มแรก เป้าหมายคือทำให้ระบบ SMP ปรากฏกับโปรแกรมเมอร์ให้เหมือนกับโพรเซสเซอร์ตัวเดียว ระบบหลายโปรแกรม (multiprogramming) มาตรฐานของลักษณะนี้เรียกว่า ความแนบในแบบอนุกรม (sequential consistency) อย่างไรก็ตาม วิศวกรพบว่า การทำงานของระบบสามารถเพิ่มขึ้นในบางครั้งในช่วง 10-20% โดยไม่ประมวลผลบางคำสั่งและต้องการให้โปรแกรมเมอร์เข้ามาเกี่ยวข้องกับความซับซ้อนที่เพิ่มขึ้น (ปัญหาสามารถมองเห็นได้ เมื่อมีสองโปรแกรมหรือมากกว่าอ่านและเขียน operand เดียวกันอย่างพร้อมกัน ดังนั้น ภาระของทำงานกับการเพิ่มเพิ่มขึ้นตกเป็นของโปรแกรมเมอร์จำนวนน้อยและในสภาพแวดล้อมเฉพาะมาก) คำถามคือ เครื่อง SMP จะให้การแบ่งปันข้อมูล ถ้ายังไม่มีการแก้ไข

เมื่อจำนวนโพรเซสเซอร์ในระบบ SMP เพิ่มขึ้น เวลาในการดึงข้อมูลเพื่อเผยแพร่จากส่วนหนึ่งของระบบไปยังส่วนอื่นเพิ่มขึ้นด้วย เมื่อจำนวนโพรเซสเซอร์อยู่ในช่วงหลายสิบตัว ผลได้การทำงานของการเพิ่มโพรเซสเซอร์ในระบบมีน้อยมากแต่เป็นการเพิ่มค่าใช้จ่าย ในการแก้ไขปัญหาของเวลาเผยแพร่นานได้ใช้ระบบส่งข่าวสาร ในระบบเหล่านี้ โปรแกรมที่แบ่งปันข้อมูลส่งข่าวสารไปยังโพรเซสเซอร์อื่นเพื่อประกาศว่า operand เจาะจงได้รับการกำหนดค่าใหม่แล้ว ค่าใหม่นี้จะสื่อสารเฉพาะกับโปรแกรมที่ต้องการทราบค่าใหม่ แทนที่จะประกาศค่าใหม่ของ operand ไปยังทุกส่วนของระบบ เครือข่ายจะสนับสนุนการส่งผ่านข่าวสารระหว่างโปรแกรม แทนการแบ่งปันหน่วยความจำ ความง่ายนี้ยอมให้โพรเซสเซอร์หลายร้อยตัว จนถึงพันทำงานร่วมกันอย่างมีประสิทธิภาพในระบบเดียว (ในภาษาพูดของสถาปัตยกรรมระบบ ระบบเหล่านี้ “ขยายได้”) ดังนั้น ระบบเช่นนี้ได้ให้ชื่อว่าระบบ massively parallel processing หรือ MPP (การประมวลผลแบบขนานขนาดใหญ่)

การประยุกต์ MPP ด้วยความสามารถแยกย่อยลงไปจำนวนมาก ประสบความสำเร็จมากที่สุดสำหรับปัญหาการปฏิบัติอิสระกับข้อมูลขนาดใหญ่ ใน data mining มีความจำเป็นในการค้นหาฐานข้อมูลสถิตจำนวนมาก ใน artificial intelligence (ปัญญาประดิษฐ์) มีความจำเป็นในการวิเคราะห์หลายทางเลือก เช่น เกมหมากรุก ระบบ MPP มักจะมีโครงสร้างเป็นคลัสเตอร์ (cluster) ของโพรเซสเซอร์ ภายในแต่ละคลัสเตอร์ โพรเซสเซอร์ปฏิสัมพันธ์ในระบบ SMP มีการส่งข่าวสารเฉพาะระหว่างคลัสเตอร์ ระบบ MPP บางระบบเรียกว่า NUMA machine สำหรับ Non-Uniform Memory Addressing เพราะ operand อาจจะระบุทั้งผ่านข่าวสารหรือที่อยู่หน่วยความจำ เครื่อง SMP เขียนโปรแกรมได้ง่ายกว่าเครื่อง MPP เครื่อง SMP ทำได้ดีกับปัญหาทุกประเภท โดยให้จำนวนข้อมูลรวมไม่ใหญ่เกินไป สำหรับปัญหาแน่นอน เช่น data mining กับฐานข้อมูลขนาดใหญ่ มีเพียงระบบ MPP รองรับได้

ศัพท์เกี่ยวข้อง

cluster, data mining, processor, multiprocessing, SMP, artificial intelligence, program, deadlock, critical section routine, master/slave, sequential consistency, MPP

update: 22 กรกฎาคม 2543

IT A-Z ปรับปรุงล่าสุด
abacus
zero-day exploit
MPP (massively parallel processing)
message queueing
medium
semaphore
master/slave
MAC address (Media Access Control address)
mash-up
vlog
LANDesk Client Manager
laptop computer
linkrot
Itanium
Job Entry Subsystem (JES)
IP telephony (Internet Protocol telephony)
Kerberos
iterative
interoperability
interface definition language (IDL)

Loading
Microsoft Access
Access
ไชยวัฒน์ ตระการรัตน์สันติ สั่งซื้อผ่าน PayPal ในราคา 280 บาท
อุ้มผาง เบื้องหลังธรรมชาติ
Umphang
รู้จักอุ้มผางในอีกแง่มุม โดย ประชา แม่จัน
สั่งซื้อผ่าน PayPal ในราคา 90 บาท
สงวนลิขสิทธิ์ (C) widebase