2 पॉइंट द्वारा GN⁺ 2023-08-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Hot Chips 2023 में पेश किया गया यह research chip DARPA HIVE के ultra-sparse data processing को लक्ष्य बनाता है, और 8 cores के साथ कुल 528 hardware threads प्रदान करता है
  • workload analysis के नतीजों से पता चला कि parallelism तो बड़ा है, लेकिन cache line utilization और लंबी out-of-order pipeline की efficiency कम है, इसलिए सामान्य server CPU से अलग design की जरूरत थी
  • processor x86 नहीं बल्कि RISC ISA आधारित है, और प्रति core 66 threads तथा multithreaded pipeline के साथ बड़े पैमाने की concurrency को संभालता है
  • chip-to-chip communication silicon photonics आधारित direct mesh-to-mesh optical fabric से जुड़ा है, जिससे switch और NIC के बिना chassis के बाहर के cores से भी सीधे communication संभव है
  • implementation एक TSMC 7nm 8-core 75W CPU है, और चूंकि power का आधे से ज्यादा हिस्सा optical interconnects में जाता है, यह अभी भी lab-stage का experimental design बना हुआ है

DARPA HIVE के लिए 528-thread CPU

  • Hot Chips 2023 में Intel ने सामान्य server chip से अलग direct mesh-to-mesh optical fabric तकनीक प्रदर्शित की
  • design का मुख्य लक्ष्य DARPA HIVE program में आवश्यक ultra-sparse data processing है
  • Intel की workload profiling से ऐसे गुण सामने आए जो सामान्य CPU design से मेल नहीं खाते
    • बड़े पैमाने का parallelism मौजूद है
    • cache line utilization कम है
    • लंबी out-of-order pipeline structure का पूरा उपयोग नहीं हो पाता
  • इन्हीं जरूरतों के अनुसार processor को 8-core socket configuration में design किया गया
    • प्रति core 66 hardware threads
    • कुल 528 threads
    • x86 नहीं बल्कि RISC ISA
    • हर core multithreaded pipeline का उपयोग करता है

silicon photonics से chips के बीच direct connection

  • यह chip 16 sockets को एक single OCP compute tray में रखकर optical networking से जोड़ने वाला configuration उपयोग करती है
  • high-speed I/O chip electrical signals और optical functions के बीच bridge का काम करती है
  • on-die network में routers लगाए गए हैं, और 16 routers में से आधे high-speed I/O को ज्यादा bandwidth देने की भूमिका निभाते हैं
  • package के अंदर physical interconnect layer में EMIB का उपयोग किया गया है
  • off-die connections में हर chip silicon photonics के जरिए optical networking चलाती है
    • cores के बीच connection chips के पार सीधे हो सकता है
    • एक ही chassis में न होने पर भी switch और NIC के बिना connection संभव है
  • पूरा chip EMIB आधारित multi-chip package से बना है
  • silicon photonics engine जोड़ने से package से optical fiber strands तक जाने वाले हिस्से में अतिरिक्त चुनौतियां पैदा हुईं
  • power के लिहाज से यह 8-core 75W CPU implementation है, और power का आधे से ज्यादा हिस्सा silicon photonics पर खर्च होता है
  • वास्तविक die photo से TSMC 7nm process के उपयोग की पुष्टि हुई, और काम अभी lab में जारी है
  • optical interconnect हिस्से में Ayar Labs की मदद ली गई
  • Intel ने Innovation 2022 में जो pluggable connector दिखाया था, उसका इस implementation में उपयोग नहीं किया गया

1 टिप्पणियां

 
GN⁺ 2023-08-30
Hacker News की रायें
  • अगर प्रति core 66 threads हैं, तो यह किसी भी चीज़ से ज़्यादा barrel processor जैसा लगता है
    यह उम्मीद करना मुश्किल है कि हर thread तेज़ होगा, लेकिन अगर processor के पास पर्याप्त काम हो, तो memory का इंतज़ार करने के बजाय ज़्यादातर समय उपयोगी काम कर सकता है

    • पता नहीं Intel में एक और barrel processor आज़माने की इच्छा है या नहीं
      barrel processor की मुख्य कमज़ोरी इंसानों की तरफ़ है। बहुत कम लोग ऐसा code design करना जानते हैं जो इसकी क्षमता को सही तरह निकाल सके। सामान्य code भी किसी तरह चल जाता है, इसलिए code level पर यह परिचित दिखता है, लेकिन अगर आपने सिर्फ़ CPU के लिए code लिखा है, तो performance निकालने के लिए इसे ऐसे तरीके से लिखना पड़ता है जो बहुत अजीब लगेगा
      data structures और algorithms design करने के लिए यह एक असामान्य architecture है, और barrel processor के लिए algorithm design पर literature भी ज़्यादा नहीं है
      पुराने Tera systems से लेकर कई barrel processor architectures के लिए code design किया है और इसमें काफ़ी अच्छा हो गया हूँ; मेरा मानना है कि जिसे सही जानकारी हो, उसके हाथ में समान silicon budget वाली general-purpose computing में यह लगभग किसी भी architecture से ज़्यादा computationally efficient हो सकता है
      लेकिन efficient code लिखने के लिए CPU के equivalent code की तुलना में दिमाग़ में कहीं ज़्यादा जटिल model बनाए रखना पड़ता है। economics ऐसे architectures के पक्ष में जाती है, जैसे CPU, जिन पर औसत engineer भी ठीक-ठाक efficiency निकाल सकता है
      pure compute efficiency के फ़ायदे के बावजूद, अब मैंने mainstream barrel processor देखने की उम्मीद छोड़ दी है
    • 66 में से 64 threads धीमे threads हैं, और 16-16 threads का एक समूह execution units का एक set साझा करता है, जबकि पूरे 64 scratchpad memory और cache साझा करते हैं
      core का यह हिस्सा मौजूदा GPU जैसा बहुत लगता है
      इस experimental Intel CPU में अलग बात यह है कि GPU जैसे हिस्से से अलग, हर core में 2 बहुत तेज़ threads भी शामिल हैं। ये 2 out-of-order execution करते हैं, धीमे threads की तुलना में कहीं ज़्यादा clock पर चलते हैं, और हर एक के पास shared न होने वाले execution units हैं
      2 तेज़ threads और 64 धीमे threads को अलग-अलग देखें तो वे पुराने CPU या GPU जैसे लगते हैं, लेकिन shared scratchpad memory और cache वाले एक ही core के अंदर उन्हें जोड़ना नई बात है
    • मूल simultaneous multithreading Tera याद आता है। 1990 में प्रति core 128 threads थे
      https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&d...
      मैं शर्त लगा सकता हूँ कि इस research को support करने वाला DARPA project उसी 3-letter acronym रुचि-वंश से जुड़ा होगा, जिसने Tera को इतना पैसा दिलाया कि वह Cray खरीद सका
    • programming languages में asynchronous processing जैसा भी थोड़ा महसूस होता है
      "memory का इंतज़ार" को "I/O का इंतज़ार" से बदल दें, तो तस्वीर लगभग वही है
    • यह ज़रूरी नहीं कि इसका मतलब barrel processor ही हो। CPU performance, CPU और memory bandwidth की तुलना में बढ़ जाने के कारण simultaneous multithreading count को और बढ़ाया गया हो, ऐसा भी हो सकता है
      धीमा fetch होने के दौरान system दूसरे threads की instructions को parallel में और चला सकता है
  • Marvell ने 768 Threads Per Node को highlight करने वाला SMT8 ARM CPU बनाया था
    https://www.servethehome.com/marvell-thunderx3-arm-server-cp...
    याद है कि यह database workloads को target करता था, और core logic भी वही था। अगर cores आम तौर पर RAM का इंतज़ार करते हुए idle बैठे हैं, तो उस बीच दूसरे threads process कर दिए जाएँ
    IBM और Zen4C कुछ हद तक इस demand को पूरा करते हैं, लेकिन ऐसे low instruction throughput workloads को explicitly target करने वाले SMT16 cloud instances और ज़्यादा हों तो अच्छा होगा

    • Niagara, यानी UltraSPARC T1/T2 ने भी यही काम किया था
      इस तरह के barrel processor style design में CMT8/SMT8 सही sweet spot जैसा लगता है
    • "mind as well" लिखते या बोलते पहली बार देखा। क्या आपके इलाके में यह common expression है? अब तक तो मैंने सिर्फ़ "might as well" ही सुना था
  • यह ऐसा प्रस्ताव लगता है कि अगर electric signal को optical signal में बदलने की die cost और speed loss को amortize किया जा सके, तो optical interconnect में distance से लगभग independent speed अच्छी efficiency के साथ मिल सकती है
    बेशक पूरी तरह ऐसा नहीं होगा, लेकिन अगर इसे एक ही chassis के अंदर chip carrier की दूरी तक सीमित रखें, तो interference कम होगा और optical guides के bend radius के भीतर wiring भी flexible होगी
    हो सकता है मैंने गलत पढ़ा हो। optical components किसी और उद्देश्य के लिए भी हो सकते हैं, जैसे die stacking, या super carrier पर chips की grid बनाकर उन्हें optical interconnect से जोड़ने की योजना हो सकती है

    • cores को अलग-अलग दूरी पर रखने भर से भी heat dissipation में काफ़ी मदद मिलती है
    • 1997 में जब मैं वहाँ था, तब पहले से voxels मौजूद थे। लक्ष्य layers stack करना और vertical stack के अंदर voxels का उपयोग करना था
  • असली die फोटो और यह पुष्टि कि इसे TSMC 7nm पर बनाया गया—Intel के लिए यह काफ़ी चुभने वाला दृश्य है
    अगर ऐसी चीज़ों के लिए प्रतिद्वंद्वी की fab इस्तेमाल करनी पड़े, तो chip निर्माता के लिए यह काफ़ी निचला पल लगता है

    • Intel के पास 1.8nm prototype node है, जिसे Nvidia पहले ही test करके अच्छी बातें कह चुकी है
      लेकिन 10nm node Intel के लिए आपदा था, और उसने chip manufacturing business में कंपनी को लगभग 5–10 साल पीछे कर दिया
    • TSMC process इस्तेमाल करना आसान है, और उसके आसपास ऐसा IP ecosystem अच्छी तरह मौजूद है जो Intel के internal process में नहीं है
      अगर यह research project हो, तो TSMC को तरजीह देते हुए कल्पना करना आसान है
    • Intel fabs में logical CPU को छोड़कर लगभग हर चीज़ को second-class citizen जैसा माना जाता है
      इससे समझ आता है कि ऐसी अजीब चीज़ें TSMC के पास क्यों जाती हैं। उदाहरण के लिए Silicon Photonics खुद भी Albuquerque में चल रहा है, जो एक लगभग बंद होने वाली site थी
    • Intel शायद PC के लिए न बने processors में करीब 15 साल पहले से TSMC इस्तेमाल कर रहा है
      Google पर 2001–2010 की date range लगाकर खोजें तो संबंधित खबरें मिल सकती हैं
      HN users semiconductors को अच्छी तरह क्यों नहीं जानते, इसकी कोई वजह होगी। शायद इसलिए कि readership मुख्यतः software side की है। इस site पर confidence के मुकाबले explanation quality का ratio इस field में सबसे ज्यादा लगता है
    • Nvidia और AMD पहले ही Intel की angstrom-class foundry services इस्तेमाल करने के contracts कर चुके हैं, इसलिए यह अकल्पनीय नहीं है
      AMD ने भी GlobalFoundries छोड़ते समय यही किया था, और इसे Intel से आगे निकलने की एक मुख्य वजह भी माना जा सकता है
      वैसे भी सब ASML lithography equipment इस्तेमाल कर रहे हैं, इसलिए wafer को machine में कौन डालता है, यह कुछ हद तक secondary है
  • यह sellable product से ज्यादा proof-of-concept CPU जैसा दिखता है
    यह बहुत specialized है, और अभी यह पता लगाना बाकी है कि कौन-सी problems और workloads इससे हल होंगे
    आगे चलकर general-purpose computing में भी photons आएंगे, ऐसा अनुमान है। कम-से-कम बढ़ती excess heat समस्या से निपटने के लिए तो ऐसा होगा ही। खास तौर पर ध्यान खींचने वाली बात 10nm से 7nm पर process change है

  • Sun ने भी बहुत पहले कुछ ऐसा ही किया था, लेकिन बाद में UltraSPARC CPUs में इसे छोड़ दिया
    क्या threads भूखे रह गए थे? क्या उन्होंने तय किया कि cores की संख्या घटाकर उन्हें तेज़ बनाना बेहतर है? details ढूंढना मुश्किल है
    अच्छा होगा अगर HN के bcantrill अंदर की बात बता सकें

    • उसके peak दौर में मैंने वह system इस्तेमाल किया था। कुछ workloads में वह शानदार था, लेकिन जहाँ single-core performance चाहिए होती थी, वहाँ दिक्कत होती थी
      performance पाने के लिए अक्सर parameters को बहुत ज्यादा tune करना या recompile करना पड़ता था
      मेरे लिए यह उस समय से भी मिला जब SSL इस्तेमाल की जरूरत बहुत बढ़ रही थी; SSL x86 के लिए अच्छी तरह optimized था, लेकिन Sparc के लिए नहीं। इसलिए SSL offloading cards या reverse proxies जैसी complexity भी संभालनी पड़ती थी
      आखिरकार कुछ niche areas के बाहर इसे ठीक से चलाना बहुत मुश्किल था
      शायद यह बड़ा factor नहीं था, लेकिन system administrator के नजरिए से भी झंझट था। क्योंकि हमें करने वाले बहुत-से काम serial और single-core oriented थे। यानी आम तौर पर vendor approval देने वाले group को इसकी सबसे खराब side दिखाई गई
  • यह graph reduction और dataflow programming के लिए perfect लगता है
    अगर यह सच में production में गया, तो ऐसी चीज़ों से काफ़ी शानदार stuff बनाया जा सकता है

  • 8 cores में 528 threads—यह calculation कैसे बनती है? मैंने 512 सोचा था, फिर दोबारा पढ़ना पड़ा

    • article के मुताबिक Intel के पास per socket 8 cores और per core 66 threads वाला processor है। कुल मिलाकर 528 threads होते हैं
      workload के कारण cache अच्छी तरह use नहीं होता दिखता, और यह x86 नहीं बल्कि RISC instruction set है
    • आसान है। 528 = 8 * (2 + 64) है
      यहाँ 2 आज के CPUs जैसे slow threads की संख्या है, और 64 GPU threads के ज्यादा करीब है
      यह architecture GPU integration का अगला step हो सकता है। उम्मीद है कि standard math libraries के efficient implementations अच्छी तरह लिखे जाएंगे। यह एक package के अंदर अलग CPU+GPU से भी तेज़ हो सकता है
    • मतलब है “8-core processor जिसमें प्रति core 66 threads हैं।” 66*8 = 528
      66 क्यों है, यह explain नहीं किया गया
    • प्रति core 66 थोड़ा अजीब लगता है। शायद 2 routing या metadata के लिए हों
  • अब सारा code event-driven, io_uring वगैरह में फिर से लिखने का काम खत्म करने का समय है

    • इस तरह की architecture में आम तौर पर asynchronicity को hardware पर छोड़ना बेहतर नतीजे देता है
      दूसरे लोगों ने जिस Tera MTA का ज़िक्र किया, उसमें इसके लिए memory system में hardware synchronization था या है
      interrupts नहीं थे, बस वे threads थे जो किसी के जगाने का इंतज़ार करते थे
  • क्या मैंने article सही पढ़ा? क्या इसका मतलब chip पर 32GB DRAM है, या बस standard DIMM इस्तेमाल किया गया है?

    • on-chip नहीं है, अभी भी DDR5 DIMM है
      दिलचस्प बात यह है कि custom DIMM और memory controller इस्तेमाल करके 8-byte granularity access किया जाता है। ऊपर से, die photo में दिखता है कि हर core का अपना memory controller है
      अगर हर memory controller 4GB DRAM manage करता है, तो per chip 32GB समझ में आता है
    • [सुधार: लगता है मैं गलत था!] मुझे लगभग यकीन था कि यह उसी substrate पर HBM, यानी High Bandwidth Memory है: https://en.wikipedia.org/wiki/High_Bandwidth_Memory
      इसे और detail में समझाने वाले materials भी हैं, और Nvidia भी Grace Hopper में ऐसा कर रही लगती है, जबकि Apple भी M series chips में कुछ मिलता-जुलता करता है
      update: इस case में यह बस DDR5, ठीक-ठीक कहें तो "custom DDR5-4400 DRAM" लगता है
    • सामान्य DDR5 है