Breaking News
เอาเครื่องเก่ามาแลก แล้วรับเงินคืนไปเลย!!

Facebook เปิดเผยการออกแบบ Front-end Server ล่าสุด และการออกแบบ Xeon-D ร่วมกับ Intel

Facebook ได้ออกมาเปิดเผยถึงปัญหาที่พบภายใน Data Center ที่เริ่มเติบโตขึ้นจน CPU ของ Intel พัฒนาตามไม่ทันต่อการเติบโต และเริ่มพบข้อจำกัดด้านพลังงานที่ต้องใช้ภายใน Data Center และได้ทำการแก้ไขปัญหาเหล่านี้ด้วยการร่วมออกแบบ CPU กับ Intel ออกมาเป็น Intel Xeon-D และออกแบบ Server Hardware ใหม่สำหรับให้บริการเป็น Web Server ได้อย่างมีประสิทธิภาพสูงสุด และดูแลได้อย่างง่ายดายที่สุดโดยเฉพาะ ซึ่งทางทีมงาน TechTalkThai ขอสรุปเนื้อหาเอาไว้ดังนี้

 

Web Server Workload เติบโตจนกลายเป็นปัญหา

ใน Cluster แต่ละแห่งของ Facebook นั้นจะประกอบไปด้วย Server มากกว่า 10,000 เครื่องที่ใช้ HHVM ที่รองรับภาษา Hack และ PHP เพื่อรับ Request จากผู้ใช้งานจำนวนมากในแต่ละวัน โดยมีประเด็นที่สำคัญคือ Latency ต้องต่ำ และมี Throughput ที่สูง

ด้วยความต้องการนี้ ทำให้ Facebook ต้องการ Server ที่มีเพียง CPU ที่สามารถประมวลผล Single-Thread และรองรับ Throughput จำนวนมากได้เพื่อให้สามารถรองรับ Concurrent Thread จำนวนมหาศาลได้ เพื่อให้การทำ Stateless Execution บน PHP เพื่อรับมือ Request ต่างๆ แบบ Parallel มีประสิทธิภาพสูงสุด

แต่ในการใช้งานจริงนั้น เนื่องจากโค้ดมีขนาดใหญ่ และแต่ละ Request นั้นมีการเข้าถึงข้อมูลจำนวนมหาศาล ก็เลยทำให้ Workload นี้เน้นไปที่ Memory-Bandwidth แทน ทำให้ระบบ Cache บน CPU ยิ่งทวีความสำคัญมากยิ่งขึ้นไปนั่นเอง

ก่อนหน้านี้ Facebook ใช้ CPU Intel Xeon E5 แบบ 2 Socket ที่มี QPI ทำให้เกิดปัญหาในการใช้ NUMA และยากต่อการดูแลรักษา ในขณะที่มี Chipset อื่นๆ พ่วงมาด้วยมากมายทำให้เปลืองพลังงานมากขึ้น และทำให้ถึงแม้จะพยายามปรับแต่ง Hardware ยังไง Facebook ก็รู้สึกว่ากินพลังงานมากและไม่สามารถ Scale ระบบได้ดี

ด้วยเหตุนี้ Facebook จึงตัดสินใจที่จะรื้อ Hardware สำหรับ Web Server ทั้งหมดนั่นเอง

 

ร่วมออกแบบ CPU Xeon-D กับทาง Intel

3 ปีที่แล้ว Facebook ได้ร่วมมือกับ Intel เพื่อสร้าง CPU ใหม่ภายใต้ชื่อ Broadwell-D โดยอ้างอิง Requirement ต่างๆ ของ Facebook เป็นหลัก ด้วยการตัด Feature ต่างๆ ออกจาก Intel Xeon ให้เหลือน้อยที่สุด, ถอด QPI Link ออก และปรับให้เป็น Single Socket แทน จนสุดท้ายก็กลายมาเป็น System-on-a-Chip (SOC) แทน ซึ่งลดพลังงานและความร้อนที่เกิดขึ้นใน Data Center ได้เป็นอย่างดี และเกิดมาเป็น Intel Xeon-D นั่นเอง ซึ่งถือว่าไม่ง่ายเหมือนกันกับการให้ Intel ช่วยแตกไลน์ CPU ใหม่เพื่อการนี้โดยเฉพาะแบบนี้

facebook_intel_xeon-d

จากเดิมนั้น Facebook จำกัดพลังงานต่อ Rack เอาไว้ที่ 11kW ซึ่ง Intel Xeon E5 รุ่นก่อนๆ ที่ใช้พลังงานมากถึง 120W นั้นสามารถทำงานพร้อมๆ กันได้เพียง 60 CPU เท่านั้น ในขณะที่ Intel Xeon-D นี้ช่วยให้ Facebook รองรับได้ถึง 120 CPU ในพลังงานเท่าเดิม

แต่เพื่อให้พื้นที่ของตู้ Rack มีความหนาแน่นสูงสุด เพื่อประหยัดค่าใช้จ่ายให้มากที่สุด Facebook ก็ต้องพยายามทำให้ Intel Xeon-D ที่เป็นแบบ Single Socket นี้สามารถใช้งานได้เป็นจำนวนมากต่อพื้นที่ Rack 1U

 

กำเนิด Mono Lake และ Yosemite เพิ่มความหนาแน่นต่อ Rack

Facebook Mono Lake
Facebook Mono Lake

Facebook ได้ออกแบบ Mono Lake ซึ่งเป็น Building Block ของระบบ SOC ที่มี Intel Xeon-D เป็นหัวใจหลัก โดยรอรับการติดตั้ง FPGA และ GPU เพิ่มเติมได้ โดย Mono Lake แต่ละตัวนี้จะมี RAM 32GB และมี Storage 128GB (สำหรับ Boot และเก็บข้อมูล Log)

Facebook Yosemite
Facebook Yosemite

Mono Lake จำนวน 4 ชุดจะถูกติดตั้งลงไปบน Yosemite เพื่อเชื่อมต่อ Network Interface ผ่านทาง PCI-e รวมกัน และจ่ายออกไปเป็น 2x 25Gbps โดยทำ Port Aggregation เชื่อมต่อไปยัง Top-of-Rack Switch นั่นเอง

facebook_yosemite_diagram

ด้วยวิธีการนี้ทำให้แต่ละ CPU สามารถทำงานร่วมกันได้อย่างรวดเร็วผ่านระบบเครือข่าย และแก้ไขปัญหาเรื่อง NUMA ได้อย่างง่ายดาย ทำให้การเปลี่ยนหรือลดจำนวน Mono Lake สามารถทำได้อย่างอิสระ

facebook_xeon_e5_vs_xeon-d_diagram

 

บทสรุป: ประหยัดพลังงานลงได้มหาศาล แต่ยังต้องพัฒนาต่อไป

ด้วยวิธีการนี้ทำให้ Facebook สามารถรองรับการเติบโตของ Data Center ได้โดยที่ประสิทธิภาพ Performance/Watt ดีขึ้นแบบก้าวกระโดด อีกทั้งยังพบว่าระบบที่มี CPU เดียวนั้นทำงานได้ดีกว่า Dual CPU เป็นอย่างมากอีกด้วย

facebook_xeon-d_performance_per_watt

สำหรับปัญหาที่พบใน Intel Xeon-D ตอนนี้ก็คือการรองรับ RAM ได้น้อยไปหน่อย แต่ก็ยังเพียงพอต่อการใช้งานในปัจจุบัน ซึ่งทั้งขนาดของ RAM และ Bandwidth นี้ก็ยังเป็นสิ่งที่ต้องปรับปรุงต่อไป

นอกจากนี้ LLC Cache Partitioning ก็เป็นอีกหนึ่งความสามารถที่ Facebook พัฒนาร่วมกับ Intel อย่างใกล้ชิด เพื่อแบ่ง Partition เฉพาะสำหรับ Instruction ที่ถูกเรียกใช้บ่อยๆ ไปเลย ก็ทำให้ลดปริมาณการใช้ Memory Bandwidth ลงไปได้และช่วยเพิ่มประสิทธิภาพของระบบ

Facebook ยังได้บอกอีกว่าทั้งหมดนี้เป็นเพียง 1% ของสิ่งที่ต้องการจะทำ ดังนั้นหลังจากนี้ก็จะมีการพัฒนาสิ่งใหม่ๆ ออกมาอย่างต่อเนื่องแน่นอน

 

ที่มา: https://code.facebook.com/posts/1711485769063510/facebook-s-new-front-end-server-design-delivers-on-performance-without-sucking-up-power/



About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

[Guest Post] หัวเว่ย เปิดตัว FusionServer Pro V6 SAP HANA Solution มุ่งเสริมพลังองค์กรสู่การพลิกโฉมเป็นดิจิทัล

เซี่ยงไฮ้-ที่งาน HUAWEI CONNECT 2020 หัวเว่ยได้เปิดตัวโซลูชัน FusionServer Pro V6 SAP HANA โดยมีแขกผู้มีเกียรติ์จาก SAP, Intel และ SUSE …

[Guest Post] Aveva ให้ความสำคัญแก่กลยุทธ์ระบบคลาวด์ เพื่อตอบสนองต่อความต้องการในช่วง New Normal

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