ARM64 अगली बड़ी बात है?

Aug 27 2020

इस बात को ध्यान में रखते हुए कि पहले से ही PlayStation जैसे गेमिंग उपकरणों में GPU को कैसे पहचान लिया गया था, यह विचार करना भी दिलचस्प है कि ARM64 चिप, जो कि आधुनिक स्मार्ट फोन में चिप्स के प्रकार हैं, इस मामले में मॉडलिंग में एक समान क्रांतिकारी भूमिका निभाएंगे।

अब यह कोई रहस्य नहीं है कि ARM64 कुछ ऐसा है जिसे गंभीरता से माना जाना चाहिए। उदाहरण के लिए, Apple की हाल की घोषणा कि सभी MAC ARM64 प्रोसेसर के साथ आएंगे, और Microsoft सरफेस X Pro, जो ARM64 पर एक पूर्ण विंडोज 10 बिल्ड के साथ चलता है। इसके अलावा, Linux2 (WSL2) के लिए विंडोज सबसिस्टम भी ARM64 के साथ संगत है।

ARM64 के लाभ "छोटे रूप कारक" हैं जो इसे अधिक शक्ति कुशल, छोटे, पतले और हल्के बनाने की अनुमति देते हैं। इसके अलावा, उनकी क्षमता पर तुरंत, और लंबे समय के अतिरिक्त समय है। ये विशेष रूप से एक उपभोक्ता दृष्टिकोण से आशाजनक हैं लेकिन उच्च प्रदर्शन कंप्यूटिंग के लिए भी फायदेमंद हो सकते हैं।

हालाँकि, ARM64 की गंभीर कमियां सॉफ़्टवेयर संगतता है।

उल्लेखनीय रूप से मुझे यह लिंक मिला है जो ARM + NVIDIA HPC सॉफ़्टवेयर को सूचीबद्ध करता है जो वर्तमान में संगत हैं:

  • CoMet
  • LAMMPS
  • NAMD
  • वीएमडी
  • डीसीए ++
  • Gromacs
  • LSMS

क्या अन्य लोकप्रिय मामला मॉडलिंग सॉफ्टवेयर ARM64 के साथ संगत हैं या क्या सॉफ्टवेयर वर्तमान में संगत नहीं हैं? (उदाहरण के लिए Adobe रचनात्मक बादल स्पष्ट रूप से अभी तक ARM64 द्वारा पूरी तरह से समर्थित नहीं है)

जवाब

24 taciteloquence Aug 28 2020 at 07:48

यह इस बात पर निर्भर करता है कि चिपसेंटर्स किन चिप्स का उपयोग कर रहे हैं। यदि बड़े डेटा सेंटर एआरएम-आधारित प्रोसेसर पर स्विच करते हैं, तो वैज्ञानिक कंप्यूटिंग का पालन करेंगे। चूँकि हमारा अधिकांश सॉफ्टवेयर खुला स्रोत है (या उस से बहुत दूर नहीं है), एआरएम अनुकूलता में परिवर्तित होना एक समस्या के बहुत अधिक नहीं होगा क्योंकि एक बार मांग हो जाती है।

वर्तमान में वैज्ञानिक कंप्यूटिंग एंटरप्राइज़-ग्रेड इंटेल-संगत x86_64 प्रोसेसर का प्रभुत्व है। इसका कारण यह नहीं है क्योंकि वे वैज्ञानिक कंप्यूटिंग के लिए सबसे अच्छा संभव प्रोसेसर हैं, लेकिन क्योंकि वे उपलब्ध हैं। सेमीकंडक्टर मैन्युफैक्चरिंग में बड़े पैमाने पर अर्थव्यवस्थाएं हैं, और वैज्ञानिक कंप्यूटिंग एक अपेक्षाकृत छोटा बाजार है, इसलिए हम वाणिज्यिक डेटा केंद्रों द्वारा उपयोग किए जाने वाले उच्च प्रदर्शन वाले चिप्स खरीद रहे हैं। तो असली सवाल यह है: क्या वाणिज्यिक डेटा केंद्र एआरएम चिप्स पर स्विच करने जा रहे हैं? या वे x86 से चिपके रहने वाले हैं?

जहां तक ​​यह सवाल है, मुझे कोई पता नहीं है। अभी के लिए, मुझे संदेह है कि x86 पावर-भूखा डेटा सेंटर प्रोसेसर में एक प्रदर्शन बढ़त बनाए रखता है, लेकिन यह बदल सकता है।

नवंबर 2020 से अपडेट: ऐप्पल के नए एआरएम-आधारित मैक के प्रदर्शन की शुरुआती समीक्षा तब भी बहुत आशाजनक है, जब वे x86 के लिए संकलित बायनेरिज़ का अनुवाद कर रहे हैं। मुझे लगता है कि इससे बहुत अधिक संभावना है कि अन्य फर्म डेस्कटॉप और संभवतः सर्वर-क्लास एआरएम-आधारित प्रोसेसर में बड़ा निवेश कर रहे थे।

15 SimonRichter Aug 28 2020 at 11:18

मुझे उम्मीद है कि x86_64 काफी समय तक थ्रूपुट की गणना के लिए पसंद की वास्तुकला बना रहेगा, और यह भी कि स्पेक्टर / मेल्टडाउन कमजोरियों को जानबूझकर फिर से सक्षम करने का एक तरीका हो सकता है क्योंकि वे एक अच्छी गति को बढ़ावा देते हैं और यदि आप अप्रासंगिक हैं सीपीयू को किसी और के साथ साझा न करें।

एआरएम डेटासेंटर में चमकता है क्योंकि बहुत सारे काम में आई / ओ के इंतजार के लंबे रन के बीच कई सशर्त शाखाओं के साथ सरल टेक्स्ट प्रोसेसिंग होती है, और एआरएम बहुत अधिक शक्ति-कुशल है क्योंकि उनके पास एक छोटी पाइपलाइन और बहुत कम तर्क है सीपीयू निष्क्रिय रहने पर सक्रिय रहता है।

यदि आपके पास कम शाखाओं के साथ एक कार्यभार है, तो इंटेल को एक बढ़त मिलती है, अगर आपकी लगभग कोई शाखा नहीं है और समस्या बड़े पैमाने पर समानांतर है, तो जीपीयू जीत जाते हैं।

किसी भी लंबे समय तक चलने वाली संगणना के लिए, आप संभवतः कुछ सेकंड के लिए इसे अलग-अलग आर्किटेक्चर पर चलाना चाहते हैं और निर्णय लेने से पहले गति और बिजली की आवश्यकताओं की तुलना करते हैं कि कौन सा इष्टतम है।

12 SusiLehtola Aug 28 2020 at 07:37

कोई भी कोड जिसमें मशीन लेवल कोड (असेंबली) में मुख्य भाग नहीं लिखा होता है, वह सीधे पोर्टेबल से आर्म 64 तक जा सकता है; आपको बस कार्यक्रम को फिर से तैयार करना है। यह पहली जगह में प्रोग्रामिंग भाषा होने का पूरा बिंदु है: आपको कंप्यूटिंग से शुरुआती दिनों की तरह, खरोंच से कार्यक्रम को फिर से लिखने के बिना विभिन्न आर्किटेक्चर पर अपना कार्यक्रम चलाने में सक्षम होने की आवश्यकता है।

पोर्टेबिलिटी में मुख्य मुद्दा यह है कि सी और फोरट्रान जैसी भाषाओं में कुछ नुकसान हैं, जिनके बारे में आपको पता होना चाहिए, अर्थात्, आंतरिक प्रकार / डिफ़ॉल्ट प्रकार अलग-अलग प्लेटफार्मों पर अलग-अलग चूक हो सकते हैं। हालांकि, कोई भी पर्याप्त प्रोग्रामर कोड लिख सकता है जो क्रॉस-कंपाइल करता है। यह बहुत पहले नहीं है कि x86 से x86_64 पर स्विच था, जहां आपको पहले से ही पोर्टेबिलिटी के साथ समान मुद्दों का सामना करना पड़ा था।

और यदि आप सुपरकंप्यूटिंग दुनिया में जाते हैं, तो आप देखेंगे कि लंबे समय से काफी विषमता है: x86 और x86_64 के अलावा, आपके पास SPARC और पावर जैसे अन्य प्रकार के प्रोसेसर आर्किटेक्चर भी हैं। चूंकि अधिकांश कोड सुपर कंप्यूटर पर चलाने (भी) के लिए डिज़ाइन किए गए हैं, इसलिए पोर्टेबिलिटी बहुत लंबे समय तक एक महत्वपूर्ण मुद्दा रहा है।

7 ArnaudBouchez Aug 31 2020 at 08:43

ARM64 और x86_64 आर्किटेक्चर के बीच मुख्य अंतर उनका मुख्य डिज़ाइन है। अधिक कोर शामिल होने पर x86_64 NUMA का उपयोग करता है, जबकि ARM64 में अधिक बहुमुखी डिज़ाइन है, और इसमें मेमोरी एक्सेस नहीं हो सकती है। ARM64 डिजाइन x86_64 की तुलना में कम जटिल है, और अत्यधिक समानांतर कंप्यूटिंग के लिए, एक सरल डिजाइन प्रदर्शन में मदद कर सकता है।

मुझे कम से कम दो कारण दिखाई देते हैं कि ARM64 सर्वर प्रोसेसिंग के लिए "अगली बड़ी चीज" क्यों हो सकती है।

एकीकृत मेमोरी मॉडल

व्यवहार में, जब अत्यधिक समानांतर प्रसंस्करण के साथ काम करते हैं, तो आप थ्रेड्स / कोर के बीच डेटा साझा करने की संभावना रखते हैं। धागे का पहला सेट (आमतौर पर एक मॉडलिंग ऑर्केस्ट्रेटर) उदाहरण के लिए विभिन्न मॉडलिंग मापदंडों को तैयार कर सकता है। फिर थ्रेड्स का एक और सेट (आमतौर पर मॉडलिंग इंजन) वास्तविक डेटा को प्रोसेस करेगा। फिर थ्रेड्स का एक और सेट आउटपुट सामग्री में पिछले सभी गणना में शामिल हो जाएगा।

इसलिए मेमोरी बफ़र्स एक कोर से दूसरे में प्रवाहित होने की संभावना है, और ARM64 सरल मेमोरी डिज़ाइन पर बहुत अच्छा प्रभाव पड़ सकता है। NUMA मेमोरी कॉपी से निपटने की कोई आवश्यकता नहीं है।

कोरों की अधिक संख्या

इसकी अधिक सरल डिजाइन के लिए धन्यवाद, ARM64 कम मरने और कम बिजली के साथ सिलिकॉन में अधिक कोर जोड़ने की संभावना है। मैंने इंटेल नाइट लैंडिंग (Xeon Phi) उच्च अंत सीपीयू का उपयोग किया है, और उनकी व्यापक समानांतर प्रक्रिया कुछ धीमी गति से एटम कोर के साथ थी, एक गैर-समान मेमोरी लेआउट के साथ: आपके पास ऑन-चिप फास्ट मेमोरी है, जिसे विशेष रूप से संबोधित करने की आवश्यकता है। मैंने इस सीपीयू के बारे में संदर्भ पुस्तक खरीदी और पढ़ी और इसे सॉफ्टवेयर को अनुकूलित करने की आवश्यकता है। AVX512 opcodes के साथ कस्टम सॉफ़्टवेयर को Intel HW प्लेटफ़ॉर्म का लाभ उठाने की आवश्यकता है, जबकि ARM64 के साथ कोर नियमित कोड चला रहे हैं।

ARM64 डिजाइन संभवत: चिप में अधिक कोर जोड़ने के लिए आसान बना देगा, बिना डीड सॉफ्टवेयर परिवर्तन की आवश्यकता के।

इसके लिए मेरा शब्द मत लो

ARM64 के भविष्य के बारे में एक अच्छी खबर यह है कि क्लाउड समाधान के रूप में AWS क्या पेशकश कर रहा है:

https://www.anandtech.com/show/15578/cloud-clash-amazon-graviton2-arm-against-intel-and-amd

संक्षेप में: ARM64 वास्तव में CPU का उपयोग कर सॉफ्टवेयर के लिए अगली बड़ी बात हो सकती है ...

4 TristanMaxson Aug 29 2020 at 17:35

सकारात्मक बदलाव लाने के लिए ARM64 अगली बड़ी चीज नहीं हो सकती है। दो मानकों के बीच प्रतिस्पर्धा से उन्हें बेहतर बनाने के लिए या तो मानक के विस्तार हो सकते हैं। हम पहले से ही विक्रेता विशिष्ट एक्सटेंशन को उदाहरण के लिए इंटेल बनाम amd के साथ एक बड़ा अंतर बनाते हुए देखते हैं।

मैंने जो देखा है, जब तक कि सॉफ़्टवेयर समर्थन अच्छा है (जैसा कि अन्य ने बताया है, बहुत सारे कोड एआरएम के खिलाफ फिर से जोड़ दिए जा सकते हैं), एआरएम या तो पर्याप्त रूप से प्रमुख वास्तुकला बन जाएगा या यह कम से कम सकारात्मक रूप से होगा प्रभाव x86_64 अप्रत्यक्ष रूप से एक्सटेंशन के माध्यम से।

3 NickZ Aug 31 2020 at 08:44

जब मैंने आपके प्रश्न को पढ़ा तो मुझे एक गीतालाब के पन्नों की याद आई, जो हाथ की वास्तुकला और उनके विकास की प्रगति के लिए सभी सॉफ्टवेयर्स को सूचीबद्ध करता है। आप इसे यहां देख सकते हैं:https://gitlab.com/arm-hpc/packages/-/wikis/categories/allPackages उम्मीद है कि यह मदद कर सकता है।