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

อ่าน 9 นาที

กลุ่มคอมพิวเตอร์

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

กลุ่มคอมพิวเตอร์

ช่างเทคนิคกำลังทำงานบน คลัสเตอร์ Linux ขนาดใหญ่ ที่มหาวิทยาลัยเทคโนโลยี Chemnitzประเทศเยอรมนี
คลัสเตอร์ Solarisของ Sun Microsystems พร้อมระบบระบายความร้อนแบบ In-Row
ซีรี่ส์ Taiwaniaใช้สถาปัตยกรรมแบบคลัสเตอร์

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

โดยทั่วไปแล้ว ส่วนประกอบของคลัสเตอร์จะเชื่อมต่อกันผ่านเครือข่ายพื้นที่ท้องถิ่น ความเร็วสูง โดยแต่ละโหนด (คอมพิวเตอร์ที่ใช้เป็นเซิร์ฟเวอร์) จะรันระบบปฏิบัติการของตนเองในสถานการณ์ส่วนใหญ่ โหนดทั้งหมดจะใช้ฮาร์ดแวร์เดียวกัน[ 1 ]และระบบปฏิบัติการเดียวกัน แม้ว่าในบางการตั้งค่า (เช่น การใช้Open Source Cluster Application Resources (OSCAR)) จะสามารถใช้ระบบปฏิบัติการที่แตกต่างกันในแต่ละคอมพิวเตอร์ หรือใช้ฮาร์ดแวร์ที่แตกต่างกันได้[ 2 ]

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

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

แนวคิดพื้นฐาน

ชุดโคมไฟ Beowulfที่สร้างเองอย่างง่ายๆ

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

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

การจัดกลุ่มคอมพิวเตอร์อาศัยแนวทางการจัดการแบบรวมศูนย์ซึ่งทำให้โหนดพร้อมใช้งานเป็นเซิร์ฟเวอร์ที่ใช้ร่วมกันแบบมีการ จัดการซึ่งแตกต่างจากแนวทางอื่นๆ เช่น การประมวลผล แบบเพียร์ทูเพียร์หรือกริดคอมพิวติ้ง ซึ่งใช้โหนดจำนวนมากเช่นกัน แต่มี ลักษณะกระจายตัวมากกว่า[ 6 ]

คลัสเตอร์คอมพิวเตอร์อาจเป็นระบบสองโหนดแบบง่ายๆ ที่เชื่อมต่อคอมพิวเตอร์ส่วนบุคคลสองเครื่องเข้าด้วยกัน หรืออาจเป็นซูเปอร์คอมพิวเตอร์ที่ เร็วมาก แนวทางพื้นฐานในการสร้างคลัสเตอร์คือคลัสเตอร์Beowulfซึ่งอาจสร้างขึ้นด้วยคอมพิวเตอร์ส่วนบุคคลเพียงไม่กี่เครื่องเพื่อสร้างทางเลือกที่คุ้มค่ากว่าการประมวลผลประสิทธิภาพสูง แบบดั้งเดิม โครงการแรกๆ ที่แสดงให้เห็นถึงความเป็นไปได้ของแนวคิดนี้คือ Stone Soupercomputerที่มี 133 โหนด[ 7 ]นักพัฒนาใช้Linux ชุดเครื่องมือ Parallel Virtual Machineและ ไลบรารี Message Passing Interfaceเพื่อให้ได้ประสิทธิภาพสูงในราคาที่ค่อนข้างต่ำ[ 8 ]

แม้ว่าคลัสเตอร์อาจประกอบด้วยคอมพิวเตอร์ส่วนบุคคลเพียงไม่กี่เครื่องที่เชื่อมต่อกันด้วยเครือข่ายแบบง่ายๆ แต่สถาปัตยกรรมคลัสเตอร์ก็อาจถูกนำมาใช้เพื่อให้ได้ประสิทธิภาพในระดับสูงมาก รายชื่อซูเปอร์คอมพิวเตอร์ที่เร็วที่สุด 500 เครื่องประจำปีขององค์กร TOP500มักจะมีคลัสเตอร์จำนวนมาก เช่น เครื่องที่เร็วที่สุดในโลกในปี 2011 คือคอมพิวเตอร์ Kซึ่งมีสถาปัตยกรรมคลัสเตอร์แบบหน่วยความจำแบบกระจาย[ 9 ]

ประวัติศาสตร์

คอมพิวเตอร์VAX 11/780 ประมาณปี 1977 ที่ใช้ในการพัฒนาVAXcluster ในช่วงแรก

เกร็ก ฟิสเตอร์ได้กล่าวว่าคลัสเตอร์ไม่ได้ถูกคิดค้นโดยผู้จำหน่ายรายใดรายหนึ่งโดยเฉพาะ แต่โดยลูกค้าที่ไม่สามารถทำงานทั้งหมดบนคอมพิวเตอร์เครื่องเดียวได้ หรือต้องการระบบสำรองข้อมูล[ 10 ]ฟิสเตอร์คาดการณ์ว่าน่าจะเป็นช่วงทศวรรษ 1960 พื้นฐานทางวิศวกรรมอย่างเป็นทางการของการประมวลผลแบบคลัสเตอร์ในฐานะวิธีการทำงานแบบขนานทุกประเภทนั้น อาจกล่าวได้ว่าถูกคิดค้นโดยจีน แอมดาห์ลแห่งIBMซึ่งในปี 1967 ได้ตีพิมพ์สิ่งที่ได้รับการยกย่องว่าเป็นเอกสารสำคัญเกี่ยวกับการประมวลผลแบบขนาน นั่นคือกฎของแอมดาห์

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

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

จักรยาน Tandem NonStop II ประมาณปี 1980

ผลิตภัณฑ์คลัสเตอร์แบบหลวมๆ เชิงพาณิชย์ตัวแรกคือ ระบบ "Attached Resource Computer" (ARC) ของ Datapoint Corporationซึ่งพัฒนาขึ้นในปี 1977 และใช้ARCnetเป็นอินเทอร์เฟซคลัสเตอร์ การจัดคลัสเตอร์นั้นไม่ได้เป็นที่นิยมอย่างแท้จริงจนกระทั่งDigital Equipment Corporationเปิดตัว ผลิตภัณฑ์ VAXclusterในปี 1984 สำหรับ ระบบปฏิบัติการ VMSผลิตภัณฑ์ ARC และ VAXcluster ไม่เพียงแต่รองรับการประมวลผลแบบขนาน เท่านั้น แต่ยัง รองรับ ระบบไฟล์และ อุปกรณ์ ต่อพ่วง ที่ใช้ร่วมกันอีก ด้วย แนวคิดคือการให้ข้อดีของการประมวลผลแบบขนาน ในขณะที่ยังคงรักษาความน่าเชื่อถือและความเป็นเอกลักษณ์ของข้อมูลไว้ คลัสเตอร์เชิงพาณิชย์ในช่วงแรกๆ ที่น่าสนใจอีกสองตัวคือTandem NonStop (ผลิตภัณฑ์เชิงพาณิชย์ที่มีความพร้อมใช้งานสูงในปี 1976) [ 11 ] [ 12 ]และIBM S/390 Parallel Sysplex (ประมาณปี 1994 ส่วนใหญ่ใช้ในธุรกิจ)

ในช่วงเวลาเดียวกัน ขณะที่คลัสเตอร์คอมพิวเตอร์ใช้การประมวลผลแบบขนานภายนอกคอมพิวเตอร์บนเครือข่ายทั่วไปซูเปอร์คอมพิวเตอร์เริ่มใช้การประมวลผลแบบขนานภายในคอมพิวเตอร์เครื่องเดียวกัน หลังจากความสำเร็จของCDC 6600ในปี 1964 Cray 1ก็ถูกส่งมอบในปี 1976 และนำเสนอการประมวลผลแบบขนานภายในผ่านการประมวลผลเวกเตอร์ [ 13 ] ในขณะที่ซูเปอร์คอมพิวเตอร์ยุคแรกๆ ไม่รวมคลัสเตอร์และอาศัยหน่วยความจำร่วมกันแต่ในที่สุดซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดบางเครื่อง (เช่นคอมพิวเตอร์ K ) ก็อาศัยสถาปัตยกรรมคลัสเตอร์

คุณลักษณะของกลุ่มคลัสเตอร์

คลัสเตอร์กระจายโหลดที่มีเซิร์ฟเวอร์สองเครื่องและสถานีผู้ใช้ N เครื่อง

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

คลัสเตอร์แบบ " กระจายโหลด " คือการกำหนดค่าที่โหนดคลัสเตอร์แบ่งปันภาระงานการคำนวณเพื่อให้ได้ประสิทธิภาพโดยรวมที่ดีขึ้น ตัวอย่างเช่น คลัสเตอร์เว็บเซิร์ฟเวอร์อาจกำหนดคำสั่งค้นหาที่แตกต่างกันให้กับโหนดต่างๆ เพื่อให้เวลาตอบสนองโดยรวมได้รับการปรับให้เหมาะสม[ 14 ]อย่างไรก็ตาม วิธีการกระจายโหลดอาจแตกต่างกันอย่างมากในแต่ละแอปพลิเคชัน เช่น คลัสเตอร์ประสิทธิภาพสูงที่ใช้สำหรับการคำนวณทางวิทยาศาสตร์จะกระจายโหลดด้วยอัลกอริทึมที่แตกต่างจากคลัสเตอร์เว็บเซิร์ฟเวอร์ซึ่งอาจใช้วิธีการแบบวนรอบ อย่างง่าย โดยการกำหนดคำขอใหม่แต่ละรายการให้กับโหนดที่แตกต่างกัน[ 14 ]

คลัสเตอร์คอมพิวเตอร์ใช้สำหรับวัตถุประสงค์ที่ต้องใช้การคำนวณอย่างเข้มข้น มากกว่าการจัดการ การดำเนินงาน ที่เน้น I/Oเช่น เว็บเซอร์วิสหรือฐานข้อมูล[ 15 ]ตัวอย่างเช่น คลัสเตอร์คอมพิวเตอร์อาจรองรับการจำลองการชนของยานพาหนะหรือสภาพอากาศ คลัสเตอร์คอมพิวเตอร์ที่เชื่อมต่อกันอย่างแน่นหนาได้รับการออกแบบมาสำหรับงานที่อาจเข้าใกล้ " ซูเปอร์ คอมพิวเตอร์ "

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

ประโยชน์

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

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

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

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

การออกแบบและการกำหนดค่า

รูปแบบทั่วไปของเบโอวูล์ฟ

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

ในคลัสเตอร์ Beowulfโปรแกรมแอปพลิเคชันจะไม่เห็นโหนดการคำนวณ (หรือเรียกว่าคอมพิวเตอร์ลูกข่าย) แต่จะโต้ตอบกับ "มาสเตอร์" ซึ่งเป็นคอมพิวเตอร์เฉพาะที่ทำหน้าที่จัดตารางเวลาและจัดการลูกข่าย[ 15 ]ในการใช้งานทั่วไป มาสเตอร์จะมีอินเทอร์เฟซเครือข่ายสองตัว ตัวหนึ่งสื่อสารกับเครือข่าย Beowulf ส่วนตัวสำหรับลูกข่าย อีกตัวหนึ่งสำหรับเครือข่ายอเนกประสงค์ขององค์กร[ 15 ] โดยทั่วไป แล้วคอมพิวเตอร์ลูกข่ายจะมีระบบปฏิบัติการเวอร์ชันเดียวกัน หน่วยความจำภายใน และพื้นที่ดิสก์ อย่างไรก็ตาม เครือข่ายลูกข่ายส่วนตัวอาจมีเซิร์ฟเวอร์ไฟล์ขนาดใหญ่และใช้ร่วมกันซึ่งจัดเก็บข้อมูลถาวรทั่วโลก ซึ่งลูกข่ายสามารถเข้าถึงได้ตามต้องการ[ 15 ]

คลัสเตอร์ DEGIMA 144 โหนดที่มีวัตถุประสงค์พิเศษได้รับการปรับแต่งเพื่อดำเนินการจำลอง N-body ทางฟิสิกส์ดาราศาสตร์โดยใช้รหัสต้นไม้ขนาน Multiple-Walk แทนที่จะเป็นการคำนวณทางวิทยาศาสตร์ทั่วไป[ 18 ]

เนื่องจากพลังการประมวลผลที่เพิ่มขึ้นของเครื่องเล่นเกม แต่ละรุ่น ทำให้เกิดการใช้งานรูปแบบใหม่ขึ้น โดยการนำเครื่องเล่นเกมเหล่านั้นมาใช้เป็น คลัสเตอร์ การประมวลผลประสิทธิภาพสูง (HPC) ตัวอย่างของคลัสเตอร์เครื่องเล่นเกม ได้แก่คลัสเตอร์ Sony PlayStationและ คลัสเตอร์ Microsoft Xboxอีกตัวอย่างหนึ่งของผลิตภัณฑ์เกมสำหรับผู้บริโภคคือ เวิร์กสเตชัน ซูเปอร์คอมพิวเตอร์ส่วนบุคคล Nvidia Teslaซึ่งใช้ชิปประมวลผลเร่งกราฟิกหลายตัว นอกจากเครื่องเล่นเกมแล้ว การ์ดกราฟิกระดับสูงก็สามารถนำมาใช้แทนได้เช่นกัน การใช้การ์ดกราฟิก (หรือ GPU) ในการคำนวณสำหรับการประมวลผลแบบกริดนั้นประหยัดกว่าการใช้ CPU มาก แม้ว่าจะมีความแม่นยำน้อยกว่าก็ตาม อย่างไรก็ตาม เมื่อใช้ค่าความแม่นยำสองเท่า ความแม่นยำในการทำงานก็จะเท่ากับ CPU และยังมีต้นทุนที่ต่ำกว่ามาก (ต้นทุนการซื้อ) [ 2 ]

โดยทั่วไปแล้วคลัสเตอร์คอมพิวเตอร์จะทำงานบนคอมพิวเตอร์ ทางกายภาพที่แยกจากกันโดยใช้ ระบบปฏิบัติการเดียวกันแต่ด้วยการมาถึงของเวอร์ชวลไลเซชัน โหนดคลัสเตอร์อาจทำงานบนคอมพิวเตอร์ทางกายภาพที่แยกจากกันโดยใช้ระบบปฏิบัติการที่แตกต่างกัน ซึ่งจะถูกซ้อนทับด้วยเลเยอร์เสมือนเพื่อให้ดูคล้ายกัน[ 19 ] คลัสเตอร์ยังสามารถสร้างเวอร์ชวลไลเซชันได้ในรูปแบบต่างๆ เมื่อมีการบำรุงรักษา ตัวอย่างการใช้งานคือXenเป็นตัวจัดการเวอร์ชวลไลเซชันร่วมกับLinux-HA [ 19 ]

การแบ่งปันข้อมูลและการสื่อสาร

การแบ่งปันข้อมูล

คลัสเตอร์ NEC Nehalem

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

อย่างไรก็ตาม การใช้ระบบไฟล์แบบคลัสเตอร์นั้นมีความสำคัญอย่างยิ่งในคลัสเตอร์คอมพิวเตอร์สมัยใหม่ ตัวอย่างเช่นระบบไฟล์แบบขนานทั่วไปของ IBM (GenU General Parallel File System) , ระบบไดรฟ์ข้อมูลแบบคลัสเตอร์ที่ใช้ร่วมกันของ Microsoft (Microsoft Cluster Shared Volumes)หรือระบบไฟล์แบบคลัสเตอร์ของ Oracle (Oracle Cluster File System )

การส่งข้อความและการสื่อสาร

สองแนวทางที่ใช้กันอย่างแพร่หลายสำหรับการสื่อสารระหว่างโหนดคลัสเตอร์คือ MPI ( Message Passing Interface ) และ PVM ( Parallel Virtual Machine ) [ 20 ]

PVM ได้รับการพัฒนาที่ห้องปฏิบัติการแห่งชาติโอ๊คริดจ์ราวปี 1989 ก่อนที่ MPI จะพร้อมใช้งาน PVM ต้องติดตั้งโดยตรงบนโหนดคลัสเตอร์ทุกโหนดและมีชุดไลบรารีซอฟต์แวร์ที่วาดภาพโหนดเป็น "เครื่องเสมือนแบบขนาน" PVM มีสภาพแวดล้อมรันไทม์สำหรับการส่งข้อความ การจัดการงานและทรัพยากร และการแจ้งเตือนข้อผิดพลาด PVM สามารถใช้งานได้โดยโปรแกรมผู้ใช้ที่เขียนด้วยภาษา C, C++ หรือ Fortran เป็นต้น[ 20 ] [ 21 ]

MPI เกิดขึ้นในช่วงต้นทศวรรษ 1990 จากการอภิปรายระหว่างองค์กรกว่า 40 แห่ง ความพยายามเริ่มต้นได้รับการสนับสนุนจากARPAและNational Science Foundationแทนที่จะเริ่มต้นใหม่ทั้งหมด การออกแบบ MPI ได้ดึงเอาคุณสมบัติต่างๆ ที่มีอยู่ในระบบเชิงพาณิชย์ในขณะนั้นมาใช้ ข้อกำหนดของ MPI จึงก่อให้เกิดการใช้งานเฉพาะต่างๆ การใช้งาน MPI โดยทั่วไปจะใช้TCP/IPและการเชื่อมต่อซ็อกเก็ต[ 20 ]ปัจจุบัน MPI เป็นแบบจำลองการสื่อสารที่แพร่หลายซึ่งช่วยให้สามารถเขียนโปรแกรมแบบขนานได้ในภาษาต่างๆ เช่นC , Fortran , Pythonเป็นต้น[ 21 ]ดังนั้น ต่างจาก PVM ซึ่งให้การใช้งานที่เป็นรูปธรรม MPI จึงเป็นข้อกำหนดที่ได้รับการนำไปใช้ในระบบต่างๆ เช่นMPICHและOpen MPI [ 21 ] [ 22 ]

การจัดการคลัสเตอร์

กลุ่มคลัสเตอร์ขนาดเล็กราคาประหยัดและใช้พลังงานต่ำของCubieboardโดยใช้Apache HadoopบนLubuntu
ตัวอย่างก่อนวางจำหน่ายของ ระบบ คอมพิวเตอร์ คลัสเตอร์แบบเปิดวงจร C25 จาก Ground Electronics/AB ซึ่งประกอบด้วยRaspberry Pi 3 Model B+ จำนวน 8 เครื่อง และบอร์ด UDOO x86 จำนวน 1 เครื่อง

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

การจัดตารางงาน

เมื่อคลัสเตอร์ผู้ใช้หลายคนขนาดใหญ่จำเป็นต้องเข้าถึงข้อมูลจำนวนมากการจัดตารางงานจึงกลายเป็นความท้าทาย ในคลัสเตอร์ CPU-GPU ที่หลากหลายซึ่งมีสภาพแวดล้อมแอปพลิเคชันที่ซับซ้อน ประสิทธิภาพของแต่ละงานขึ้นอยู่กับลักษณะเฉพาะของคลัสเตอร์พื้นฐาน ดังนั้น การแมปงานไปยังคอร์ CPU และอุปกรณ์ GPU จึงก่อให้เกิดความท้าทายอย่างมาก[ 24 ] นี่เป็นพื้นที่ของการวิจัยที่กำลังดำเนินอยู่ มีการเสนอและศึกษาอัลกอริธึมที่รวมและขยายMapReduceและHadoop [ 24 ]

การจัดการความล้มเหลวของโหนด

เมื่อโหนดในคลัสเตอร์ล้มเหลว อาจใช้กลยุทธ์ต่างๆ เช่น " การกั้นรั้ว " เพื่อรักษาระบบส่วนที่เหลือให้ทำงานต่อไปได้ [ 25 ] [ 26 ]การกั้นรั้วคือกระบวนการแยกโหนดหรือปกป้องทรัพยากรที่ใช้ร่วมกันเมื่อโหนดดูเหมือนจะทำงานผิดปกติ มีวิธีการป้องกันสองประเภท ประเภทหนึ่งคือการปิดใช้งานโหนดนั้นเอง และอีกประเภทหนึ่งคือการไม่อนุญาตให้เข้าถึงทรัพยากร เช่น ดิสก์ที่ใช้ร่วมกัน[ 25 ]

วิธี การ STONITHย่อมาจาก "Shoot The Other Node In The Head" ซึ่งหมายความว่าโหนดที่ต้องสงสัยจะถูกปิดใช้งานหรือปิดการทำงาน ตัวอย่างเช่นการกั้นพลังงานจะใช้ตัวควบคุมพลังงานเพื่อปิดโหนดที่ไม่สามารถใช้งานได้[ 25 ]

วิธีการจำกัดการเข้าถึงทรัพยากรจะป้องกันไม่ให้เข้าถึงทรัพยากรโดยไม่ปิดเครื่องโหนดก่อน ซึ่งอาจรวมถึงการจำกัดการเข้าถึงแบบถาวรผ่านทางSCSI3การจำกัดการเข้าถึงผ่าน Fibre Channel เพื่อปิดใช้ งานพอร์ต Fibre Channelหรือ การจำกัดการเข้าถึง ผ่าน Global Network Block Device (GNBD) เพื่อปิดใช้งานการเข้าถึงเซิร์ฟเวอร์ GNBD

การพัฒนาและการบริหารจัดการซอฟต์แวร์

การเขียนโปรแกรมแบบขนาน

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

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

การดีบักและการตรวจสอบ

การพัฒนาและแก้ไขข้อบกพร่องของโปรแกรมแบบขนานบนคลัสเตอร์ต้องใช้ภาษาพื้นฐานแบบขนานและเครื่องมือที่เหมาะสม เช่น เครื่องมือที่กล่าวถึงโดยHigh Performance Debugging Forum (HPDF) ซึ่งส่งผลให้เกิดข้อกำหนด HPD [ 21 ] [ 29 ] จากนั้นจึงมีการพัฒนา เครื่องมือเช่นTotalViewเพื่อแก้ไขข้อบกพร่องของการใช้งานแบบขนานบนคลัสเตอร์คอมพิวเตอร์ที่ใช้Message Passing Interface (MPI) หรือParallel Virtual Machine (PVM) สำหรับการส่งข้อความ

ระบบ เครือข่ายเวิร์กสเตชัน (NOW) ของมหาวิทยาลัยแคลิฟอร์เนีย เบิร์กลีย์ รวบรวมข้อมูลคลัสเตอร์และจัดเก็บไว้ในฐานข้อมูล ในขณะที่ระบบเช่น PARMON ซึ่งพัฒนาในอินเดีย ช่วยให้สามารถสังเกตและจัดการคลัสเตอร์ขนาดใหญ่ได้ด้วยภาพ[ 21 ]

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

การนำไปใช้

โลกของลินุ กซ์รองรับซอฟต์แวร์คลัสเตอร์หลากหลายชนิด สำหรับการจัดกลุ่มแอปพลิเคชัน มีdistccและMPICH Linux Virtual Server , Linux-HAเป็นคลัสเตอร์แบบ director ที่ช่วยให้สามารถกระจายคำขอใช้บริการไปยังโหนดคลัสเตอร์หลายโหนดได้MOSIX , LinuxPMI , Kerrighed , OpenSSIเป็นคลัสเตอร์แบบเต็มรูปแบบที่ผสานรวมเข้ากับเคอร์เนลซึ่งช่วยให้สามารถย้ายกระบวนการทำงานโดยอัตโนมัติระหว่างโหนดประเภทเดียวกันได้OpenSSI , openMosixและKerrighedเป็นการใช้งาน อิมเมจระบบเดียว

Microsoft Windows Computer Cluster Server 2003 ซึ่งใช้ แพลตฟอร์ม Windows Serverมีส่วนประกอบสำหรับการประมวลผลประสิทธิภาพสูง เช่น ตัวกำหนดตารางงาน ไลบรารี MSMPI และเครื่องมือการจัดการ

gLiteคือชุดเทคโนโลยีมิดเดิลแวร์ที่สร้างขึ้นโดย โครงการ Enabling Grids for E-sciencE (EGEE)

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

แนวทางอื่นๆ

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

ดูเพิ่มเติม

แนวคิดพื้นฐาน

การประมวลผลแบบกระจาย

ระบบเฉพาะ

ฟาร์มคอมพิวเตอร์

อ่านเพิ่มเติม

  • Baker, Mark และคณะ (11 มกราคม 2544). "เอกสารไวท์เปเปอร์เกี่ยวกับการประมวลผลแบบคลัสเตอร์". arXiv : cs/0004014 .
  • Marcus, Evan; Stern, Hal (14 กุมภาพันธ์ 2543). แผนผังสำหรับระบบที่มีความพร้อมใช้งานสูง: การออกแบบระบบกระจายที่ยืดหยุ่น . John Wiley & Sons. ISBN 978-0-471-35601-1.
  • Pfister, Greg (1998). ในการค้นหาคลัสเตอร์ . Prentice Hall. ISBN 978-0-13-899709-0.
  • Buyya, Rajkumar, บรรณาธิการ (1999). การประมวลผลคลัสเตอร์ประสิทธิภาพสูง: สถาปัตยกรรมและระบบเล่ม 1. นิวเจอร์ซีย์ สหรัฐอเมริกา: Prentice Hall. ISBN 978-0-13-013784-5.
  • Buyya, Rajkumar, บรรณาธิการ (1999). การประมวลผลคลัสเตอร์ประสิทธิภาพสูง: สถาปัตยกรรมและระบบเล่ม 2. นิวเจอร์ซีย์ สหรัฐอเมริกา: Prentice Hall. ISBN 978-0-13-013785-2.
  • คณะกรรมการทางเทคนิคด้านการประมวลผลแบบปรับขนาดได้ของ IEEE (TCSC)
  • เทคโนโลยีคลัสเตอร์ที่ปรับขนาดได้อย่างน่าเชื่อถือ, IBM
  • วิกิระบบอัตโนมัติของ Tivoli
  • การจัดการคลัสเตอร์ขนาดใหญ่ที่ Google กับ Borgเมษายน 2558 โดย Abhishek Verma, Luis Pedrosa, Madhukar Korupolu, David Oppenheimer, Eric Tune และ John Wilkes
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Computer_cluster&oldid=1343682006 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ กลุ่มคอมพิวเตอร์

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

แนวคิดพื้นฐาน

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

ประวัติศาสตร์

เกร็ก ฟิสเตอร์ได้กล่าวว่าคลัสเตอร์ไม่ได้ถูกคิดค้นโดยผู้จำหน่ายรายใดรายหนึ่งโดยเฉพาะ แต่โดยลูกค้าที่ไม่สามารถทำงานทั้งหมดบนคอมพิวเตอร์เครื่องเดียวได้ หรือต้องการระบบสำรองข้อมูล [ 10 ] ฟิสเตอร์คาดการณ์ว่าน่าจะเป็นช่วงทศวรรษ 1960...

คุณลักษณะของกลุ่มคลัสเตอร์

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