กลับไปหน้าบทความ

อ่าน 4 นาที

การประมวลผลแบบมัลติโปรเซสซิ่ง

การประมวลผลแบบมัลติโปรเซสซิ่ง ( MP ) คือการใช้ หน่วยประมวลผลกลาง (CPU) สองตัวขึ้นไปภายในระบบ คอมพิวเตอร์ เครื่องเดียว [ 1 ] [ 2 ]...

การประมวลผลแบบมัลติโปรเซสซิ่ง

การประมวลผลแบบมัลติโปรเซสซิ่ง ( MP ) คือการใช้หน่วยประมวลผลกลาง (CPU) สองตัวขึ้นไปภายในระบบคอมพิวเตอร์ เครื่องเดียว [ 1 ] [ 2 ]คำนี้ยังหมายถึงความสามารถของระบบในการรองรับโปรเซสเซอร์มากกว่าหนึ่งตัวหรือความสามารถในการจัดสรรงานระหว่างโปรเซสเซอร์เหล่านั้น มีหลายรูปแบบของแนวคิดพื้นฐานนี้ และคำจำกัดความของการประมวลผลแบบมัลติโปรเซสซิ่งอาจแตกต่างกันไปตามบริบท โดยส่วนใหญ่ขึ้นอยู่กับวิธีการกำหนดโปรเซสเซอร์ ( โปรเซสเซอร์แบบมัลติคอร์ (หลายคอร์) บนชิป ตัวเดียว ชิปหลายตัวใน ตัวพาชิป (แพ็คเกจ) เดียว แพ็คเกจหลายตัวใน เคสคอมพิวเตอร์ (หน่วยระบบ) เดียว เป็นต้น)

ระบบมัลติโปรเซสเซอร์คือระบบคอมพิวเตอร์ที่มี CPU (โปรเซสเซอร์: โปรเซสเซอร์หลายตัว) สองตัวขึ้นไป โดยแต่ละตัวใช้หน่วยความจำหลักและอุปกรณ์ต่อพ่วงร่วมกัน เพื่อประมวลผลโปรแกรมพร้อมกัน[ 3 ] [ 4 ] ตำราเรียนปี 2009 ได้นิยามระบบมัลติโปรเซสเซอร์ในลักษณะเดียวกัน แต่ระบุว่าโปรเซสเซอร์อาจใช้ "หน่วยความจำและสิ่งอำนวยความสะดวก I/Oของระบบบางส่วนหรือทั้งหมดร่วมกัน" นอกจากนี้ยังให้ คำว่า ระบบที่เชื่อมต่อกันอย่างแน่นหนาเป็นคำพ้องความหมาย[ 5 ]

ในระดับระบบปฏิบัติการ บางครั้งคำว่า มัลติโปรเซสซิ่งถูกใช้เพื่ออ้างถึงการทำงานของหลายกระบวนการ พร้อมกัน ในระบบ โดยแต่ละกระบวนการทำงานบน CPU หรือคอร์ที่แยกจากกัน ซึ่งแตกต่างจากการทำงานเพียงกระบวนการเดียวในแต่ละช่วงเวลา[ 6 ] [ 7 ]เมื่อใช้กับคำจำกัดความนี้ บางครั้งมัลติโปรเซสซิ่งจะถูกเปรียบเทียบกับมัลติทาสกิ้งซึ่งอาจใช้โปรเซสเซอร์เพียงตัวเดียว แต่สลับไปใช้ในช่วงเวลาระหว่างงานต่างๆ (เช่นระบบแบ่งเวลา ) ในทางตรงกันข้าม มัลติโปรเซสซิ่งหมายถึงการทำงานแบบขนานที่แท้จริงของหลายกระบวนการโดยใช้โปรเซสเซอร์มากกว่าหนึ่งตัว[ 7 ]มัลติโปรเซสซิ่งไม่ได้หมายความว่ากระบวนการหรือภารกิจหนึ่งๆ จะใช้โปรเซสเซอร์มากกว่าหนึ่งตัวพร้อมกันเสมอไป คำว่าการประมวลผลแบบขนานโดยทั่วไปใช้เพื่อบ่งบอกถึงการปฏิบัติเช่นนั้น[ 6 ]ผู้เขียนคนอื่นๆ นิยมอ้างถึงเทคนิคของระบบปฏิบัติการว่าเป็นมัลติโปรแกรมมิ่งและสงวนคำว่ามัลติโปรเซส ซิ่งไว้ สำหรับด้านฮาร์ดแวร์ของการมีโปรเซสเซอร์มากกว่าหนึ่งตัว[ 2 ] [ 8 ]ส่วนที่เหลือของบทความนี้จะกล่าวถึงมัลติโปรเซสซิ่งเฉพาะในแง่ของฮาร์ดแวร์เท่านั้น

ในอนุกรมวิธานของฟลินน์มัลติโปรเซสเซอร์ตามที่กำหนดไว้ข้างต้นคือ เครื่องจักร แบบหลายคำสั่ง หลายข้อมูล (MIMD) [ 9 ] [ 10 ]เนื่องจากคำว่า "มัลติโปรเซสเซอร์" โดยปกติหมายถึงระบบที่เชื่อมโยงกันอย่างแน่นหนาซึ่งโปรเซสเซอร์ทั้งหมดใช้หน่วยความจำร่วมกัน มัลติโปรเซสเซอร์จึงไม่ใช่เครื่องจักร MIMD ทั้งหมด ซึ่งรวมถึงระบบมัลติคอมพิวเตอร์แบบส่งข้อความ ด้วย [ 9 ]

หัวข้อสำคัญ

ความสมมาตรของโปรเซสเซอร์

ใน ระบบ มัลติโปรเซสซิ่ง ซีพียูทั้งหมดอาจมีประสิทธิภาพเท่ากัน หรือบางส่วนอาจถูกสงวนไว้สำหรับวัตถุประสงค์พิเศษ การพิจารณาด้านการออกแบบฮาร์ดแวร์และ ซอฟต์แวร์ ระบบปฏิบัติการจะเป็นตัวกำหนดความสมมาตร (หรือการขาดความสมมาตร) ในระบบนั้นๆ ตัวอย่างเช่น การพิจารณาด้านฮาร์ดแวร์หรือซอฟต์แวร์อาจกำหนดให้มีเพียงซีพียูตัวใดตัวหนึ่งเท่านั้นที่ตอบสนองต่อการขัดจังหวะของฮาร์ดแวร์ทั้งหมด ในขณะที่งานอื่นๆ ในระบบอาจกระจายอย่างเท่าเทียมกันในหมู่ซีพียู หรือการทำงานของโค้ดในโหมดเคอร์เนลอาจถูกจำกัดไว้ที่ซีพียูที่กำหนดไว้เพียงตัวเดียว ในขณะที่โค้ดในโหมดผู้ใช้สามารถทำงานได้ในโปรเซสเซอร์ใดๆ ก็ได้ ระบบมัลติโปรเซสซิ่งมักออกแบบได้ง่ายกว่าหากมีการกำหนดข้อจำกัดดังกล่าว แต่โดยทั่วไปแล้วจะมีประสิทธิภาพน้อยกว่าระบบที่ใช้ซีพียูทั้งหมด

ระบบที่ปฏิบัติต่อซีพียูทุกตัวอย่างเท่าเทียมกันเรียกว่า ระบบ มัลติโปรเซสซิ่งแบบสมมาตร (SMP) ในระบบที่ซีพียูทุกตัวไม่เท่าเทียมกัน ทรัพยากรของระบบอาจถูกแบ่งได้หลายวิธี รวมถึงมัลติโปรเซสซิ่งแบบ ไม่สมมาตร (ASMP) มัลติโปรเซสซิ่งแบบ เข้าถึงหน่วยความจำไม่สม่ำเสมอ (NUMA) และมัลติโปรเซสซิ่ง แบบคลัสเตอร์

ระบบมัลติโปรเซสเซอร์แบบมาสเตอร์/สเลฟ

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

ตัวอย่างแรกๆ ของคอมพิวเตอร์เมนเฟรมแบบมาสเตอร์/สเลฟมัลติโปรเซสเซอร์ ได้แก่Bull Gamma 60และBurroughs B5000 [ 11 ]

ตัวอย่างแรกๆ ของระบบมัลติโปรเซสเซอร์แบบมาสเตอร์/สเลฟ คือ คอมพิวเตอร์ตั้งโต๊ะ Tandy/Radio Shack รุ่น TRS-80 Model 16 ที่วางจำหน่ายในเดือนกุมภาพันธ์ ปี 1982 มันใช้ระบบปฏิบัติการ Xenixแบบมัลติยูเซอร์/มัลติทาสก์ ซึ่งเป็นเวอร์ชันของUnix จาก Microsoft (ชื่อ TRS-XENIX) Model 16 มีไมโครโปรเซสเซอร์สองตัว คือ CPU Zilog Z80 แบบ 8 บิต ทำงานที่ความเร็ว 4 MHz และ CPU Motorola 68000 แบบ 16 บิตทำงานที่ความเร็ว 6 MHz เมื่อระบบเริ่มทำงาน Z-80 จะเป็นตัวมาสเตอร์ และกระบวนการบูตของ Xenix จะเริ่มต้นการทำงานของ 68000 ซึ่งเป็นตัวสเลฟ จากนั้นจะถ่ายโอนการควบคุมไปยัง 68000 หลังจากนั้น CPU ทั้งสองจะเปลี่ยนบทบาทกัน โดย Z-80 จะกลายเป็นโปรเซสเซอร์สเลฟที่รับผิดชอบ การทำงาน ด้านอินพุต/เอาต์พุต (I/O) ทั้งหมด รวมถึงดิสก์ การสื่อสาร เครื่องพิมพ์ และเครือข่าย คีย์บอร์ด และจอภาพในตัว ในขณะที่ระบบปฏิบัติการและแอปพลิเคชันทำงานบน CPU 68000 Z-80 สามารถนำไปใช้งานอื่นๆ ได้อีกด้วย

TRS-80 รุ่น II รุ่นก่อนหน้าซึ่งวางจำหน่ายในปี 1979 ก็เป็นระบบมัลติโปรเซสเซอร์เช่นกัน เนื่องจากมีทั้ง CPU Z-80 และไมโครคอนโทรลเลอร์ Intel 8021 [ 12 ]ในแป้นพิมพ์ ไมโครคอนโทรลเลอร์ 8021 ทำให้ Model II เป็นระบบคอมพิวเตอร์ตั้งโต๊ะเครื่องแรกที่มีแป้นพิมพ์แบบถอดแยกได้น้ำหนักเบาที่เชื่อมต่อด้วยสายไฟบางๆ ที่ยืดหยุ่นได้เพียงเส้นเดียว และน่าจะเป็นแป้นพิมพ์เครื่องแรกที่ใช้ไมโครคอนโทรลเลอร์เฉพาะ ซึ่งคุณสมบัติทั้งสองนี้ถูกลอกเลียนแบบโดย Apple และ IBM ในอีกหลายปีต่อมา

คำสั่งและกระแสข้อมูล

ในการประมวลผลแบบมัลติโปรเซสซิ่ง โปรเซสเซอร์สามารถใช้เพื่อประมวลผลลำดับคำสั่งเดียวในหลายบริบท ( คำสั่งเดียว ข้อมูลหลายชุด (SIMD) ซึ่งมักใช้ในการประมวลผลแบบเวกเตอร์ ) ลำดับคำสั่งหลายชุดในบริบทเดียว ( คำสั่งหลายชุด ข้อมูลชุดเดียวหรือ MISD ซึ่งใช้สำหรับความซ้ำซ้อนในระบบป้องกันความล้มเหลว และบางครั้งใช้เพื่ออธิบายโปรเซสเซอร์แบบไปป์ไลน์หรือไฮเปอร์เธรดดิ้ง ) หรือลำดับคำสั่งหลายชุดในหลายบริบท ( คำสั่งหลายชุด ข้อมูลหลายชุดหรือ MIMD)

การเชื่อมต่อโปรเซสเซอร์

ระบบมัลติโปรเซสเซอร์ที่เชื่อมต่ออย่างแน่นหนา

ระบบมัลติโปรเซสเซอร์แบบเชื่อมต่อแน่น (Tightly coupled multiprocessor systems) ประกอบด้วยซีพียูหลายตัวที่เชื่อมต่อกันในระดับบัส ซีพียูเหล่านี้อาจเข้าถึงหน่วยความจำส่วนกลางที่ใช้ร่วมกัน (SMP หรือUniform Memory Access (UMA)) หรืออาจมีส่วนร่วมในลำดับชั้นของหน่วยความจำที่มีทั้งหน่วยความจำภายในและหน่วยความจำที่ใช้ร่วมกัน (SM) ( NUMA ) IBM p690 Regatta เป็นตัวอย่างของระบบ SMP ระดับสูง โปรเซสเซอร์ Intel Xeon ครองตลาดมัลติโปรเซสเซอร์สำหรับพีซีธุรกิจและเป็นตัวเลือก x86 หลักเพียงตัวเดียวจนกระทั่ง AMDเปิด ตัวโปรเซสเซอร์ Opteron ในปี 2004 โปรเซสเซอร์ทั้งสองตระกูลมีแคชในตัว แต่ ให้การเข้าถึงหน่วยความจำที่ใช้ร่วมกัน โดยโปรเซสเซอร์ Xeon ผ่านทางท่อร่วม และโปรเซสเซอร์ Opteron ผ่านทางเส้นทางอิสระไปยัง หน่วยความจำเข้าถึงแบบสุ่มของระบบ(RAM)

ชิปมัลติโปรเซสเซอร์ หรือที่เรียกว่า การประมวลผล แบบมัลติคอร์คือการรวมโปรเซสเซอร์มากกว่าหนึ่งตัวไว้บนชิปเดียว และสามารถมองได้ว่าเป็นรูปแบบการประมวลผลแบบมัลติโปรเซสเซอร์ที่เชื่อมโยงกันอย่างแน่นหนาที่สุด ระบบเมนเฟรมที่มีโปรเซสเซอร์หลายตัวมักมีการเชื่อมโยงกันอย่างแน่นหนา

ระบบมัลติโปรเซสเซอร์แบบเชื่อมต่อหลวมๆ

ระบบมัลติโปรเซสเซอร์แบบเชื่อมต่อหลวมๆ (มักเรียกว่าคลัสเตอร์ ) นั้นประกอบด้วยคอมพิวเตอร์แบบ สแตนด์อโลนที่มีจำนวนโปรเซสเซอร์ค่อนข้างน้อยหลายเครื่อง ที่เชื่อมต่อกันผ่านระบบสื่อสารความเร็วสูง ( โดยทั่วไปคือ Gigabit Ethernet ) คลัสเตอร์ Linux Beowulfเป็นตัวอย่างหนึ่งของระบบ แบบเชื่อมต่อหลวมๆ

ระบบที่มีการเชื่อมต่ออย่างแน่นหนาจะมีประสิทธิภาพดีกว่าและมีขนาดเล็กกว่าระบบที่มีการเชื่อมต่ออย่างหลวมๆ แต่ในอดีตต้องใช้เงินลงทุนเริ่มต้นมากกว่าและอาจเสื่อมราคาอย่างรวดเร็ว ในขณะที่โหนดในระบบที่มีการเชื่อมต่ออย่างหลวมๆ มักเป็นคอมพิวเตอร์ราคาไม่แพงและสามารถนำกลับมาใช้ใหม่เป็นเครื่องอิสระได้เมื่อหมดอายุการใช้งานจากคลัสเตอร์

การใช้พลังงานก็เป็นอีกปัจจัยหนึ่งที่ต้องพิจารณา ระบบที่มีการเชื่อมต่ออย่างแน่นหนา cenderung มีประสิทธิภาพด้านพลังงานมากกว่าคลัสเตอร์มาก เนื่องจากสามารถลดการใช้พลังงานได้อย่างมากโดยการออกแบบส่วนประกอบให้ทำงานร่วมกันตั้งแต่เริ่มต้นในระบบที่มีการเชื่อมต่ออย่างแน่นหนา ในขณะที่ระบบที่มีการเชื่อมต่ออย่างหลวมๆ ใช้ส่วนประกอบที่ไม่ได้ออกแบบมาเพื่อใช้ในระบบดังกล่าวโดยเฉพาะ

ระบบที่มีการเชื่อมต่อแบบหลวมๆ มีความสามารถในการใช้งานระบบปฏิบัติการหรือเวอร์ชันระบบปฏิบัติการที่แตกต่างกันบนระบบต่างๆ ได้

ข้อเสีย

การรวมข้อมูลจากเธรดหรือกระบวนการ หลายรายการ อาจทำให้เกิดภาระงานจำนวนมากเนื่องจาก การแก้ไข ข้อขัดแย้งความสอดคล้องของข้อมูลการกำหนดเวอร์ชัน และการซิงโครไนซ์[ 13 ]

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Multiprocessing&oldid=1352531019 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การประมวลผลแบบมัลติโปรเซสซิ่ง

การประมวลผลแบบมัลติโปรเซสซิ่ง ( MP ) คือการใช้ หน่วยประมวลผลกลาง (CPU) สองตัวขึ้นไปภายในระบบ คอมพิวเตอร์ เครื่องเดียว [ 1 ] [ 2 ]...

ความสมมาตรของโปรเซสเซอร์

ใน ระบบ มัลติโปรเซส ซิ่ง ซีพียูทั้งหมดอาจมีประสิทธิภาพเท่ากัน หรือบางส่วนอาจถูกสงวนไว้สำหรับวัตถุประสงค์พิเศษ การพิจารณาด้านการออกแบบฮาร์ดแวร์และ ซอฟต์แวร์ ระบบปฏิบัติการ จะเป็นตัวกำหนดความสมมาตร (หรือการขาดความสมมาตร) ในระบบนั้นๆ ตัวอย่างเช่น...

คำสั่งและกระแสข้อมูล

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

การเชื่อมต่อโปรเซสเซอร์

ระบบมัลติโปรเซสเซอร์แบบเชื่อมต่อแน่น (Tightly coupled multiprocessor systems) ประกอบด้วยซีพียูหลายตัวที่เชื่อมต่อกันในระดับบัส ซีพียูเหล่านี้อาจเข้าถึงหน่วยความจำส่วนกลางที่ใช้ร่วมกัน (SMP หรือ Uniform Memory Access (UMA))...