นี่เป็นคำถามสองสามข้อฉันหวังว่าคุณจะสามารถสอนฉันได้
- เป็นไปได้หรือไม่ที่จะรวมพลังการประมวลผลของคอมพิวเตอร์ 2 เครื่องเข้าด้วยกัน?
- ฉันต้องทำอย่างไร?
นี่เป็นคำถามสองสามข้อฉันหวังว่าคุณจะสามารถสอนฉันได้
คำตอบ:
ไม่โปร่งใสที่โปรแกรมที่ทำงานอยู่สามารถใช้เครื่องที่สองในการรันโค้ดเนื่องจากมีการแยกกันอย่างมีเหตุผลโดยไม่มีวิธีที่ cpu จะสื่อสารหรือเข้าถึงหน่วยความจำของกันและกัน
ไม่ได้หมายความว่าคุณไม่สามารถรวมพลังการประมวลผล:
หากคุณต้องการควบคุมคอมพิวเตอร์เครื่องที่สองในทางใดทางหนึ่งการควบคุมระยะไกลเป็นสิ่งสำคัญ สองวิธีในการทำเช่นนี้คือผ่านการเข้าถึงระยะไกล (RDP, VNC) หรือสิ่งอื่นเช่น synergy +
บรรทัดที่ฉันใช้บ่อยที่สุด - ใช่และไม่ใช่!
ใช่เป็นไปได้ - สำหรับบางแอปพลิเคชันที่ออกแบบมาเพื่อทำงานด้วยวิธีนี้ (รู้จักกันทั่วไปว่าเป็นคลัสเตอร์ - อ่านเพิ่มเติมที่นี่ )
ไม่เป็นไปไม่ได้ (อย่างน้อยเท่าที่ฉันรู้) เพื่อถอดคอมพิวเตอร์ชั้นวาง "รวมกัน" เข้าด้วยกันและรับหน่วยความจำรวมพลังการประมวลผลและทุกอย่างอื่น
มันเป็นไปได้มาก! แต่การตัดสินด้วยความเรียบง่ายของคำถามของคุณฉันคิดว่าคุณต้องการเพียงแค่เรียกใช้โปรแกรมที่จะทำให้คอมพิวเตอร์ของคุณเร็วเป็นสองเท่าอย่างน่าอัศจรรย์ซึ่งไม่สามารถทำได้
คุณต้องเข้าใจว่าเมื่อโปรแกรมรันโปรแกรมจะรักษาสถานะของมันโดยกระตุ้นให้ CPU ย้ายหน่วยความจำระหว่างการลงทะเบียน HDD, RAM และ CPU รวมถึงที่อยู่ในส่วนประกอบต่างๆ (เช่นการ์ดวิดีโอหรือการ์ดเครือข่าย) ปัญหาในการใช้งาน CPU จากคอมพิวเตอร์เครื่องอื่นเพื่อช่วยให้คุณต้องเข้าถึงหน่วยความจำเดียวกัน และการบำรุงรักษาภาพสะท้อนในกระจกของหน่วยความจำคอมพิวเตอร์ของคุณบนคอมพิวเตอร์เครื่องอื่นนั้นต้องมีค่าใช้จ่ายมากจนทำให้จุดประสงค์ในการพยายามเพิ่มคอมพิวเตอร์เครื่องอื่นเพื่อเพิ่มประสิทธิภาพได้อย่างง่ายดาย :)
แต่ประเภทของสิ่งต่าง ๆ ที่สามารถแยกได้ระหว่างคอมพิวเตอร์หลาย ๆ เครื่องคือการแสดงผลภาพหรือการคำนวณทางคณิตศาสตร์บางอย่างซึ่งสามารถทำงานได้อย่างอิสระ
หากสิ่งที่คุณกำลังมองหาคือวิธีการรวมพลังการประมวลผลของพีซีสองเครื่องเข้าด้วยกันวิธีที่ง่ายที่สุดในการกำหนดค่าทั้งสองนั้นเป็นเสมือนเครื่องโฮสต์โดยใช้ซอฟต์แวร์เช่น VMWare ESXi อุปกรณ์ที่มีฮาร์ดแวร์ที่เข้ากันได้) และสร้างกลุ่มทรัพยากรหรือคลัสเตอร์และสร้างเครื่องเสมือนที่ใช้ทรัพยากรของคอมพิวเตอร์ทั้งสองเครื่อง นี่จะไม่ทำให้คุณมีความเร็วเต็ม 2x (คุณจะสูญเสียทรัพยากรเนื่องจากการทำเวอร์ชวลไลเซชัน) และเป็นโซลูชั่นที่ จำกัด เนื่องจากมีความต้องการความเข้ากันได้ แต่เป็นคำตอบที่ถูกต้องที่สุดสำหรับคำถามของคุณ เครื่องเสมือนจะทำหน้าที่เหมือนพีซีเครื่องเดียวที่มีพลังการประมวลผลของโฮสต์ทั้งสองลบค่าใช้จ่ายที่จำเป็นในการรักษาระบบเสมือนจริง
ฉันเห็นด้วยกับคำตอบอื่น ๆ :
หากคุณกำลังพูดถึงการพัฒนาซอฟต์แวร์เพื่อให้ทำงานในสภาพแวดล้อมแบบกระจาย (คอมพิวเตอร์หลายเครื่อง) ต่อไปนี้เป็นคำแนะนำ: