2 คะแนน โดย GN⁺ 2023-08-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ชิปเพื่อการวิจัยที่เปิดตัวในงาน Hot Chips 2023 นี้มุ่งเป้าไปที่การประมวลผลข้อมูลแบบ ultra-sparse ของ DARPA HIVE โดยให้ฮาร์ดแวร์เธรดรวม 528 เธรดจาก 8 คอร์
  • ผลการวิเคราะห์เวิร์กโหลดพบว่าแม้จะมีความขนานสูง แต่ การใช้ประโยชน์จาก cache line และประสิทธิภาพของไปป์ไลน์ out-of-order ที่ยาวนั้นต่ำ จึงจำเป็นต้องมีการออกแบบที่ต่างจาก CPU เซิร์ฟเวอร์ทั่วไป
  • โปรเซสเซอร์นี้ไม่ได้ใช้ x86 แต่ใช้ RISC ISA โดยรองรับ concurrency ขนาดใหญ่ด้วย 66 เธรดต่อคอร์และไปป์ไลน์แบบมัลติเธรด
  • การสื่อสารระหว่างชิปเชื่อมต่อด้วย optical fabric แบบ direct mesh-to-mesh ที่ใช้ silicon photonics ทำให้สามารถสื่อสารโดยตรงกับคอร์ที่อยู่นอกแชสซีได้โดยไม่ต้องใช้สวิตช์และ NIC
  • การนำไปใช้งานเป็น CPU 8 คอร์ 75W บน TSMC 7nm และเนื่องจากใช้พลังงานมากกว่าครึ่งไปกับการเชื่อมต่อแบบออปติคัล จึงยังคงเป็นการออกแบบเชิงทดลองในระดับห้องแล็บ

CPU 528 เธรดที่มุ่งเป้าไปที่ DARPA HIVE

  • ในงาน Hot Chips 2023 Intel ได้จัดแสดงเทคโนโลยี direct mesh-to-mesh optical fabric แยกจากชิปเซิร์ฟเวอร์ทั่วไป
  • เป้าหมายหลักของการออกแบบคือการประมวลผล ข้อมูลแบบ ultra-sparse ตามที่โปรแกรม DARPA HIVE ต้องการ
  • ผลการทำ workload profiling ของ Intel แสดงให้เห็นลักษณะที่ไม่เข้ากับการออกแบบ CPU ทั่วไป
    • มีความขนานขนาดใหญ่
    • การใช้ประโยชน์จาก cache line ต่ำ
    • โครงสร้างไปป์ไลน์ out-of-order ที่ยาวไม่ได้ถูกใช้งานอย่างเต็มที่
  • โปรเซสเซอร์จึงถูกออกแบบให้เป็นคอนฟิกูเรชันซ็อกเก็ต 8 คอร์เพื่อให้เหมาะสมกับลักษณะดังกล่าว
    • ฮาร์ดแวร์เธรด 66 เธรด ต่อคอร์
    • รวม 528 เธรด
    • ใช้ RISC ISA ไม่ใช่ x86
    • แต่ละคอร์ใช้ไปป์ไลน์แบบมัลติเธรด

เชื่อมต่อชิปเข้าหากันโดยตรงด้วย silicon photonics

  • ชิปนี้ใช้คอนฟิกูเรชันที่ใส่ซ็อกเก็ต 16 ตัวไว้ใน OCP compute tray เดียว แล้วเชื่อมเข้าด้วยกันผ่าน optical networking
  • ชิป I/O ความเร็วสูงทำหน้าที่เชื่อมระหว่างสัญญาณไฟฟ้ากับฟังก์ชันออปติคัล
  • เครือข่ายบนไดมีการวางเราเตอร์ไว้ โดยในเราเตอร์ 16 ตัว ครึ่งหนึ่งทำหน้าที่ให้แบนด์วิดท์มากขึ้นกับ I/O ความเร็วสูง
  • ชั้นการเชื่อมต่อทางกายภาพภายในแพ็กเกจใช้ EMIB
  • ในการเชื่อมต่อนอกได แต่ละชิปขับ optical networking ผ่าน silicon photonics
    • การเชื่อมต่อระหว่างคอร์สามารถเกิดขึ้นได้โดยตรงระหว่างชิป
    • แม้ไม่ได้อยู่ในแชสซีเดียวกันก็สามารถเชื่อมต่อได้โดยไม่ต้องใช้สวิตช์และ NIC
  • ทั้งชิปประกอบขึ้นเป็น multi-chip package บนพื้นฐาน EMIB
  • การใส่ silicon photonics engine ทำให้เกิดความท้าทายเพิ่มเติมในส่วนที่ต่อจากแพ็กเกจไปยังเส้นใย optical fiber
  • ด้านพลังงาน การใช้งานนี้เป็น CPU 8 คอร์ 75W โดยใช้พลังงานมากกว่าครึ่งกับ silicon photonics
  • ภาพถ่ายไดจริงยืนยันว่าใช้กระบวนการผลิต TSMC 7nm และงานยังดำเนินต่อไปในห้องแล็บ
  • ส่วนการเชื่อมต่อแบบออปติคัลได้รับความช่วยเหลือจาก Ayar Labs
  • คอนเน็กเตอร์แบบเสียบได้ที่ Intel เคยเปิดตัวในงาน Innovation 2022 ไม่ได้ถูกใช้ในการใช้งานนี้

1 ความคิดเห็น

 
GN⁺ 2023-08-30
ความคิดเห็นบน Hacker News
  • ถ้าเป็น 66 เธรด ต่อคอร์ ก็ดูใกล้เคียงกับ barrel processor มากกว่าอย่างอื่น
    คงคาดหวังไม่ได้ว่าแต่ละเธรดจะเร็ว แต่ถ้ามีงานให้โปรเซสเซอร์ทำมากพอ ก็อาจมองได้ว่ามันจะทำงานที่มีประโยชน์ได้เป็นส่วนใหญ่ แทนที่จะรอหน่วยความจำ

    • ไม่รู้ว่า Intel ยังมีแรงจูงใจจะลองทำ barrel processor อีกหรือไม่
      จุดอ่อนหลักของ barrel processor อยู่ที่ฝั่งคน มีคนเพียงหยิบมือที่รู้วิธีออกแบบโค้ดให้ดึงศักยภาพออกมาได้จริง โค้ดทั่วไปก็ยังรันได้พอใช้ ดังนั้นในระดับโค้ดมันจึงดูคุ้นเคย แต่ถ้าเป็นคนที่เคยเขียนเฉพาะโค้ดสำหรับ CPU ก็ต้องเขียนในแบบที่ดูแปลกมาก ไม่อย่างนั้นประสิทธิภาพจะไม่ค่อยออกมา
      เป็นสถาปัตยกรรมที่แปลกสำหรับการออกแบบโครงสร้างข้อมูลและอัลกอริทึม และเอกสารเกี่ยวกับการออกแบบอัลกอริทึมสำหรับ barrel processor ก็มีไม่มาก
      ผมเคยออกแบบโค้ดสำหรับสถาปัตยกรรม barrel processor หลายแบบ ตั้งแต่ระบบ Tera รุ่นเก่า และทำได้ค่อนข้างดีแล้ว ผมมองว่าถ้าคนที่เข้าใจจริงเป็นคนใช้ ในงบประมาณซิลิคอนใกล้เคียงกัน มันอาจมีประสิทธิภาพการคำนวณสูงกว่าแทบทุกสถาปัตยกรรมสำหรับงานคอมพิวต์ทั่วไป
      แต่การเขียนโค้ดที่มีประสิทธิภาพต้องรักษาโมเดลในหัวที่ซับซ้อนกว่าโค้ดเทียบเท่าสำหรับ CPU มาก เศรษฐศาสตร์จึงเข้าข้างสถาปัตยกรรมอย่าง CPU ที่วิศวกรทั่วไปก็สามารถทำประสิทธิภาพได้พอสมควร
      แม้จะมีข้อดีด้านประสิทธิภาพการคำนวณล้วน ๆ แต่ตอนนี้ผมเลิกคาดหวังแล้วว่าเราจะได้เห็น barrel processor กระแสหลัก
    • ใน 66 เธรดนั้น 64 เธรด เป็นเธรดช้า โดยแต่ละกลุ่ม 16 เธรดแชร์ชุด execution unit หนึ่งชุด และทั้ง 64 เธรดแชร์ scratchpad memory กับแคชร่วมกัน
      ส่วนนี้ของคอร์คล้ายกับ GPU ที่มีอยู่มาก
      สิ่งที่ต่างใน CPU ทดลองของ Intel ตัวนี้คือ นอกเหนือจากส่วนที่เหมือน GPU แล้ว แต่ละคอร์ยังมี เธรดที่เร็วมาก 2 เธรด ด้วย ทั้ง 2 เธรดนี้เป็นแบบ out-of-order execution ทำงานด้วยคล็อกที่สูงกว่าเธรดช้ามาก และแต่ละเธรดมี execution unit ที่ไม่แชร์กับใคร
      เธรดเร็ว 2 เธรดกับเธรดช้า 64 เธรด หากแยกดูต่างก็คล้าย CPU หรือ GPU รุ่นเก่า แต่สิ่งใหม่คือการผสานทั้งสองไว้ในคอร์เดียวที่มี scratchpad memory และแคชร่วมกัน
    • นึกถึง Tera ซึ่งเป็นต้นแบบของ simultaneous multithreading ตอนปี 1990 มี 128 เธรดต่อคอร์
      https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&d...
      พนันได้เลยว่าโปรเจกต์ DARPA ที่สนับสนุนงานวิจัยนี้น่าจะอยู่ในสายความสนใจของตัวย่อ 3 ตัวอักษรเดียวกับที่ทำให้ Tera ได้เงินมากพอจะซื้อ Cray
    • รู้สึกคล้ายกับ การประมวลผลแบบ asynchronous ในฝั่งภาษาโปรแกรมมิ่งอยู่บ้าง
      ถ้าเปลี่ยน “รอหน่วยความจำ” เป็น “รอ I/O” ภาพก็แทบจะเหมือนกัน
    • ไม่ได้แปลว่าต้องเป็น barrel processor เสมอไป อาจใกล้เคียงกับการเพิ่ม จำนวน simultaneous multithreading ให้มากขึ้น เพราะประสิทธิภาพของ CPU สูงขึ้นเมื่อเทียบกับ CPU และแบนด์วิดท์หน่วยความจำ
      ระหว่างที่เกิดการ fetch ที่ช้า ระบบก็สามารถรันคำสั่งของเธรดอื่นเพิ่มแบบขนานได้
  • Marvell เคยทำ CPU ARM แบบ SMT8 ที่ชูจุดขาย 768 Threads Per Node
    https://www.servethehome.com/marvell-thunderx3-arm-server-cp...
    เท่าที่จำได้ เขาเล็ง workload ฐานข้อมูล และตรรกะหลักก็เหมือนกัน คือถ้าคอร์มักว่างเพราะรอ RAM ก็ให้มันไปประมวลผลเธรดอื่นระหว่างนั้น
    แม้ IBM กับ Zen4C จะตอบโจทย์ความต้องการนี้ได้ในระดับหนึ่ง แต่ก็คงดีถ้ามี cloud instance แบบ SMT16 ที่ตั้งใจเจาะ workload ที่มีอัตราประมวลผลคำสั่งต่ำ แบบนี้มากขึ้น

    • Niagara หรือ UltraSPARC T1/T2 ก็ทำสิ่งเดียวกัน
      ในการออกแบบแนว barrel processor แบบนี้ CMT8/SMT8 ดูเหมือนเป็นจุดที่เหมาะสม
    • เพิ่งเคยเห็นคนเขียนหรือพูดว่า “mind as well” เป็นครั้งแรก เป็นสำนวนที่ใช้กันทั่วไปในพื้นที่ที่คุณอยู่หรือเปล่า? ที่ผ่านมาเคยได้ยินแต่ “might as well”
  • ดูเหมือนเป็นข้อเสนอว่า ถ้าสามารถกระจายต้นทุน พื้นที่ไดและความสูญเสียด้านความเร็ว จากการแปลงสัญญาณไฟฟ้าเป็นสัญญาณแสงได้ ก็จะได้ความเร็วใน optical interconnect ที่แทบไม่ขึ้นกับระยะทาง ด้วยประสิทธิภาพที่ดี
    แน่นอนว่าคงไม่สมบูรณ์แบบขนาดนั้น แต่ถ้าจำกัดไว้ที่ระยะระดับ chip carrier ภายในแชสซีเดียว ก็มีสัญญาณรบกวนน้อย และการเดินสายก็ยืดหยุ่นภายในรัศมีการโค้งของ optical guide
    ผมอาจอ่านผิดก็ได้ ชิ้นส่วนออปติกอาจมีไว้เพื่อวัตถุประสงค์อื่นอย่าง die stacking หรืออาจตั้งใจสร้างกริดของชิปบน super carrier แล้วเชื่อมกันด้วย optical interconnect

    • แค่แยกคอร์ออกจากกันก็ช่วยเรื่อง การระบายความร้อน ได้มากแล้ว
    • ตอนผมอยู่ที่นั่นในปี 1997 ก็มี voxel แล้ว เป้าหมายคือการซ้อนเลเยอร์และใช้ voxel ภายในสแต็กแนวตั้ง
  • มีทั้งภาพไดจริงและการยืนยันว่าผลิตบน TSMC 7nm แบบนี้ สำหรับ Intel แล้วน่าจะเป็นภาพที่เจ็บพอสมควร
    ถ้าต้องใช้ แฟ็บของคู่แข่ง เพื่อทำของแบบนี้ ในฐานะผู้ผลิตชิปก็น่าจะเป็นช่วงเวลาที่ค่อนข้างตกต่ำ

    • Intel มี โหนดต้นแบบ 1.8nm ที่ Nvidia ทดสอบแล้วและพูดถึงในแง่ดีอยู่แล้ว
      แต่โหนด 10nm เป็นหายนะสำหรับ Intel และทำให้บริษัทตามหลังในธุรกิจผลิตชิปไปประมาณ 5~10 ปี
    • กระบวนการผลิตของ TSMC ใช้งานง่ายกว่า และมีระบบนิเวศ IP รอบ ๆ ที่พร้อมกว่า ซึ่งกระบวนการภายในของ Intel ไม่มี
      ถ้าเป็นโครงการวิจัย ก็จินตนาการได้ไม่ยากว่าทำไมถึงเลือก TSMC
    • ในแฟ็บของ Intel แทบทุกอย่างที่ไม่ใช่ CPU ลอจิกมักถูกปฏิบัติเหมือนพลเมืองชั้นสอง
      นี่อธิบายได้ว่าทำไมของแปลก ๆ แบบนี้ถึงไปอยู่กับ TSMC เช่น Silicon Photonics เองก็ยังดำเนินการอยู่ที่ Albuquerque ซึ่งเป็นไซต์ที่แทบจะกำลังตาย
    • Intel น่าจะใช้ TSMC กับโปรเซสเซอร์ที่ไม่ใช่สำหรับพีซีมาตั้งแต่ราว 15 ปีก่อนแล้ว
      ถ้าค้น Google โดยกำหนดช่วงปี 2001~2010 ก็จะเจอข่าวที่เกี่ยวข้อง
      คงมีเหตุผลบางอย่างที่ผู้ใช้ HN ไม่ค่อยรู้เรื่องเซมิคอนดักเตอร์ อาจเป็นเพราะผู้อ่านส่วนใหญ่เป็นสายซอฟต์แวร์ นี่น่าจะเป็นสาขาที่มีอัตราส่วนความมั่นใจต่อคุณภาพคำอธิบายสูงที่สุดบนเว็บนี้
    • Nvidia และ AMD ก็ทำสัญญาใช้ บริการฟาวด์รี ระดับอองสตรอมของ Intel ไปแล้ว จึงไม่ใช่เรื่องเหนือจินตนาการ
      AMD ก็ทำแบบเดียวกันตอนเลิกพึ่ง GlobalFoundries และอาจมองได้ว่านั่นเป็นเหตุผลหลักที่ทำให้ AMD แซง Intel
      ยังไงทุกเจ้าก็ใช้เครื่องลิโทกราฟีของ ASML อยู่แล้ว ดังนั้นว่าใครเป็นคนใส่เวเฟอร์เข้าเครื่องจึงค่อนข้างเป็นเรื่องรอง
  • สิ่งนี้ดูใกล้เคียงกับ CPU พิสูจน์แนวคิด มากกว่าจะเป็นผลิตภัณฑ์ที่ขายได้จริง
    มันเฉพาะทางมาก และยังอยู่ในขั้นที่ต้องหาว่าจะแก้ปัญหาและเวิร์กโหลดแบบใด
    คาดว่าในอนาคตโฟตอนจะถูกนำมาใช้กับการประมวลผลทั่วไปด้วย อย่างน้อยก็เพื่อจัดการปัญหา ความร้อนส่วนเกิน ที่เพิ่มขึ้น โดยเฉพาะสิ่งที่สะดุดตาคือการเปลี่ยนกระบวนการผลิตจาก 10nm ไปเป็น 7nm

  • Sun ก็เคยทำของคล้ายกันเมื่อนานมาแล้ว แต่ภายหลังเลิกใช้ใน CPU UltraSPARC
    เป็นเพราะเธรดขาดงานให้ทำหรือเปล่า? หรือพวกเขาตัดสินใจว่าลดจำนวนคอร์แล้วทำให้เร็วขึ้นดีกว่า? หารายละเอียดได้ยาก
    คงดีถ้า bcantrill ใน HN มาบอกเรื่องวงในให้ฟัง

    • เคยใช้ระบบนั้นตอนช่วงรุ่งเรือง สำหรับบางเวิร์กโหลดมันยอดเยี่ยม แต่สิ่งที่ต้องใช้ ประสิทธิภาพคอร์เดี่ยว นั้นลำบาก
      หลายครั้งหากต้องการรีดประสิทธิภาพ ก็ต้องปรับพารามิเตอร์จำนวนมากกว่ามาก หรือคอมไพล์ใหม่
      สำหรับผม ช่วงนั้นยังซ้อนกับช่วงที่ความจำเป็นในการใช้ SSL เพิ่มขึ้นมากด้วย ซึ่ง SSL ถูกปรับแต่งมาดีสำหรับ x86 แต่ไม่ใช่กับ Sparc จึงต้องจัดการความซับซ้อนอย่างการ์ด SSL offloading หรือ reverse proxy เพิ่มเข้ามา
      ท้ายที่สุดแล้ว นอกเหนือจากบางตลาดเฉพาะ มันทำให้ทำงานได้ดีได้ยากเกินไป
      อาจไม่ใช่ปัจจัยใหญ่ แต่ในมุมผู้ดูแลระบบก็ยุ่งยากเหมือนกัน เพราะงานจำนวนมากที่เราต้องทำเป็นงานเชิงลำดับและเน้นคอร์เดี่ยว กล่าวคือมันโชว์ด้านที่แย่ที่สุดให้กลุ่มคนที่มักเป็นผู้อนุมัติการซื้อจาก vendor เห็น
  • สิ่งนี้ดูเหมาะมากกับ graph reduction และการเขียนโปรแกรมแบบ dataflow
    ถ้าได้เข้าสู่การผลิตจริง ก็น่าจะสร้างของเจ๋ง ๆ ด้วยมันได้ไม่น้อย

  • 8 คอร์กับ 528 เธรด นี่คำนวณยังไงกัน? ตอนแรกคิดว่าเป็น 512 แล้วต้องกลับไปอ่านใหม่

    • ตามบทความ Intel มีโปรเซสเซอร์ 8 คอร์ต่อซ็อกเก็ต และ 66 เธรด ต่อคอร์ รวมกันเป็น 528 เธรด
      ดูเหมือนว่าแคชจะไม่ได้ถูกใช้ประโยชน์มากนักเพราะลักษณะเวิร์กโหลด และนี่ไม่ใช่ x86 แต่เป็นชุดคำสั่ง RISC
    • ง่ายมาก 528 = 8 * (2 + 64)
      โดย 2 คือจำนวนเธรดแบบช้า ๆ เหมือน CPU ปัจจุบัน ส่วน 64 ใกล้เคียงกับเธรดของ GPU มากกว่า
      สถาปัตยกรรมนี้อาจเป็นก้าวถัดไปของ การผสาน GPU หวังว่าจะเขียนการใช้งานไลบรารีคณิตศาสตร์มาตรฐานที่มีประสิทธิภาพออกมาได้ดี มันอาจเร็วกว่าการมี CPU+GPU แยกกันในแพ็กเกจเดียว
    • หมายถึง "โปรเซสเซอร์ 8 คอร์ที่มี 66 เธรดต่อคอร์" 66*8 = 528
      ไม่ได้อธิบายว่าทำไมถึงเป็น 66
    • 66 ต่อคอร์ดูแปลกอยู่ อาจมี 2 เธรดไว้สำหรับ การเราต์หรือเมทาดาทา ก็ได้
  • ถึงเวลาจบงานเขียนโค้ดทั้งหมดใหม่ให้เป็น event-driven, io_uring ฯลฯ แล้ว

    • ในสถาปัตยกรรมแบบนี้ โดยทั่วไปการปล่อยให้ ฮาร์ดแวร์จัดการความเป็นอะซิงโครนัส มักให้ผลดีกว่า
      Tera MTA ที่คนอื่นพูดถึงมี หรือเคยมี การซิงโครไนซ์ด้วยฮาร์ดแวร์ในระบบหน่วยความจำเพื่อเรื่องนี้
      ไม่มี interrupt มีแค่เธรดที่รอให้ใครสักคนมาปลุก
  • ฉันอ่านบทความถูกไหม? หมายความว่ามี 32GB DRAM อยู่บนชิป หรือแค่ใช้ DIMM มาตรฐาน?

    • ไม่ได้อยู่บนชิป ยังคงเป็น DDR5 DIMM
      จุดที่น่าสนใจคือใช้ DIMM แบบคัสตอมและ memory controller เพื่อเข้าถึงเป็นหน่วย 8 ไบต์ แถมอย่างที่เห็นในภาพได แต่ละคอร์มี memory controller ของตัวเอง
      ถ้า memory controller แต่ละตัวดูแล DRAM 4GB ก็อธิบาย 32GB ต่อชิปได้
    • [แก้ไข: ผมน่าจะผิด!] ผมเกือบแน่ใจว่าเป็น HBM บนบอร์ดเดียวกัน หรือก็คือ หน่วยความจำแบนด์วิดท์สูง: https://en.wikipedia.org/wiki/High_Bandwidth_Memory
      มีเอกสารที่อธิบายละเอียดกว่านี้ด้วย และดูเหมือนว่า Nvidia ก็ทำแบบนี้กับ Grace Hopper ขณะที่ Apple ก็ทำคล้ายกันในชิปตระกูล M
      อัปเดต: ในกรณีนี้ดูเหมือนจะเป็นแค่ DDR5 หรือให้แม่นคือ "custom DDR5-4400 DRAM"
    • เป็น DDR5 ทั่วไป