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