काल्पनिक निष्पादन: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{short description|Computer optimization technique}} | {{short description|Computer optimization technique}} | ||
काल्पनिक निष्पादन एक [[अनुकूलन (कंप्यूटर विज्ञान)]] तकनीक है जहां एक [[ कंप्यूटर प्रणाली ]] कुछ ऐसे कार्य करता है जिनकी आवश्यकता नहीं हो सकती है। काम यह जानने से पहले किया जाता है कि वास्तव में इसकी आवश्यकता है या नहीं, जिससे उस देरी को रोका जा सकता है जो यह पता चलने के बाद कि काम करना आवश्यक है, होने वाली देरी को रोका जा सकता है । यदि यह पता चलता है कि कार्य की आवश्यकता ही नहीं थी, तो कार्य द्वारा किए गए अधिकांश परिवर्तन वापस कर दिए जाते हैं और परिणामों को अनदेखा कर दिया जाता है। | काल्पनिक निष्पादन एक [[अनुकूलन (कंप्यूटर विज्ञान)]] तकनीक है जहां एक [[ कंप्यूटर प्रणाली |कंप्यूटर प्रणाली]] कुछ ऐसे कार्य करता है जिनकी आवश्यकता नहीं हो सकती है। काम यह जानने से पहले किया जाता है कि वास्तव में इसकी आवश्यकता है या नहीं, जिससे उस देरी को रोका जा सकता है जो यह पता चलने के बाद कि काम करना आवश्यक है, होने वाली देरी को रोका जा सकता है । यदि यह पता चलता है कि कार्य की आवश्यकता ही नहीं थी, तो कार्य द्वारा किए गए अधिकांश परिवर्तन वापस कर दिए जाते हैं और परिणामों को अनदेखा कर दिया जाता है। | ||
इसका उद्देश्य अतिरिक्त [[संसाधन (कंप्यूटर विज्ञान)]] उपलब्ध होने पर अधिक [[समवर्ती (कंप्यूटर विज्ञान)]] प्रदान करना है। इस दृष्टिकोण को विभिन्न क्षेत्रों में नियोजित किया जाता है, जिसमें निर्देश पाइपलाइन [[ CPU | सीपीयू]] में [[शाखा भविष्यवक्ता]], मूल्य क्षेत्र का शोषण करने के लिए मूल्य भविष्यवाणी, निर्देश प्रीफ़ेच और [[फाइल सिस्टम]] को प्रीफ़ेच करना है और रिलेशनल डेटाबेस प्रबंधन प्रणाली में [[आशावादी समवर्ती नियंत्रण]] सम्मिलित है।<ref>{{Cite conference |last=Lampson |first=Butler |author-link=Butler Lampson |date=2006 |editor-last1=Momenzadeh |editor-first1=Mariam |editor-last2=Shvartsman |editor-first2=Alexander A. |title=कंप्यूटर सिस्टम में आलसी और सट्टा निष्पादन|url=https://link.springer.com/chapter/10.1007/11945529_1 |book-title=Principles of Distributed Systems |series=Lecture Notes in Computer Science |conference=10th International Conference on Principles of Distributed Systems |language=en |location=Bordeaux, France |publisher=Springer |volume=4305 |pages=1–2 |doi=10.1007/11945529_1 |isbn=978-3-540-49991-6}}</ref><ref name="DivisionRaghavan1998">{{cite conference | इसका उद्देश्य अतिरिक्त [[संसाधन (कंप्यूटर विज्ञान)]] उपलब्ध होने पर अधिक [[समवर्ती (कंप्यूटर विज्ञान)]] प्रदान करना है। इस दृष्टिकोण को विभिन्न क्षेत्रों में नियोजित किया जाता है, जिसमें निर्देश पाइपलाइन [[ CPU |सीपीयू]] में [[शाखा भविष्यवक्ता]], मूल्य क्षेत्र का शोषण करने के लिए मूल्य भविष्यवाणी, निर्देश प्रीफ़ेच और [[फाइल सिस्टम]] को प्रीफ़ेच करना है और रिलेशनल डेटाबेस प्रबंधन प्रणाली में [[आशावादी समवर्ती नियंत्रण]] सम्मिलित है।<ref>{{Cite conference |last=Lampson |first=Butler |author-link=Butler Lampson |date=2006 |editor-last1=Momenzadeh |editor-first1=Mariam |editor-last2=Shvartsman |editor-first2=Alexander A. |title=कंप्यूटर सिस्टम में आलसी और सट्टा निष्पादन|url=https://link.springer.com/chapter/10.1007/11945529_1 |book-title=Principles of Distributed Systems |series=Lecture Notes in Computer Science |conference=10th International Conference on Principles of Distributed Systems |language=en |location=Bordeaux, France |publisher=Springer |volume=4305 |pages=1–2 |doi=10.1007/11945529_1 |isbn=978-3-540-49991-6}}</ref><ref name="DivisionRaghavan1998">{{cite conference | ||
|last1=Raghavan | |last1=Raghavan | ||
|first1=Prabhakar | |first1=Prabhakar | ||
Line 42: | Line 42: | ||
उत्सुक निष्पादन काल्पनिक निष्पादन का एक रूप है जहां नियमित शाखा के दोनों पक्षों को निष्पादित किया जाता है; चूँकि परिणाम तभी प्रतिबद्ध होते हैं जब विधेय सत्य होता है। तो असीमित संसाधनों के साथ, उत्सुक निष्पादन (जिसे ओरेकल निष्पादन के रूप में भी जाना जाता है) सिद्धांत रूप में सही [[शाखा भविष्यवाणी|शाखा]] पूर्वानुमान के समान प्रदर्शन प्रदान करेगा। सीमित संसाधनों के साथ उत्सुक निष्पादन को सावधानीपूर्वक नियोजित किया जाना चाहिए, क्योंकि शाखा के प्रत्येक स्तर पर उत्सुकता से निष्पादित होने के साथ आवश्यक संसाधनों की संख्या में तेजी से वृद्धि होती है।<ref name="ŠilcRobič1999">{{cite book|author1=Jurij Šilc|author2=Borut Robič|author3=Theo Ungerer|title=प्रोसेसर आर्किटेक्चर: डेटाफ्लो से सुपरस्केलर और उससे आगे तक|url=https://archive.org/details/processorarchite0000silc|url-access=registration|access-date=21 January 2011|year=1999|publisher=Springer|isbn=978-3-540-64798-0|pages=[https://archive.org/details/processorarchite0000silc/page/148 148]–150}}</ref> | उत्सुक निष्पादन काल्पनिक निष्पादन का एक रूप है जहां नियमित शाखा के दोनों पक्षों को निष्पादित किया जाता है; चूँकि परिणाम तभी प्रतिबद्ध होते हैं जब विधेय सत्य होता है। तो असीमित संसाधनों के साथ, उत्सुक निष्पादन (जिसे ओरेकल निष्पादन के रूप में भी जाना जाता है) सिद्धांत रूप में सही [[शाखा भविष्यवाणी|शाखा]] पूर्वानुमान के समान प्रदर्शन प्रदान करेगा। सीमित संसाधनों के साथ उत्सुक निष्पादन को सावधानीपूर्वक नियोजित किया जाना चाहिए, क्योंकि शाखा के प्रत्येक स्तर पर उत्सुकता से निष्पादित होने के साथ आवश्यक संसाधनों की संख्या में तेजी से वृद्धि होती है।<ref name="ŠilcRobič1999">{{cite book|author1=Jurij Šilc|author2=Borut Robič|author3=Theo Ungerer|title=प्रोसेसर आर्किटेक्चर: डेटाफ्लो से सुपरस्केलर और उससे आगे तक|url=https://archive.org/details/processorarchite0000silc|url-access=registration|access-date=21 January 2011|year=1999|publisher=Springer|isbn=978-3-540-64798-0|pages=[https://archive.org/details/processorarchite0000silc/page/148 148]–150}}</ref> | ||
=== | ===पूर्वानुमान निष्पादन === | ||
{{See also|पाइपलाइन (कंप्यूटिंग)}} | {{See also|पाइपलाइन (कंप्यूटिंग)}} | ||
{{Main|शाखा भविष्यवक्ता}} | {{Main|शाखा भविष्यवक्ता}} | ||
Line 57: | Line 57: | ||
{{Main|Lazy evaluation}} | {{Main|Lazy evaluation}} | ||
आलसी निष्पादन उत्सुक निष्पादन के विपरीत है, और इसमें अटकलें सम्मिलित नहीं हैं। [[हास्केल (प्रोग्रामिंग भाषा)]], एक आलसी भाषा, के कार्यान्वयन में काल्पनिक निष्पादन का समावेश एक वर्तमान शोध विषय है। [[ उत्सुक हास्केल ]], भाषा का एक प्रकार, काल्पनिक निष्पादन के विचार के आसपास डिज़ाइन किया गया है। 2003 की एक पीएचडी थीसिस ने [[ग्लासगो हास्केल कंपाइलर]] को एक गर्भपात तंत्र के साथ एक प्रकार के काल्पनिक निष्पादन का समर्थन करने के लिए तैयार किया, जिससे गलत विकल्प के मामले में आशावादी निष्पादन कहा जा सके।<ref name="Robert Ennals and Simon Peyton Jones">{{cite journal|url=https://www.microsoft.com/en-us/research/publication/optimistic-evaluation-fast-evaluation-strategy-non-strict-programs/|title=Optimistic Evaluation: a fast evaluation strategy for non-strict programs|first1=Simon Peyton|last1=Jones|first2=Robert|last2=Ennals|date=1 August 2003|access-date=15 May 2019|via=www.microsoft.com}}</ref> इसे बहुत जटिल माना गया।<ref>{{cite web | url=https://mail.haskell.org/pipermail/haskell/2006-August/018424.html | title=[Haskell] Optimistic Evaluation? | date=31 August 2006 }}</ref> | आलसी निष्पादन उत्सुक निष्पादन के विपरीत है, और इसमें अटकलें सम्मिलित नहीं हैं। [[हास्केल (प्रोग्रामिंग भाषा)]], एक आलसी भाषा, के कार्यान्वयन में काल्पनिक निष्पादन का समावेश एक वर्तमान शोध विषय है। [[ उत्सुक हास्केल |उत्सुक हास्केल]] , भाषा का एक प्रकार, काल्पनिक निष्पादन के विचार के आसपास डिज़ाइन किया गया है। 2003 की एक पीएचडी थीसिस ने [[ग्लासगो हास्केल कंपाइलर]] को एक गर्भपात तंत्र के साथ एक प्रकार के काल्पनिक निष्पादन का समर्थन करने के लिए तैयार किया, जिससे गलत विकल्प के मामले में आशावादी निष्पादन कहा जा सके।<ref name="Robert Ennals and Simon Peyton Jones">{{cite journal|url=https://www.microsoft.com/en-us/research/publication/optimistic-evaluation-fast-evaluation-strategy-non-strict-programs/|title=Optimistic Evaluation: a fast evaluation strategy for non-strict programs|first1=Simon Peyton|last1=Jones|first2=Robert|last2=Ennals|date=1 August 2003|access-date=15 May 2019|via=www.microsoft.com}}</ref> इसे बहुत जटिल माना गया।<ref>{{cite web | url=https://mail.haskell.org/pipermail/haskell/2006-August/018424.html | title=[Haskell] Optimistic Evaluation? | date=31 August 2006 }}</ref> | ||
Revision as of 15:46, 16 July 2023
काल्पनिक निष्पादन एक अनुकूलन (कंप्यूटर विज्ञान) तकनीक है जहां एक कंप्यूटर प्रणाली कुछ ऐसे कार्य करता है जिनकी आवश्यकता नहीं हो सकती है। काम यह जानने से पहले किया जाता है कि वास्तव में इसकी आवश्यकता है या नहीं, जिससे उस देरी को रोका जा सकता है जो यह पता चलने के बाद कि काम करना आवश्यक है, होने वाली देरी को रोका जा सकता है । यदि यह पता चलता है कि कार्य की आवश्यकता ही नहीं थी, तो कार्य द्वारा किए गए अधिकांश परिवर्तन वापस कर दिए जाते हैं और परिणामों को अनदेखा कर दिया जाता है।
इसका उद्देश्य अतिरिक्त संसाधन (कंप्यूटर विज्ञान) उपलब्ध होने पर अधिक समवर्ती (कंप्यूटर विज्ञान) प्रदान करना है। इस दृष्टिकोण को विभिन्न क्षेत्रों में नियोजित किया जाता है, जिसमें निर्देश पाइपलाइन सीपीयू में शाखा भविष्यवक्ता, मूल्य क्षेत्र का शोषण करने के लिए मूल्य भविष्यवाणी, निर्देश प्रीफ़ेच और फाइल सिस्टम को प्रीफ़ेच करना है और रिलेशनल डेटाबेस प्रबंधन प्रणाली में आशावादी समवर्ती नियंत्रण सम्मिलित है।[1][2][3]
काल्पनिक मल्टीथ्रेडिंग काल्पनिक निष्पादन का एक विशेष स्थिति है।
अवलोकन
आधुनिक निर्देश पाइपलाइन माइक्रोप्रोसेसर उन योजनाओं का उपयोग करके नियमित शाखा निर्देशों की निवेश को कम करने के लिए काल्पनिक निष्पादन का उपयोग करते हैं जो शाखा निष्पादन के इतिहास के आधार पर किसी कार्यक्रम के निष्पादन पथ की पूर्वानुमान करते हैं।[2] कंप्यूटर संसाधनों के प्रदर्शन और उपयोग को उत्तम बनाने के लिए निर्देशों को ऐसे समय में निर्धारित किया जा सकता है जब यह अभी तक निर्धारित नहीं किया गया है कि निर्देशों को शाखा भविष्यवक्ता से पहले निष्पादित करने की आवश्यकता होगी।[4]
वेरिएंट
काल्पनिक गणना एक संबंधित पूर्व अवधारणा थी।[5]
उत्सुक निष्पादन
उत्सुक निष्पादन काल्पनिक निष्पादन का एक रूप है जहां नियमित शाखा के दोनों पक्षों को निष्पादित किया जाता है; चूँकि परिणाम तभी प्रतिबद्ध होते हैं जब विधेय सत्य होता है। तो असीमित संसाधनों के साथ, उत्सुक निष्पादन (जिसे ओरेकल निष्पादन के रूप में भी जाना जाता है) सिद्धांत रूप में सही शाखा पूर्वानुमान के समान प्रदर्शन प्रदान करेगा। सीमित संसाधनों के साथ उत्सुक निष्पादन को सावधानीपूर्वक नियोजित किया जाना चाहिए, क्योंकि शाखा के प्रत्येक स्तर पर उत्सुकता से निष्पादित होने के साथ आवश्यक संसाधनों की संख्या में तेजी से वृद्धि होती है।[6]
पूर्वानुमान निष्पादन
पूर्वानुमानित निष्पादन काल्पनिक निष्पादन का एक रूप है जहां कुछ परिणाम की पूर्वानुमान की जाती है और वास्तविक परिणाम ज्ञात होने तक निष्पादन अनुमानित पथ के साथ आगे बढ़ता है। यदि पूर्वानुमान सत्य है, तो पूर्वानुमानित निष्पादन को प्रतिबद्ध करने की अनुमति है; चूँकि यदि कोई गलत पूर्वानुमान है, तो निष्पादन को अनियंत्रित करना होगा और फिर से निष्पादित करना होगा। इसके सामान्य रूपों में शाखा भविष्यवक्ता और मेमोरी निर्भरता पूर्वानुमान सम्मिलित हैं। एक सामान्यीकृत रूप को कभी-कभी मूल्य पूर्वानुमान के रूप में जाना जाता है।[7]
रनहेड
संबंधित अवधारणाएँ
आलसी निष्पादन
आलसी निष्पादन उत्सुक निष्पादन के विपरीत है, और इसमें अटकलें सम्मिलित नहीं हैं। हास्केल (प्रोग्रामिंग भाषा), एक आलसी भाषा, के कार्यान्वयन में काल्पनिक निष्पादन का समावेश एक वर्तमान शोध विषय है। उत्सुक हास्केल , भाषा का एक प्रकार, काल्पनिक निष्पादन के विचार के आसपास डिज़ाइन किया गया है। 2003 की एक पीएचडी थीसिस ने ग्लासगो हास्केल कंपाइलर को एक गर्भपात तंत्र के साथ एक प्रकार के काल्पनिक निष्पादन का समर्थन करने के लिए तैयार किया, जिससे गलत विकल्प के मामले में आशावादी निष्पादन कहा जा सके।[8] इसे बहुत जटिल माना गया।[9]
सुरक्षा कमजोरियाँ
2017 से शुरू होकर, सामान्य प्रोसेसर आर्किटेक्चर पर काल्पनिक निष्पादन के कार्यान्वयन में भेद्यता (कंप्यूटिंग) की एक श्रृंखला पाई गई, जिसने प्रभावी रूप से विशेषाधिकार (कंप्यूटिंग) के उन्नयन को सक्षम किया।
इसमे सम्मिलित है:
- पूर्वाभास (सुरक्षा भेद्यता)
- मेल्टडाउन (सुरक्षा भेद्यता)
- माइक्रोआर्किटेक्चरल डेटा सैंपलिंग
- स्पेक्टर (सुरक्षा भेद्यता)
- स्पॉइलर (सुरक्षा भेद्यता)
- पॅकमैन (सुरक्षा भेद्यता)
यह भी देखें
- आउट-ऑफ़-ऑर्डर निष्पादन
- स्लिपस्ट्रीम (कंप्यूटर विज्ञान)
- काल्पनिक मल्टीथ्रेडिंग
- हार्डवेयर सुरक्षा बग
- क्षणिक निष्पादन सीपीयू कमजोरियाँ
संदर्भ
- ↑ Lampson, Butler (2006). "कंप्यूटर सिस्टम में आलसी और सट्टा निष्पादन". In Momenzadeh, Mariam; Shvartsman, Alexander A. (eds.). Principles of Distributed Systems. 10th International Conference on Principles of Distributed Systems. Lecture Notes in Computer Science (in English). Vol. 4305. Bordeaux, France: Springer. pp. 1–2. doi:10.1007/11945529_1. ISBN 978-3-540-49991-6.
- ↑ 2.0 2.1 Raghavan, Prabhakar; Shachnai, Hadas; Yaniv, Mira (1998). "Dynamic schemes for speculative execution of code". Proceedings of the Sixth International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. IEEE. pp. 309–314. doi:10.1109/MASCOT.1998.693711. Retrieved 18 January 2011.
- ↑ Kung, H. T.; John T. Robinson (June 1981). "On optimistic methods for concurrency control" (PDF). ACM Trans. Database Syst. Vol. 6. Archived (PDF) from the original on August 31, 2019.
- ↑ Bernd Krieg-Brückner (1992). ईएसओपी '92: प्रोग्रामिंग पर चौथा यूरोपीय संगोष्ठी, रेनेस, फ्रांस, 26-28 फरवरी, 1992: कार्यवाही. Springer. pp. 56–57. ISBN 978-3-540-55253-6. Retrieved 18 January 2011.
- ↑ Randy B. Osborne (1990-03-21). "Speculative Computation in Multilisp". Parallel Lisp: Languages and Systems (PS). Lecture Notes in Computer Science. Vol. 441. Digital Equipment Corporation Research Lab. pp. 103–137. doi:10.1007/BFb0024152. ISBN 3-540-52782-6. Archived from the original on 2017-02-07. Retrieved 2018-01-26.
- ↑ Jurij Šilc; Borut Robič; Theo Ungerer (1999). प्रोसेसर आर्किटेक्चर: डेटाफ्लो से सुपरस्केलर और उससे आगे तक. Springer. pp. 148–150. ISBN 978-3-540-64798-0. Retrieved 21 January 2011.
- ↑ Mark D., Hill; Norman P., Jouppi; Gourindar S., Sohi (2000). कंप्यूटर आर्किटेक्चर में रीडिंग. Morgan Kaufman. ISBN 9781558605398. Retrieved 5 January 2018.
- ↑ Jones, Simon Peyton; Ennals, Robert (1 August 2003). "Optimistic Evaluation: a fast evaluation strategy for non-strict programs". Retrieved 15 May 2019 – via www.microsoft.com.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ "[Haskell] Optimistic Evaluation?". 31 August 2006.