สารบาญตามตัวอักษร 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
ในคอมพิวเตอร์ 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, MPPupdate: 22 กรกฎาคม 2543
|
|