काल्पनिक निष्पादन

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

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

अवलोकन
आधुनिक निर्देश पाइपलाइन माइक्रोप्रोसेसर उन योजनाओं का उपयोग करके सशर्त शाखा निर्देशों की लागत को कम करने के लिए सट्टा निष्पादन का उपयोग करते हैं जो शाखा निष्पादन के इतिहास के आधार पर किसी कार्यक्रम के निष्पादन पथ की भविष्यवाणी करते हैं। कंप्यूटर संसाधनों के प्रदर्शन और उपयोग को बेहतर बनाने के लिए, निर्देशों को ऐसे समय में निर्धारित किया जा सकता है जब यह अभी तक निर्धारित नहीं किया गया है कि निर्देशों को शाखा भविष्यवक्ता से पहले निष्पादित करने की आवश्यकता होगी।

वेरिएंट
सट्टा गणना एक संबंधित पूर्व अवधारणा थी।

उत्सुक निष्पादन
उत्सुक निष्पादन सट्टा निष्पादन का एक रूप है जहां सशर्त शाखा के दोनों पक्षों को निष्पादित किया जाता है; हालाँकि, परिणाम तभी प्रतिबद्ध होते हैं जब विधेय सत्य हो। असीमित संसाधनों के साथ, उत्सुक निष्पादन (जिसे ओरेकल निष्पादन के रूप में भी जाना जाता है) सिद्धांत रूप में सही शाखा भविष्यवाणी के समान प्रदर्शन प्रदान करेगा। सीमित संसाधनों के साथ, उत्सुक निष्पादन को सावधानीपूर्वक नियोजित किया जाना चाहिए, क्योंकि शाखा के प्रत्येक स्तर पर उत्सुकता से निष्पादित होने के साथ आवश्यक संसाधनों की संख्या में तेजी से वृद्धि होती है।

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

आलसी निष्पादन
आलसी निष्पादन उत्सुक निष्पादन के विपरीत है, और इसमें अटकलें शामिल नहीं हैं। हास्केल (प्रोग्रामिंग भाषा), एक आलसी भाषा, के कार्यान्वयन में सट्टा निष्पादन का समावेश एक वर्तमान शोध विषय है। उत्सुक हास्केल, भाषा का एक प्रकार, सट्टा निष्पादन के विचार के आसपास डिज़ाइन किया गया है। 2003 की एक पीएचडी थीसिस ने ग्लासगो हास्केल कंपाइलर को एक गर्भपात तंत्र के साथ एक प्रकार के सट्टा निष्पादन का समर्थन करने के लिए तैयार किया, ताकि गलत विकल्प के मामले में आशावादी निष्पादन कहा जा सके। इसे बहुत जटिल माना गया।

सुरक्षा कमजोरियाँ
2017 से शुरू होकर, सामान्य प्रोसेसर आर्किटेक्चर पर सट्टा निष्पादन के कार्यान्वयन में भेद्यता (कंप्यूटिंग) की एक श्रृंखला पाई गई, जिसने प्रभावी रूप से विशेषाधिकार (कंप्यूटिंग) के उन्नयन को सक्षम किया।

इसमे शामिल है:
 * पूर्वाभास (सुरक्षा भेद्यता)
 * मेल्टडाउन (सुरक्षा भेद्यता)
 * माइक्रोआर्किटेक्चरल डेटा सैंपलिंग
 * स्पेक्टर (सुरक्षा भेद्यता)
 * स्पॉइलर (सुरक्षा भेद्यता)
 * पॅकमैन (सुरक्षा भेद्यता)

यह भी देखें

 * आउट-ऑफ़-ऑर्डर निष्पादन
 * स्लिपस्ट्रीम (कंप्यूटर विज्ञान)
 * सट्टा मल्टीथ्रेडिंग
 * हार्डवेयर सुरक्षा बग
 * क्षणिक निष्पादन सीपीयू कमजोरियाँ