การคำนวณแบบกระจายเทียบกับแบบขนาน


61

ฉันมักจะได้ยินคนพูดถึงการคำนวณแบบขนานและการคำนวณแบบกระจายแต่ฉันรู้สึกว่าไม่มีขอบเขตที่ชัดเจนระหว่าง 2 และผู้คนมักจะสับสนอย่างง่ายดายในขณะที่ฉันเชื่อว่ามันแตกต่างกันมาก:

  • การคำนวณแบบขนานนั้นมีความเชื่อมโยงกับมัลติเธรดอย่างแน่นหนามากขึ้นหรือวิธีการใช้งาน CPU อย่างเต็มรูปแบบ
  • การคำนวณแบบกระจายหมายถึงแนวคิดของการแบ่งและพิชิตการเรียกใช้งานย่อยในเครื่องที่แตกต่างกันแล้วรวมผลลัพธ์

อย่างไรก็ตามเนื่องจากเราก้าวเข้าสู่ยุคข้อมูลขนาดใหญ่ดูเหมือนว่าความแตกต่างกำลังจะละลายและระบบส่วนใหญ่ในปัจจุบันใช้การผสมผสานระหว่างการคำนวณแบบขนานและแบบกระจาย

ตัวอย่างที่ฉันใช้ในงานประจำวันของฉันคือ Hadoop พร้อมแผนที่ / ลดกระบวนทัศน์ระบบการกระจายที่ชัดเจนกับพนักงานที่ปฏิบัติงานบนเครื่องที่แตกต่างกัน แต่ยังใช้ประโยชน์จากเครื่องแต่ละเครื่องด้วยการคำนวณแบบขนาน

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


5
การคำนวณแบบขนานไม่ได้แปลว่า CPU ตัวเดียว: มีระบบที่มี CPU จริงหลายตัว
svick

2
นอกจากนี้การคำนวณแบบกระจายไม่ได้จำกัด อยู่ที่การแบ่ง & พิชิตต่อ se ฉันมีปัญหามากขึ้นกับคนที่สับสนพร้อมกันและขนาน
ราฟาเอล

1
หากคุณระบุที่อยู่ในการคำนวณแบบกระจายคุณจะต้องจัดการกับกรณีความล้มเหลวที่ลึกกว่านั้นมาก มีหลายสิ่งที่เผยแพร่ด้วยเหตุผลทางภูมิศาสตร์เท่านั้น ระบบแบบกระจายบางระบบมีการทำงานแบบขนานมากเนื่องจากโหนดกลางในเครือข่ายเป็นคอขวด
Rob

ที่เกี่ยวข้อง: cs.stackexchange.com/q/51099/755
DW

คำตอบ:


57

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

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

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

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


2
คำตอบที่ดี. หนึ่งควรเน้นว่าการคำนวณแบบกระจายเป็นส่วนย่อยของการคำนวณแบบขนาน
กราฟิลส์

6
@ ราฟาเอล: ฉันไม่คิดว่ามันหมายถึงจุดเน้นของทั้งสองฟิลด์ แน่นอนพวกเขามักจะพิจารณาว่าเป็นสาขาที่แยกจากกันอย่างสมบูรณ์เพราะพวกเขาจัดการกับปัญหาที่แตกต่างกันโดยสิ้นเชิง เมื่อการเขียนโปรแกรมคอมพิวเตอร์แบบขนานโดยใช้ MPI นั้นไม่ได้เกี่ยวข้องกับตัวเองด้วยความล้มเหลวบางส่วนเพราะสิ่งเหล่านี้มีโอกาสน้อยที่จะเกิดขึ้นในคอมพิวเตอร์ดังกล่าว ในทางกลับกันการคำนวณแบบกระจายจะเกี่ยวข้องกับปัญหาของการกระจายเช่นความล้มเหลวบางส่วนและมีความกังวลน้อยมากเกี่ยวกับการบีบทุกรอบของ CPU ออกจากเครื่องที่มีอยู่
Dave Clarke

4
@ ราฟาเอลในทางตรงกันข้ามการคำนวณแบบกระจายนั้นไม่ขึ้นอยู่กับการคำนวณแบบขนาน ในการศึกษาระบบกระจายการคำนวณแบบขนานเป็นกรณีที่น่าเบื่อ (ไม่มีทรัพยากรในท้องถิ่นที่น่าสนใจไม่มีความล้มเหลว)
Gilles

ฉันใช้คำอย่างแท้จริง เลวร้ายเกินไปถ้าข้อกำหนดได้รับการจัดสรรและทำให้แยกออก
กราฟิลส์

ขอบคุณสำหรับคำตอบของคุณ @Gilles ดูเหมือนว่าฉันจะลำเอียงไปนิดหน่อยต่อการคำนวณแบบกระจายดีใจที่เห็นคนที่อ้างถึงบางอย่างตามเงื่อนไขที่เหมาะสม!
Charles Menguy

17

ตามที่ชี้แจงโดย @Raphael การคำนวณแบบกระจายเป็นส่วนย่อยของการคำนวณแบบขนาน ในทางกลับกันการคำนวณแบบขนานเป็นส่วนย่อยของการคำนวณแบบพร้อมกัน

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

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

การเกิดขึ้นพร้อมกันจะเกิดขึ้นพร้อมกันเมื่อกระบวนการ (หรือเธรด) ทำงานบนCPU ที่แตกต่างกัน (หรือแกนของ CPU เดียวกัน) การขนานในกรณีนี้ไม่ใช่ "เสมือน" แต่เป็น "ของจริง"

เมื่อซีพียูเหล่านั้นเป็นของเครื่องเดียวกันเราจะอ้างถึงการคำนวณว่า "ขนาน"; เมื่อซีพียูเป็นของเครื่องที่แตกต่างกันอาจแพร่กระจายทางภูมิศาสตร์เราอ้างถึงการคำนวณว่า "กระจาย"

ดังนั้น Distributed Computing จึงเป็นเซตย่อยของ Parallel Computing ซึ่งเป็นเซตย่อยของ Concurrent Computing

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

  1. แก้ปัญหาการประมวลผลแบบเร่งรัดได้เร็วขึ้น
  2. แก้ไขปัญหาที่ใหญ่กว่าในเวลาเดียวกัน
  3. แก้ไขปัญหาขนาดเดียวกันโดยมีความแม่นยำสูงกว่าในเวลาเดียวกัน

ในอดีตเป้าหมายแรกคือเหตุผลหลักสำหรับการคำนวณแบบขนาน: เร่งการแก้ปัญหา ในขณะนี้และเมื่อเป็นไปได้ที่นักวิทยาศาสตร์ส่วนใหญ่ใช้การคำนวณแบบขนานเพื่อให้บรรลุทั้งเป้าหมายที่สอง (เช่นพวกเขายินดีที่จะใช้จ่ายจำนวนเดียวกันของเวลา พวกเขาใช้เวลาในการแก้ปัญหาที่ผ่านมาในปัญหาขนานขนาดที่จะแก้ปัญหาในขณะนี้ปัญหา ขนาด ) หรือหนึ่งในสาม (กล่าวคือพวกเขายินดีที่จะใช้จ่ายจำนวนเดียวกันของเวลาพวกเขาใช้เวลาในการแก้ปัญหาที่ผ่านมาในปัญหาขนานขนาดในการแก้ปัญหาที่เกิดขึ้นในขณะนี้ที่มีขนาดx 5 x T x xTx5xTxxแต่ด้วยความแม่นยำที่สูงขึ้นโดยใช้แบบจำลองที่ซับซ้อนยิ่งขึ้นสมการตัวแปรและข้อ จำกัด ที่มากขึ้น) การคำนวณแบบขนานอาจใช้หน่วยความจำที่แชร์การส่งผ่านข้อความหรือทั้งสองอย่าง (เช่นอินทรา - หน่วยความจำที่แชร์กันโดยใช้ OpenMP, การส่งผ่านข้อความระหว่างโหนดโดยใช้ MPI); มันอาจใช้ตัวเร่ง GPU เช่นกัน เนื่องจากแอปพลิเคชันทำงานในซูเปอร์คอมพิวเตอร์แบบขนานหนึ่งเครื่องเรามักไม่คำนึงถึงปัญหาต่าง ๆ เช่นความล้มเหลวพาร์ติชันเครือข่าย ฯลฯ เนื่องจากความน่าจะเป็นของเหตุการณ์เหล่านี้คือเพื่อการปฏิบัติงานใกล้กับศูนย์ อย่างไรก็ตามแอปพลิเคชันแบบขนานขนาดใหญ่เช่นการจำลองการเปลี่ยนแปลงสภาพภูมิอากาศซึ่งอาจทำงานเป็นเวลาหลายเดือนมักเกี่ยวข้องกับความล้มเหลวและใช้กลไกการตรวจสอบ / รีสตาร์ทเพื่อหลีกเลี่ยงการเริ่มการจำลองอีกครั้งตั้งแต่ต้นหากมีปัญหาเกิดขึ้น

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

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


2
ฉันคิดว่าคำตอบนี้ทำให้เข้าใจผิดเล็กน้อย มันมุ่งเน้นไปที่การคำนวณประสิทธิภาพสูงแบบกระจาย(ซึ่งจริง ๆ แล้วเกี่ยวข้องกับการคำนวณแบบขนานประสิทธิภาพสูง) ในขณะที่การคำนวณแบบกระจายทั้งหมดนั้นกว้างกว่ามาก
Jukka Suomela

ฉันไม่เห็นด้วย: คำตอบยังรวมถึงการคำนวณแบบกระจายที่มีประสิทธิภาพสูงซึ่งโดยปกติแล้วจะไม่ได้รับการคำนวณแบบกระจาย อันที่จริงฉันได้พูดคุยเกี่ยวกับรูปแบบไคลเอนต์เซิร์ฟเวอร์และเพียร์ทูเพียร์ความปลอดภัยความล้มเหลวและปัญหาพาร์ติชันเครือข่ายซึ่งเป็นขอบเขตของการคำนวณแบบกระจาย
Massimo Cafaro

+1 ตอบที่ดี! ฉันสงสัยว่าจะใช้การคำนวณแบบกระจายเพื่อวัตถุประสงค์อื่นนอกเหนือจากการคำนวณแบบขนานหรือไม่ กล่าวอีกนัยหนึ่งคือการคำนวณการกระจายเป็นเซตย่อยของการคำนวณแบบขนานคือการคำนวณแบบกระจายเป็นของการคำนวณแบบขนานหรือไม่? Btw นี่คือคำถามของฉัน cs.stackexchange.com/questions/20064
ทิม

1
@ ทิมการคำนวณแบบกระจายยังใช้ต่อกันโดยไม่ขึ้นกับการคำนวณแบบขนาน ยกตัวอย่างเช่นคิดถึงอัลกอริธึมการกระจายแบบดั้งเดิมเช่นการเลือกตั้งผู้นำการลงมติเป็นเอกฉันท์ ฯลฯ
Massimo Cafaro

7

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

และฉันไม่รู้ว่าคุณกำลังติดตามข่าวอะไร แต่ฉันค่อนข้างแน่ใจว่าการประมวลผลแบบขนานนั้นไม่ได้หยุดนิ่งโดยเฉพาะอย่างยิ่งเนื่องจากฉันคิดว่ามันมีประโยชน์มากกว่าบ่อยครั้ง

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


1
-1 เนื่องจากคำตอบนี้ไม่ได้ตอบคำถามจริงๆ (เช่นอธิบายคำศัพท์)
Jukka Suomela

@ JukkaSuomela คำถามไม่ได้เกี่ยวกับการอธิบายเงื่อนไข แต่ความแตกต่างระหว่างพวกเขา
svick

6

นี่คือเอกสารล่าสุดที่ควรอ่าน:

Michel Raynal: "การคำนวณแบบขนานกับการคำนวณแบบกระจาย: ความสับสนที่ยิ่งใหญ่?" , พรบ. Euro-Par 2015 , ดอย: 10.1007 / 978-3-319-27308-2_4

บทคัดย่อ:

บทความสั้น ๆ นี้กล่าวถึงความจริงที่ว่าจากมุมมองของการสอนความเท่าเทียมและการคำนวณแบบกระจายมักจะสับสนขณะที่เมื่อมองที่ธรรมชาติที่ลึกลงไป ดังนั้นหลักสูตรที่เหมาะสมควรได้รับการออกแบบแยกต่างหากสำหรับแต่ละหลักสูตร ทัศนคติ“ ทุกอย่างอยู่ในทุกอย่าง (และกลับกัน)” ดูเหมือนจะไม่ใช่วิธีการที่เกี่ยวข้องในการสอนนักเรียนเกี่ยวกับแนวคิดที่สำคัญซึ่งแสดงลักษณะการขนานในด้านหนึ่งและการคำนวณแบบกระจายในอีกด้านหนึ่ง


4

ในส่วนบทนำของหนังสือ [1] ผู้เขียนให้มุมมองอื่น (แตกต่างจากคำตอบอื่น ๆ ) ในการเปรียบเทียบระหว่างการคำนวณแบบกระจายและการคำนวณแบบขนาน

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

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

[1] การคำนวณแบบกระจาย ความรู้พื้นฐาน, สถานการณ์จำลองและหัวข้อขั้นสูง Hagit Attiya และ Jennifer Welch 2004


0

มีคำตอบที่เหมาะสมกว่าที่นี่ โดยทั่วไปparallelหมายถึงmemory-shared multiprocessorขณะที่หมายถึงมันdistributed private-memory multicomputersนั่นคือเครื่องแรกเป็นเครื่องมัลติคอร์เดี่ยวหรือเครื่องซุปเปอร์คาร์ในขณะที่อีกเครื่องหนึ่งเป็นเครือข่ายคอมพิวเตอร์ที่กระจายทางภูมิศาสตร์ หลังหมายถึงการมีเพศสัมพันธ์น้อยลงและดังนั้นความพร้อมใช้งานและความทนทานต่อความผิดพลาดที่มากขึ้นด้วยต้นทุนของประสิทธิภาพที่ลดลง ประสิทธิภาพลดลงเนื่องจากคุณต้องการ data (de-) serialization ในทุก ๆ การเดินทางและการส่งในระยะทางไกลในขณะที่คุณสามารถอ้างถึงวัตถุในหน่วยความจำเพื่อส่งต่อไปยัง CPU ตัวอื่นในตัวประมวลผลแบบขนาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.