- 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 टिप्पणियां
Hacker News की रायें
अगर प्रति core 66 threads हैं, तो यह किसी भी चीज़ से ज़्यादा barrel processor जैसा लगता है
यह उम्मीद करना मुश्किल है कि हर thread तेज़ होगा, लेकिन अगर processor के पास पर्याप्त काम हो, तो memory का इंतज़ार करने के बजाय ज़्यादातर समय उपयोगी काम कर सकता है
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 देखने की उम्मीद छोड़ दी है
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 के अंदर उन्हें जोड़ना नई बात है
https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&d...
मैं शर्त लगा सकता हूँ कि इस research को support करने वाला DARPA project उसी 3-letter acronym रुचि-वंश से जुड़ा होगा, जिसने Tera को इतना पैसा दिलाया कि वह Cray खरीद सका
"memory का इंतज़ार" को "I/O का इंतज़ार" से बदल दें, तो तस्वीर लगभग वही है
धीमा 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 और ज़्यादा हों तो अच्छा होगा
इस तरह के barrel processor style design में CMT8/SMT8 सही sweet spot जैसा लगता है
यह ऐसा प्रस्ताव लगता है कि अगर 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 से जोड़ने की योजना हो सकती है
असली die फोटो और यह पुष्टि कि इसे TSMC 7nm पर बनाया गया—Intel के लिए यह काफ़ी चुभने वाला दृश्य है
अगर ऐसी चीज़ों के लिए प्रतिद्वंद्वी की fab इस्तेमाल करनी पड़े, तो chip निर्माता के लिए यह काफ़ी निचला पल लगता है
लेकिन 10nm node Intel के लिए आपदा था, और उसने chip manufacturing business में कंपनी को लगभग 5–10 साल पीछे कर दिया
अगर यह research project हो, तो TSMC को तरजीह देते हुए कल्पना करना आसान है
इससे समझ आता है कि ऐसी अजीब चीज़ें TSMC के पास क्यों जाती हैं। उदाहरण के लिए Silicon Photonics खुद भी Albuquerque में चल रहा है, जो एक लगभग बंद होने वाली site थी
Google पर 2001–2010 की date range लगाकर खोजें तो संबंधित खबरें मिल सकती हैं
HN users semiconductors को अच्छी तरह क्यों नहीं जानते, इसकी कोई वजह होगी। शायद इसलिए कि readership मुख्यतः software side की है। इस site पर confidence के मुकाबले explanation quality का ratio इस field में सबसे ज्यादा लगता है
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 अंदर की बात बता सकें
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 सोचा था, फिर दोबारा पढ़ना पड़ा
workload के कारण cache अच्छी तरह use नहीं होता दिखता, और यह x86 नहीं बल्कि RISC instruction set है
यहाँ 2 आज के CPUs जैसे slow threads की संख्या है, और 64 GPU threads के ज्यादा करीब है
यह architecture GPU integration का अगला step हो सकता है। उम्मीद है कि standard math libraries के efficient implementations अच्छी तरह लिखे जाएंगे। यह एक package के अंदर अलग CPU+GPU से भी तेज़ हो सकता है
66 क्यों है, यह explain नहीं किया गया
अब सारा code event-driven, io_uring वगैरह में फिर से लिखने का काम खत्म करने का समय है
दूसरे लोगों ने जिस Tera MTA का ज़िक्र किया, उसमें इसके लिए memory system में hardware synchronization था या है
interrupts नहीं थे, बस वे threads थे जो किसी के जगाने का इंतज़ार करते थे
क्या मैंने article सही पढ़ा? क्या इसका मतलब chip पर 32GB DRAM है, या बस standard DIMM इस्तेमाल किया गया है?
दिलचस्प बात यह है कि custom DIMM और memory controller इस्तेमाल करके 8-byte granularity access किया जाता है। ऊपर से, die photo में दिखता है कि हर core का अपना memory controller है
अगर हर memory controller 4GB DRAM manage करता है, तो per chip 32GB समझ में आता है
इसे और detail में समझाने वाले materials भी हैं, और Nvidia भी Grace Hopper में ऐसा कर रही लगती है, जबकि Apple भी M series chips में कुछ मिलता-जुलता करता है
update: इस case में यह बस DDR5, ठीक-ठीक कहें तो "custom DDR5-4400 DRAM" लगता है