Announcement

Collapse
No announcement yet.

มาวิเคราะห์ big.LITTLE ในแบบ AMD กัน

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • มาวิเคราะห์ big.LITTLE ในแบบ AMD กัน

    กลายเป็นข่าวฮือฮาเมื่อ AMD ได้จดสิทธิบัตรเทคโนโลยี Hybrid CPU ในแบบของตัวเอง ถือว่าน่าสนใจมากครับว่าทิศทางการพัฒนาของ AMD จะไปในทางไหน

    เทคโนโลยี Hybrid CPU ของ AMD หลักการคร่าวๆก็คือจะมี CPU 2 ระดับ (Low-Feature และ High-Feature) ทำงานร่วมกัน ส่งต่อ workload ให้กันและกันได้ ซึ่งก็คล้ายๆกับ big.LITTLE ของ Arm นั่นเอง (รวมถึง Lakefield และ Alder Lake ของอินเทลด้วย) เป้าหมายสำคัญคือทำให้ชิพกินไฟน้อยที่สุดเมื่ออุปกรณ์ทำงานเบาๆหรือ Standby อยู่ ผลก็คือประหยัดแบตฯ

    โดยเทคนิค big.LITTLE บน CPU Arm (รุ่น Cortex ทั้งหลาย) จะประกอบด้วย big Core ซึ่งมีสมรรถนะสูงแต่กินไฟมาก กับ LITTLE Core ที่มีคุณสมบัติตรงกันข้าม ซึ่งหลักการทำงานแบ่งเป็น 3 แบบดังนี้ (ดูรูปเพื่อประกอบความเข้าใจ)

    1. Clustered switching
    เป็นแบบง่ายที่สุด คือ แบ่งแยกเป็น 2 ฝั่ง big และ LITTLE ชัดเจนและใช้งานทีละฝั่งไปเลย เพราะ OS จะมองเห็นทีละ 1 Cluster เท่านั้น เมื่อภาระของ CPU เปลี่ยนไป ระบบก็จะส่งต่อการประมวลผลทั้งหมดไปให้อีก Cluster นึง โดยข้อมูลจะถูกโอนย้ายผ่านแคช L2 ที่ใช้ร่วมกัน แล้วระบบก็จะปิดไฟเลี้ยง Cluster เดิมทั้งหมด รูปแบบนี้เป็นรุ่นแรกๆซึ่งไม่มีความยืดหยุ่น เพราะทั้งระบบจะต้องเลือกระหว่าง big หรือ LITTLE Core อย่างใดอย่างหนึ่งในเวลาเดียวกันเท่านั้น


    รูป big.LITTLE แบบ clustered switching

    2. In-kernel switcher (CPU migration)
    การสลับ CPU ในแบบนี้จะจับคู่ big กับ LITTLE Core คู่ใครคู่มัน โดย OS จะมองเห็นแต่ละคู่เป็น 1 Virtual Core เท่านั้น ซึ่งหลังฉากมันจะสลับใช้งานทีละคอร์ เมื่อภาระงานสูงก็จะใช้ big Core และเมื่อภาระงานน้อยจะก็ใช้ LITTLE Core ในการส่งต่องาน ระบบจะปลุก (จ่ายไฟให้) Core ที่จะมาแทน และส่งต่อข้อมูลสถานะการประมวลผลไปให้ จากนั้นก็ปิด Core เดิม และประมวลผลต่อใน Core ใหม่ รูปแบบนี้ถือว่าก้าวหน้าและยืดหยุ่นกว่าแบบแรก เพราะแต่ละคู่จะเลือก Core อย่างอิศระ ทั้งระบบจึงอาจมีทั้ง big และ LITTLE Core ทำงานอยู่ในเวลาเดียวกัน


    รูป big.LITTLE แบบ in-kernel switcher

    3. Heterogeneous multi-processing (global task scheduling)
    รูปแบบนี้ก้าวหน้าและยืดหยุ่นมากที่สุด เพราะทุก Core ในระบบไม่ว่าจะ big หรือ LITTLE จะเปิดหรือปิดใช้งานอย่างอิศระในเวลาเดียวกัน โดย Thread ไหนที่มีลำดับความสำคัญสูงหรือต้องคำนวณหนักจะส่งไปให้ big Core ส่วน Thread ที่ไม่สำคัญหรือคำนวณไม่หนักมาก LITTLE Core จะรับหน้าที่เอง


    รูป big.LITTLE แบบ heterogeneous multi-processing


    สำหรับ Hybrid CPU ของ AMD เท่าที่อ่านและวิเคราะห์ดู มันคล้ายกับ big.LITTLE ในแบบที่ 2 (In-kernel switcher) ครับ ซึ่งผมมองว่าเป็นตัวเลือกที่เหมาะสม เพราะมีความยืดหยุ่นพอสมควร แม้จะไม่ทรงพลังเท่าแบบที่ 3 แต่มันง่ายต่อการใช้งานจริงมากกว่า เพราะฝั่ง OS หรือ Software ไม่ต้องรองรับอะไรเพิ่มเติม เนื่องจาก OS มองเห็นแต่ละคู่ (High กับ Low-Feature) เป็น Core เดียวอยู่แล้ว เบื้องหลังเดี๋ยว CPU จัดสรรเอง อย่างไรก็ตามนี่เป็นเพียงการคาดเดาของผมเท่านั้น ผมยังไม่อ่านรายละเอียดทั้งหมด เพื่อนคนไหนมีความคิดเห็นยังไงก็มาพูดคุยแลกเปลี่ยนกันได้ครับ

    อ้างอิง
    https://www.guru3d.com/news-story/am...-a-patent.html
    https://www.tomshardware.com/news/am...implementation
    https://en.wikipedia.org/wiki/ARM_big.LITTLE

  • #2
    เพิ่มเติมนิดนึง big.little ของเอเอ็มดี มาจากโปรเจคท์ skybridge ไม่ได้ลอกอินเทลแต่อย่างใด

    อันนี้เป็น die ซีพียู big.little ของอินเทล เอามาเทียบกันเลยว่าแตกต่างกัน

    เอเอ็มดี



    ภาพนี้ก็ชัดเจนว่า จับคู่ big.little คู่ใครคู่มัน และแชร์ L2 cache กัน (แต่ห่วงเรื่อง latency กับ cache prediction จัง)




    อินเทล

    Last edited by Crazy_O; 11 Aug 2020, 17:25:39.

    Comment


    • #3
      สำหรับ Lakefield ของอินเทลนั้นต่างกับ AMD แน่นอนครับ โดยของอินเทลจะคล้ายกับ big.LITTLE แบบที่ 3 อันที่จริงมันคล้ายกับ DynamIQ มากกว่า ซึ่งก้าวหน้าขึ้นไปอีก เพราะสามารถเลือกสัดส่วน CPU ได้อิศระ ไม่จำเป็นต้องมีจำนวน big กับ LITTLE Core เท่ากัน (ในกรณี Lakefield คือ 1:4) ขณะที่ big.LITTLE ที่กล่าวมายังจำกัดที่ 1:1

      แนวทางของอินเทลเน้นเล่นใหญ่ (อีกแล้ว) คือถ้าฝั่ง OS และ Software รองรับอย่างสมบูรณ์ ทุกคอร์จะสามารถทำงานพร้อมกันซึ่งจะได้สมรรถนะสูงสุด แต่หากรองรับได้ไม่ดี มันจะเลือก CPU ผิดๆถูกๆ หรือสลับใช้งานอย่างไม่ฉลาด ผลคือสมรรถนะและการใช้พลังงานแย่ลงแทนที่จะดีขึ้น หากอิงความเห็นจากสื่อ IT หลายๆเจ้า Lakefield นับเป็นความล้มเหลวเมื่อเทียบชิพ Arm ในตลาดกลุ่มเดียวกัน อนาคตต้องดูกันต่อไปว่าอินเทลจะพัฒนาแก้ไขอย่างไร

      Comment


      • #4
        น่าจะแบบสาม Cruster Group HSA ที่จับคู่กันแบบนั้นคงเพื่อ SYMETRIC Group มากกว่า
        จากปัจจุบันเป็น 4 CPU per CCX อาจจัดคู่ที่ 5nm แบบ 4B+2L หรือ 2B+4L
        แล้วเรียงลงบน Chiplet ตาม LAyout ของแต่ละรุ่นนะผมว่า โครงสร้าง HSA DYNAMIQ มัน FLEX มากนะครับ
        ทุกค่ายน่าจะไปแบบนี้หมด แต่อยู่ที่ก่รจัด Group Cruster น่าสนใจว่าจะยัด NPU มาด้วยมั้ย ตามกระแส AI เนี่ย

        คิดว่า load distribute คงไม่น่ามีปัญหา มันคงสมัพันธ์กับ TASK Weighing เดิมของ SMT นั่นแหละครับ
        Last edited by ssk; 11 Aug 2020, 19:44:44.

        Comment


        • #5

          ความรู้ทั้งนั้น สุดยอดไปเลยครับ ท่านนกแสก

          Comment


          • #6
            ice lake อินเทล เป้นแบบไหนครับ วิแคะให้หน่อยก็ดีท่านนกแสก
            ผลงานไม่เลวนะผมชมให้ วินโดว์ อาร็มยังกากกเกิ้น เรียกว่ายังไม่ค่อยจะเกิด แค่เริ่มตั้งไข่
            ตอนนี้โน้ตบุ้คไลน์เดิมของสแนปดร้าก้อน โดนสับ ice lake big little มาลงและ

            Comment


            • #7
              Originally posted by micronz View Post
              ice lake อินเทล เป้นแบบไหนครับ วิแคะให้หน่อยก็ดีท่านนกแสก
              ผลงานไม่เลวนะผมชมให้ วินโดว์ อาร็มยังกากกเกิ้น เรียกว่ายังไม่ค่อยจะเกิด แค่เริ่มตั้งไข่
              ตอนนี้โน้ตบุ้คไลน์เดิมของสแนปดร้าก้อน โดนสับ ice lake big little มาลงและ
              หมายถึง Lakefield หรือเปล่าครับ? (Ice lake มันยังไม่ใช่ big.LITTLE นะ) ขอเวลาดูข้อมูลเพิ่มเติมก่อนครับแล้วว่างๆจะมาเสริมให้

              Windows on Arm ยังไม่เข้าที่ แต่ยังมี OS จำพวก Linux-based เป็นทางเลือก แค่เล่นเน็ต ดูคลิป หรือทำพวก Office มันทำได้ดีพอตัว พวกโปรแกรมยอดนิยมทั้งหลายก็น่าจะรองรับครบหรือมีทดแทนกันหมดแล้ว

              ภาพรวมเรื่องสมรรถนะกับการกินไฟ Lakefield (1+4 คอร์, 5w) เทียบกับ 8xc (4+4 คอร์, 7w) เท่าที่เห็นผลทดสอบ Lakefield จะชนะในการทดสอบที่เน้นพลัง Single thread แต่แพ้ยับเยินในเรื่อง Multi thread นอกจากนี้ที่ควรต้องพิจารณาด้วยก็คือ 8xc นั้นเป็น SoC ที่ครบกว่า ใส่ IP block มาครอบคลุมเกือบทุกอย่างจนแทบไม่ต้องติดชิพอะไรเพิ่ม ถ้าจะให้ Lakefield มีครบเทียบเท่า ต้องเพิ่มชิพเข้าไปอีก (แน่นอนว่าต้นทุนเพิ่ม+กินไฟเพิ่ม)

              Comment

              Working...
              X