โครงสร้างของระบบ cluster แบ่งเป็น 2 ชนิด คือ
1) ระบบ cluster แบบปิด: cluster จะต่อผ่าน gateway ที่ซ่อนทั้งระบบจากโลกภายนอก
ข้อดี คือ มีความปลอดภัยสูงและใช้ IP address เพียง address เดียวเท่านั้น
ข้อเสีย คือ แต่ละ node ในระบบไม่สามารถช่วยกันบริหารข้อมูลจากภายนอกได้
2) ระบบ cluster แบบเปิด: cluster จะต่อกับ network ภายนอกโดยตรงทำให้ผู้ใช้เข้าถึงทุก node ในระบบได้โดยตรง
ข้อดี คือ สามารถช่วยกันบริการข้อมูลได้ เหมาะกับงานบริการข่าวสารเป็นจำนวนมาก เช่น ในระบบ server สำหรับ www หรือ ftp ที่ขยายตัวได้
ข้อเสีย คือ ความปลอดภัยต่ำลงมากเพราะต้องคอยดูแลทุกเครื่องในระบบ และยังต้องการหมาย IP address จำนวนมาก
คอมพิวเตอร์แต่ละเครื่องในระบบ cluster จะถูกเรียกว่า “โหนด (Node)” อาจจะมี node ที่ทำหน้าที่ควบคุมการทำงานของ node อื่นๆ ในระบบอีกชั้น เรียกว่า “Front-end Node” ส่วนโหนดอื่นจะทำหน้าที่ประมวลผลเป็นหลัก เรียกว่า “Compute Node” แต่ละโหนดจะสร้างระบบที่เสมือนเป็นเครื่องเดียว โดยใช้วิธีการต่าง ๆ เช่น การใช้งานระบบ Network Information System (NIS) เพื่อให้ผู้ใช้ (User) สามารถใช้งานร่วมกันได้ทุก nodes ทำให้ผู้ใช้สามารถล็อกอิน (Login) เพื่อใช้งานใน nodes ใดๆ ภายใต้ระบบ cluster เดียวกัน นอกจากนั้นภายในระบบ cluster อาจจะมีการใช้งาน software ต่างๆ เพื่อการติดตั้งใช้งาน, การจัดลำดับงานที่ทำในระบบ, การดูแลบริหารระบบ และ software เพื่อการประมวลผลแบบขนาน (Parallel Computing)
การติดตั้งระบบคลัสเตอร์ (Installation Clustering System)เมื่อเตรียมอุปกรณ์ที่จะนำมาทำ cluster (เครื่องคอมพิวเตอร์สมรรถนะสูง, ระบบเครือข่ายความเร็วสูง) จากนั้นเตรียม software ในระบบ cluster เช่น ระบบปฏิบัติการ (Linux, Solaris, BSD) ส่วนใหญ่มักจะเลือกใช้ลินุกซ์ (Linux) โดยลินุกซ์นั้นมีหลาย Distribution เช่น RedHat, Debian, Turbo Linux, Slackware เป็นต้น ระบบ software ที่ใช้ในระบบ cluster ควรเป็นโปรแกรมแบบขนาน การโปรแกรมแบบขนานบนระบบ cluster นั้นจะใช้วิธีการที่เรียกว่า การโปรแกรมแบบส่งผ่านข้อความ (Message Passing) การโปรแกรมในลักษณะนี้ทำได้โดย การกระจายงานขนาดใหญ่ไปยังหลาย ๆ เครื่องให้ทำงานพร้อมกัน และใช้การแลกเปลี่ยนข่าวสารผ่านเครือข่ายในการติดต่อระหว่างกลุ่มของโปรแกรมที่ช่วยกันทำงาน
ระบบโปรแกรมแบบขนานที่ใช้งานเป็นมาตรฐานมีอยู่ 2 ระบบ คือ ระบบ PVM เป็นระบบที่มีมาก่อน โดยเป็นงานของ Oak Rige National Laboratory และ University of Tennessee at Knoxville และในราวปี ค.ศ. 1994 ได้มีมาตรฐานใหม่เกิดขึ้น คือ MPI ซึ่งเป็นที่ยอมรับกันอย่างกว้างขวาง และจะมาแทนที่ PVM ด้วย
โปรแกรม Utility และ Library ต่างๆ โปรแกรมเหล่านี้บ้างก็ช่วยให้บริหารระบบได้ดีขึ้น เช่น Library Math บางตัวที่ทำงานแบบขนานได้ เช่น Scalapack, PetSc เป็นต้น หรือ โปรแกรมสำหรับ Graphic Rendering โปรแกรมนี้มีทั้งในระบบ Linux และ Windows ซึ่งสามารถทำงานแบบขนานได้โดยใช้เครื่องคอมพิวเตอร์จำนวนมากช่วยกันเรนเดอร์ (Render)
ข้อแตกต่างของระบบ Cluster Computing เมื่อเปรียบเทียบกับระบบอื่น ๆระบบ Cluster Computing vs. Lan (Local Area Networking)
ระบบ Cluster Computing มีส่วนสำคัญ 3 อย่างคือ เครือข่ายความเร็วสูง ระบบ software ที่สนับสนุนระบบ cluster และโปรแกรมประยุกต์ที่ใช้ขีดความสามารถของการประมวลผลแบบขนานหรือแบบกระจาย
ส่วนระบบ Lan เครื่องทุกเครื่องที่อยู่บนระบบ LAN เป็นอิสระต่อกันไม่มีระบบ software ที่นำความสามารถของการประมวลผลแบบขนานและแบบกระจายมาใช้
ระบบ Cluster Computing vs. Grid Computing
ระบบ Cluster Computing เป็นการเชื่อมต่อเพื่อเพิ่มสมรรถนะของการประมวลผลด้วยเครื่องคอมพิวเตอร์ที่มีแพลตฟอร์ม (Platform) เดียวกันอยู่ในพื้นที่จำกัด
ส่วน Grid Computing นั้นจะเชื่อมต่อได้ทุกแพลตฟอร์มไม่ว่าแต่ละแพลตฟอร์มจะห่างไกลกันเท่าไร
ระบบ Cluster Computing มีส่วนสำคัญ 3 อย่างคือ เครือข่ายความเร็วสูง ระบบ software ที่สนับสนุนระบบ cluster และโปรแกรมประยุกต์ที่ใช้ขีดความสามารถของการประมวลผลแบบขนานหรือแบบกระจาย
ส่วนระบบ Lan เครื่องทุกเครื่องที่อยู่บนระบบ LAN เป็นอิสระต่อกันไม่มีระบบ software ที่นำความสามารถของการประมวลผลแบบขนานและแบบกระจายมาใช้
ระบบ Cluster Computing vs. Grid Computing
ระบบ Cluster Computing เป็นการเชื่อมต่อเพื่อเพิ่มสมรรถนะของการประมวลผลด้วยเครื่องคอมพิวเตอร์ที่มีแพลตฟอร์ม (Platform) เดียวกันอยู่ในพื้นที่จำกัด
ส่วน Grid Computing นั้นจะเชื่อมต่อได้ทุกแพลตฟอร์มไม่ว่าแต่ละแพลตฟอร์มจะห่างไกลกันเท่าไร
ระบบ Cluster Computing vs. Load balancing
ระบบ Cluster Computing มีการจัดกลุ่มของคอมพิวเตอร์หลายตัวเพื่อให้สามารถทำงานได้เหมือนกับเป็นคอมพิวเตอร์ตัวเดียวกัน ดังนั้นไม่ว่าผู้ใช้เข้ามาใช้งานเครื่องใดภายในกลุ่มก็จะรู้สึกเหมือนใช้งานเครื่องเดียวกัน คุณสมบัติของการทำ Clustering คือการทำรีพลิเคท(Replication) โดยในแง่ของ Web Application คือ การทำ Session Replication ซึ่งตามปกติแล้ว Session ของผู้ใช้เก็บใน Web Server เครื่องที่ผู้ใช้ใช้งานอยู่เท่านั้นแต่การทำ Clustering จะเป็นการคัดลอก Replicate Session นั้นไปยัง Web Server อื่นภายในกลุ่มด้วย ทำให้ไม่ว่าผู้ใช้จะเข้าไปใช้งานใน Server เครื่องใดก็จะมี Session ของผู้ใช้อยู่ด้วยเสมอ
ส่วน Load Balancing คือ การจัดกลุ่มของคอมพิวเตอร์หลายตัวเพื่อแบ่งงานกันหรือกระจาย Load การใช้งานของผู้ใช้ไปยังคอมพิวเตอร์ภายในกลุ่ม เพื่อให้สามารถรับจำนวนผู้ใช้ที่เข้ามาใช้งานได้มากขึ้น หรือสามารถรับงานที่เข้ามาได้มากขึ้น นอกจากนั้นยังมีคุณสมบัติของ Fail Over คือ หากมีคอมพิวเตอร์ใดภายในกลุ่มมีปัญหาไม่สามารถทำงานได้ ตัว Load Balancer ที่เป็นตัวแจก Load ให้คอมพิวเตอร์ภายในกลุ่มก็จะส่ง Load ไปยังเครื่องอื่นแทน จนกว่าเครื่องนั้นจะกลับมาใช้งานได้ดังเดิม
การทำงานของ Load Balancer มี 3 ลักษณะด้วยกัน คือ
1. Round-Robin เป็นการส่ง Traffic ไปยัง Server ภายในกลุ่มวนไปเรื่อย ๆ
2. Sticky เป็นการส่ง Traffic โดยยึดติดกับ Session ที่ผู้ใช้เคยเข้าไปใช้งาน เช่น ถ้าผู้ใช้เคยเข้าไปใช้ใน Server ที่ 1 ภายในกลุ่ม Traffic ของผู้ใช้คนนั้นจะถูกส่งไปยัง Server 1 เท่านั้น
3. Work Load เป็นการส่ง Traffic โดยดูที่ Performance ของ Server ภายในกลุ่มเป็นสำคัญ เช่นหาก Server 1 มีงานมากกว่า Server 2 ตัว Load Balancer จะส่ง Traffic ไปยัง Server 2
การทำ Cluster Load Balance คือ การผสมผสานการทำงานทั้งสองลักษณะเข้าด้วยกัน หากเลือกใช้การทำงานแบบนี้แล้ว การใช้ Load Balance แบบ Sticky ก็จะไม่มีความหมาย เนื่องจากทุก Server ภายในกลุ่มเป็น Cluster อยู่แล้ว จึงไม่มีเหตุผลที่จะส่ง Traffic ไปให้เครื่องเดิมอีก ควรทำ Load Balance แบบ Round-Robin หรือ Work Load แทน Load Balance และ Cluster เป็น Design Pattern ที่ช่วยให้ System Architect สามารถออกแบบระบบได้ง่ายและรวดเร็วขึ้น
การทำ Cluster ไม่จำเป็นต้องพึ่ง Feature ของ Server เป็นหลัก แต่สามารถ Develop ตัว Application ให้เป็น Cluster ได้โดยไม่ต้องพึ่ง Feature ของ Server เช่น การใช้หลักการของ File Sharing หรือ Database สามารถทำงานได้เหมือนกัน เช่นเดียวกับการทำ Load Balance ไม่ต้องหา Hardware หรือ Software พิเศษที่จะทำหน้าที่เป็น Load Balancer แต่เขียน Application เพื่อทำการกระจาย Traffic ไปยัง Server ได้เหมือนกัน โดยใช้หลักการของ Redirection เป็นต้น
ระบบ Cluster Computing มีการจัดกลุ่มของคอมพิวเตอร์หลายตัวเพื่อให้สามารถทำงานได้เหมือนกับเป็นคอมพิวเตอร์ตัวเดียวกัน ดังนั้นไม่ว่าผู้ใช้เข้ามาใช้งานเครื่องใดภายในกลุ่มก็จะรู้สึกเหมือนใช้งานเครื่องเดียวกัน คุณสมบัติของการทำ Clustering คือการทำรีพลิเคท(Replication) โดยในแง่ของ Web Application คือ การทำ Session Replication ซึ่งตามปกติแล้ว Session ของผู้ใช้เก็บใน Web Server เครื่องที่ผู้ใช้ใช้งานอยู่เท่านั้นแต่การทำ Clustering จะเป็นการคัดลอก Replicate Session นั้นไปยัง Web Server อื่นภายในกลุ่มด้วย ทำให้ไม่ว่าผู้ใช้จะเข้าไปใช้งานใน Server เครื่องใดก็จะมี Session ของผู้ใช้อยู่ด้วยเสมอ
ส่วน Load Balancing คือ การจัดกลุ่มของคอมพิวเตอร์หลายตัวเพื่อแบ่งงานกันหรือกระจาย Load การใช้งานของผู้ใช้ไปยังคอมพิวเตอร์ภายในกลุ่ม เพื่อให้สามารถรับจำนวนผู้ใช้ที่เข้ามาใช้งานได้มากขึ้น หรือสามารถรับงานที่เข้ามาได้มากขึ้น นอกจากนั้นยังมีคุณสมบัติของ Fail Over คือ หากมีคอมพิวเตอร์ใดภายในกลุ่มมีปัญหาไม่สามารถทำงานได้ ตัว Load Balancer ที่เป็นตัวแจก Load ให้คอมพิวเตอร์ภายในกลุ่มก็จะส่ง Load ไปยังเครื่องอื่นแทน จนกว่าเครื่องนั้นจะกลับมาใช้งานได้ดังเดิม
การทำงานของ Load Balancer มี 3 ลักษณะด้วยกัน คือ
1. Round-Robin เป็นการส่ง Traffic ไปยัง Server ภายในกลุ่มวนไปเรื่อย ๆ
2. Sticky เป็นการส่ง Traffic โดยยึดติดกับ Session ที่ผู้ใช้เคยเข้าไปใช้งาน เช่น ถ้าผู้ใช้เคยเข้าไปใช้ใน Server ที่ 1 ภายในกลุ่ม Traffic ของผู้ใช้คนนั้นจะถูกส่งไปยัง Server 1 เท่านั้น
3. Work Load เป็นการส่ง Traffic โดยดูที่ Performance ของ Server ภายในกลุ่มเป็นสำคัญ เช่นหาก Server 1 มีงานมากกว่า Server 2 ตัว Load Balancer จะส่ง Traffic ไปยัง Server 2
การทำ Cluster Load Balance คือ การผสมผสานการทำงานทั้งสองลักษณะเข้าด้วยกัน หากเลือกใช้การทำงานแบบนี้แล้ว การใช้ Load Balance แบบ Sticky ก็จะไม่มีความหมาย เนื่องจากทุก Server ภายในกลุ่มเป็น Cluster อยู่แล้ว จึงไม่มีเหตุผลที่จะส่ง Traffic ไปให้เครื่องเดิมอีก ควรทำ Load Balance แบบ Round-Robin หรือ Work Load แทน Load Balance และ Cluster เป็น Design Pattern ที่ช่วยให้ System Architect สามารถออกแบบระบบได้ง่ายและรวดเร็วขึ้น
การทำ Cluster ไม่จำเป็นต้องพึ่ง Feature ของ Server เป็นหลัก แต่สามารถ Develop ตัว Application ให้เป็น Cluster ได้โดยไม่ต้องพึ่ง Feature ของ Server เช่น การใช้หลักการของ File Sharing หรือ Database สามารถทำงานได้เหมือนกัน เช่นเดียวกับการทำ Load Balance ไม่ต้องหา Hardware หรือ Software พิเศษที่จะทำหน้าที่เป็น Load Balancer แต่เขียน Application เพื่อทำการกระจาย Traffic ไปยัง Server ได้เหมือนกัน โดยใช้หลักการของ Redirection เป็นต้น
การประยุกต์ใช้งานระบบ cluster แบ่งออกได้เป็น 2 รูปแบบหลักคือ
1) High Performance Computing (HPC) เป็นรูปแบบการเพิ่มประสิทธิภาพการทำงานให้กับโปรแกรมหนึ่งโปรแกรมใดโดยเฉพาะ งานในรูปแบบนี้จะเป็นการทำงานของการคำนวณแบบขนาน (Parallel Computing) ซึ่งใช้หลักการของการแบ่งงานใหญ่ออกเป็นงานย่อยๆ หลายๆ งาน แล้วกระจายกันให้แต่ละเครื่องช่วยกันทำ งานในลักษณะนี้จะเปรียบได้กับการสร้างบ้าน ถ้าเราใช้ช่าง 1 คนสร้างบ้านหนึ่งหลัง คงจะใช้เวลานานน่าดูหรืออาจจะไม่สามารถสร้างบ้านได้เลยก็ได้ แต่ถามเพิ่มจำนวนช่างมากขึ้น เป็น 10 หรือ 20 ก็จะช่วยให้การปลูกบ้านดำเนินไปได้เร็วขึ้น แต่ก็อีกเช่นกันถ้าเราบอกว่าดีจังเร็วขึ้น งั้นเพิ่มคนเป็น 500 คน ที่นี้งานที่เร็วอยู่อาจจะช้าลงก็ได้ครับ เนื่องจากช่างเดินชนกันไปมา ทำงานไม่สะดวก เป็นต้น ระบบ cluster ก็เป็นเช่นเดียวกัน สำหรับโปรแกรมที่จะมาทำงานในรูปแบบของ HPC นี้ เราจะเรียกว่าเป็นการโปรแกรมแบบขนาน ซึ่งเป็นโปรแกรมที่เขียนขึ้นมาเฉพาะ มีการระบุว่าจากการให้แบ่งส่วนไหนไปทำ
การประมวลผลแบบขนาน (Parallel Processing) คือ การแบ่งงานออกเป็นชิ้นเล็กให้แต่ละงานแก่ตัวประมวลผลหลาย ๆ ตัวในเวลาพร้อมกัน ประโยชน์ของการใช้วิธีการนี้ คือ แก้ปัญหาขนาดใหญ่ได้ ในเวลาที่เร็วขึ้น ลดค่าใช้จ่าย ซึ่งสามารถใช้เครื่องพีซี โดยเชื่อมต่อกันเป็นระบบ cluster แทนการใช้เครื่องเมนเฟรม หรือ ซุปเปอร์คอมพิวเตอร์
2. High Throughput Computing (HTC) การ ใช้งานในลักษณะของการรันโปรแกรมซีเควนเชียลแบบดังเดิม แต่ใช้หลักเอาพวกมากเข้าว่า เราจะเรียกได้ว่าเป็นระบบที่ให้ปริมาณผลลัพธ์ที่สูง การใช้งานลักษณะ HTC นี้เป็นการแบ่งงานแบบซีเควนเชียลที่มีจำนวนมาก ไปประมวลผลยังเครื่องที่กระจายอยู่ รูปแบบนี้จะมีเรื่องของการจัดลำดับงานเข้ามาเกี่ยวข้อง กล่าวคือ ในระบบแบบกระจายนี้จะมีการใช้ซอฟต์แวร์จัดลำดับงานหรือ Scheduling เข้ามาช่วยในการจ่ายงานไปยังเครื่องที่กระจายอยู่ โดยซอฟต์แวร์จะสามารถตรวจสอบภาระงานของเครื่องในระบบได้ว่าเครื่องใดมีภาระ งานมากน้อยเพียงใด และควรส่งงานไปให้เครื่องใด
ตัวอย่างงานประเภท HTC
- งานด้านการเรนเดอริ่ง (Rendering) การสร้างภาพยนตร์สามมิติ (3D) ทั้งหลาย ขั้นตอนหนึ่งที่สำคัญและใช้เวลานานคือช่วงที่คอมพิวเตอร์ทำการให้แสง สี บนชิ้นงานที่สร้างไว้ นั่นคือช่วงของการเรนเดอร์ เป็นที่รู้กันว่าถ้าจะให้ตัวการ์ตูนในภาพยนตร์ที่สร้างขึ้นสามารถเคลื่อนไหว ไปมาได้คล้ายของจริงมากๆ นั้นจำเป็นที่จะต้องมีจำนวนเฟรมที่มากต่อวินาที (30-40 เฟรมต่อวินาที) งานคอมพิวเตอร์กราฟฟิกขนาดใหญ่ อาจจะต้องใช้เวลาในการเรนเดอร์ในแต่ละเฟรมนานข้ามคืนเมื่อทำบนเครื่องพีซี ธรรมดา นั่นหมายความว่าถ้าจะทำหนังเรื่องหนึ่งที่มีความยาวสองชั่วโมง คุณอาจจะต้องใช้เวลาเรนเดอร์นานเป็นปี ระบบ cluster จึงถูกเอาเข้ามาประยุกต์ใช้ในลักษณะนี้ ดังจะเห็นได้ตั้งแต่ฉากเรือล่ม ในภาพยนตร์ titanic ซึ่งใช้เครื่องคอมพิวเตอร์กว่าร้อยเครื่องในการประมวลผล
ทำไมต้อง cluster
สาเหตุที่ต้องมีการคิดค้นระบบ cluster ก็เพราะปัญหาของราคาเครื่องที่มี สมรรถนะสูงอย่างเครื่องซุปเปอร์คอมพิวเตอร์ (Super Computer) นั้นแพงมาก ประกอบกับปัญหาย่อยๆ อย่างเช่นการดูแลรักษาที่ต้องอาศัยผู้เชี่ยวชาญ เป็นต้น ทำให้มีการคิดค้นระบบสมรรถนะสูงในรูปแบบอื่นๆ ทดแทน และ cluster ก็เป็นอีกทางเลือกหนึ่ง
ที่มา http://stitchzzz.blogspot.com/2009/12/cluster-computing.html
1) High Performance Computing (HPC) เป็นรูปแบบการเพิ่มประสิทธิภาพการทำงานให้กับโปรแกรมหนึ่งโปรแกรมใดโดยเฉพาะ งานในรูปแบบนี้จะเป็นการทำงานของการคำนวณแบบขนาน (Parallel Computing) ซึ่งใช้หลักการของการแบ่งงานใหญ่ออกเป็นงานย่อยๆ หลายๆ งาน แล้วกระจายกันให้แต่ละเครื่องช่วยกันทำ งานในลักษณะนี้จะเปรียบได้กับการสร้างบ้าน ถ้าเราใช้ช่าง 1 คนสร้างบ้านหนึ่งหลัง คงจะใช้เวลานานน่าดูหรืออาจจะไม่สามารถสร้างบ้านได้เลยก็ได้ แต่ถามเพิ่มจำนวนช่างมากขึ้น เป็น 10 หรือ 20 ก็จะช่วยให้การปลูกบ้านดำเนินไปได้เร็วขึ้น แต่ก็อีกเช่นกันถ้าเราบอกว่าดีจังเร็วขึ้น งั้นเพิ่มคนเป็น 500 คน ที่นี้งานที่เร็วอยู่อาจจะช้าลงก็ได้ครับ เนื่องจากช่างเดินชนกันไปมา ทำงานไม่สะดวก เป็นต้น ระบบ cluster ก็เป็นเช่นเดียวกัน สำหรับโปรแกรมที่จะมาทำงานในรูปแบบของ HPC นี้ เราจะเรียกว่าเป็นการโปรแกรมแบบขนาน ซึ่งเป็นโปรแกรมที่เขียนขึ้นมาเฉพาะ มีการระบุว่าจากการให้แบ่งส่วนไหนไปทำ
การประมวลผลแบบขนาน (Parallel Processing) คือ การแบ่งงานออกเป็นชิ้นเล็กให้แต่ละงานแก่ตัวประมวลผลหลาย ๆ ตัวในเวลาพร้อมกัน ประโยชน์ของการใช้วิธีการนี้ คือ แก้ปัญหาขนาดใหญ่ได้ ในเวลาที่เร็วขึ้น ลดค่าใช้จ่าย ซึ่งสามารถใช้เครื่องพีซี โดยเชื่อมต่อกันเป็นระบบ cluster แทนการใช้เครื่องเมนเฟรม หรือ ซุปเปอร์คอมพิวเตอร์
2. High Throughput Computing (HTC) การ ใช้งานในลักษณะของการรันโปรแกรมซีเควนเชียลแบบดังเดิม แต่ใช้หลักเอาพวกมากเข้าว่า เราจะเรียกได้ว่าเป็นระบบที่ให้ปริมาณผลลัพธ์ที่สูง การใช้งานลักษณะ HTC นี้เป็นการแบ่งงานแบบซีเควนเชียลที่มีจำนวนมาก ไปประมวลผลยังเครื่องที่กระจายอยู่ รูปแบบนี้จะมีเรื่องของการจัดลำดับงานเข้ามาเกี่ยวข้อง กล่าวคือ ในระบบแบบกระจายนี้จะมีการใช้ซอฟต์แวร์จัดลำดับงานหรือ Scheduling เข้ามาช่วยในการจ่ายงานไปยังเครื่องที่กระจายอยู่ โดยซอฟต์แวร์จะสามารถตรวจสอบภาระงานของเครื่องในระบบได้ว่าเครื่องใดมีภาระ งานมากน้อยเพียงใด และควรส่งงานไปให้เครื่องใด
ตัวอย่างงานประเภท HTC
- งานด้านการเรนเดอริ่ง (Rendering) การสร้างภาพยนตร์สามมิติ (3D) ทั้งหลาย ขั้นตอนหนึ่งที่สำคัญและใช้เวลานานคือช่วงที่คอมพิวเตอร์ทำการให้แสง สี บนชิ้นงานที่สร้างไว้ นั่นคือช่วงของการเรนเดอร์ เป็นที่รู้กันว่าถ้าจะให้ตัวการ์ตูนในภาพยนตร์ที่สร้างขึ้นสามารถเคลื่อนไหว ไปมาได้คล้ายของจริงมากๆ นั้นจำเป็นที่จะต้องมีจำนวนเฟรมที่มากต่อวินาที (30-40 เฟรมต่อวินาที) งานคอมพิวเตอร์กราฟฟิกขนาดใหญ่ อาจจะต้องใช้เวลาในการเรนเดอร์ในแต่ละเฟรมนานข้ามคืนเมื่อทำบนเครื่องพีซี ธรรมดา นั่นหมายความว่าถ้าจะทำหนังเรื่องหนึ่งที่มีความยาวสองชั่วโมง คุณอาจจะต้องใช้เวลาเรนเดอร์นานเป็นปี ระบบ cluster จึงถูกเอาเข้ามาประยุกต์ใช้ในลักษณะนี้ ดังจะเห็นได้ตั้งแต่ฉากเรือล่ม ในภาพยนตร์ titanic ซึ่งใช้เครื่องคอมพิวเตอร์กว่าร้อยเครื่องในการประมวลผล
ทำไมต้อง cluster
สาเหตุที่ต้องมีการคิดค้นระบบ cluster ก็เพราะปัญหาของราคาเครื่องที่มี สมรรถนะสูงอย่างเครื่องซุปเปอร์คอมพิวเตอร์ (Super Computer) นั้นแพงมาก ประกอบกับปัญหาย่อยๆ อย่างเช่นการดูแลรักษาที่ต้องอาศัยผู้เชี่ยวชาญ เป็นต้น ทำให้มีการคิดค้นระบบสมรรถนะสูงในรูปแบบอื่นๆ ทดแทน และ cluster ก็เป็นอีกทางเลือกหนึ่ง
ที่มา http://stitchzzz.blogspot.com/2009/12/cluster-computing.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น