लिनपैक बेंचमार्क

लिनपैक बेंचमार्क एक सिस्टम की फ़्लोटिंग-पॉइंट कंप्यूटिंग माप है, जिसे जैक डोंगरा द्वारा प्रस्तुत किया गया था। वे मापते हैं कि कंप्यूटर कितनी तीव्रता से रैखिक समीकरण Ax = b को n सिस्टम द्वारा हल कर सकता है जो कि इंजीनियरिंग में एक सामान्य टास्क है।

इन बेंचमार्क (कंप्यूटिंग) के नवीनतम संस्करण का उपयोग विश्व के सबसे प्रभावशाली सुपर कंप्यूटरों की रैंकिंग करने के लिए टॉप-500 सूची (लिस्ट) बनाने के लिए किया जाता है।

इसका उद्देश्य यह अनुमान लगाना है कि वास्तविक समस्याओं को हल करते समय कंप्यूटर कितनी तीव्रता से कार्य करता है। यह एक सरलीकरण है क्योंकि कोई भी एकल कम्प्यूटेशनल टास्क कंप्यूटर सिस्टम के समग्र बेंचमार्क परफॉरमेंस (प्रदर्शन) को रिफ्लेक्ट नहीं कर सकता है। फिर भी लिनपैक बेंचमार्क परफॉरमेंस निर्माता द्वारा प्रदान किए गए पीक-परफॉरमेंस पर यह एक अच्छा सुधार प्रदान कर सकता है। पीक-परफॉरमेंस अधिकतम सैद्धांतिक परफॉरमेंस है जिसे एक कंप्यूटर द्वारा प्राप्त किया जा सकता है। इसकी गणना मशीन की आवृत्ति के रूप में की जाती है। यह गणना प्रति सेकंड राउंड या प्रति राउंड संचालन की संख्या की कई गुना होती है। वास्तविक परफॉरमेंस सदैव पीक-परफॉरमेंस से अपेक्षाकृत कम होता है। कंप्यूटर का परफॉरमेंस एक जटिल समस्या है जो कई परस्पर संबद्ध वेरिएबल पर निर्भर करती है। लिनपैक बेंचमार्क द्वारा मापे गए परफॉरमेंस में 64-बिट फ़्लोटिंग-पॉइंट ऑपरेशन की संख्या सम्मिलित होती है। सामान्यतः जोड़ (+) और गुणा (*) एक कंप्यूटर प्रति सेकंड परफॉरमेंस कर सकता है, जिसे फ्लॉप भी कहा जाता है। हालाँकि वास्तविक एप्लिकेशन कार्यान्वयन पर कंप्यूटर का परफॉरमेंस लिनपैक बेंचमार्क पर प्राप्त अधिकतम परफॉरमेंस से अपेक्षाकृत कम होने की संभावना है।

बेंचमार्क का नाम लिनपैक पैकेज से आया है, जो 1980 के दशक में व्यापक रूप से उपयोग किए जाने वाले बीजगणितीय फोरट्रान प्रक्रिया का एक संग्रह है। सामान्यतः यह प्रारम्भ में लिनपैक बेंचमार्क से संबद्ध था तब से लिनपैक पैकेज को एक लाइब्रेरी द्वारा बेंचमार्क मे प्रतिस्थापित कर दिया गया था।

इतिहास
लिनपैक बेंचमार्क रिपोर्ट पहली बार 1979 में लिनपैक के मैनुअल उपयोगकर्ता के द्वारा प्रदर्शित हुई थी।

लिनपैक बेंचमार्क रिपोर्ट को उपयोगकर्ताओं के लिए 100 आकार की मैट्रिक्स समस्या को हल करने वाले 23 विभिन्न कंप्यूटरों द्वारा प्राप्त परफॉरमेंस परिणामों को एक्सट्रपलेशन और लिनपैक पैकेज का उपयोग करके किसी समस्या को हल करने के लिए और उनके सिस्टम द्वारा आवश्यक समय का अनुमान लगाने में सहायता करने के लिए डिज़ाइन किया गया था।

यह मैट्रिक्स आकार उस समय मेमोरी और सीपीयू सीमाओं के कारण चुना गया था:


 * -1 से 1 तक 10,000 फ़्लोटिंग-पॉइंट एक सामान्य मैट्रिक्स को भरने के लिए यादृच्छिक रूप से उत्पन्न होते हैं।
 * पार्टियल पिवट टेबल के साथ एलयू डिकोम्पोसिशन का उपयोग अपेक्षाकृत कम समय के लिए किया जाता है।

इन वर्षों में विभिन्न समस्या आकारों के साथ अतिरिक्त संस्करण जैसे 300 और 1000 के मैट्रिक्स और कॉन्सट्रेंट को प्रस्तुत किया गया था। जिससे हार्डवेयर आर्किटेक्चर ने मैट्रिक्स-वेक्टर और मैट्रिक्स संचालन को प्रयुक्त करना प्रारम्भ कर दिया था, जिससे नए ऑप्टिमाइजेशन के अवसर प्राप्त हो सके। 1980 के दशक के अंत में लिनपैक पैरेलल बेंचमार्क में पैरेलल प्रसंस्करण भी प्रारम्भ किया गया था।

1991 में लिनपैक की अपेक्षाकृत आकार समस्याओं को हल करने के लिए इसे पुनः संशोधित किया गया था। जिससे हाई-परफॉरमेंस कंप्यूटर (एचपीसी) अपने एसिम्प्टोटिक परफॉरमेंस के निकट अभिगम्य हो सकते हैं। दो साल बाद पुनः इस बेंचमार्क का उपयोग पहली टॉप-500 सूची के परफॉरमेंस को मापने के लिए किया गया था।

लिनपैक 100
लिनपैक 100, 1979 में लिनपैक मैनुअल उपयोगकर्ता के साथ प्रकाशित मूल बेंचमार्क के समान है, जिसे गॉसियन एलिमिनेशन द्वारा पार्टियल पिवट टेबल के साथ प्राप्त किया जाता है। जहां 2/3n³ + 2n² फ्लोटिंग-पॉइंट संचालन के साथ n,100 है और मैट्रिक्स A का क्रम एक समस्या को परिभाषित करता है। इसका छोटा आकार और सॉफ्टवेयर फ्लेक्सिबिलिटी की कमी अधिकांश आधुनिक कंप्यूटरों को उनकी परफॉरमेंस सीमा तक जाने की स्वीकृति नहीं देती है। हालाँकि कंपाइलर ऑप्टिमाइज़ेशन का उपयोग करके संख्यात्मक रूप से लिनपैक उपयोगकर्ता लिखित कोड से परफॉरमेंस का पूर्वानुमान करना अभी भी उपयोगी हो सकता है।

लिनपैक 1000
लिनपैक 1000 मशीन की सीमा के निकट परफॉरमेंस प्रदान कर सकता है क्योंकि बड़ी समस्या के आकार के परफॉरमेंस के अतिरिक्त एल्गोरिथ्म में लिनपैक 1000 के मैट्रिक्स में परिवर्तन संभव है। एकमात्र समस्या यह है कि सापेक्ष एक्यूरेसी को अपेक्षाकृत कम नहीं किया जा सकता है और संचालन की संख्या सदैव n = 1000 के साथ 2/3n³ + 2n² मानी जाती है।

एचपीलिनपैक
पिछले बेंचमार्क पैरेलल कंप्यूटरों के परीक्षण के लिए उपयुक्त नहीं थे जिसके लिए लिनपैक का अत्यधिक पैरेलल कंप्यूटिंग बेंचमार्क या एचपीलिनपैक बेंचमार्क प्रस्तुत किया गया था। एचपीएलइनपैक में समस्या का आकार n जितना बड़ा माना जा सकता है क्योकि मशीन के परफॉरमेंस परिणामों को कार्यान्वित करने के लिए यह आवश्यक होता है। एक बार उपयोग किए गए एल्गोरिदम के साथ 2/3n³ + 2n² को एक ऑपरेशन गणना के रूप में माना जाता है। जिसमे स्ट्रैसेन एल्गोरिथ्म के उपयोग की स्वीकृति नहीं होती है क्योंकि यह वास्तविक निष्पादन दर को डिस्टॉर्ट करता है। सामान्यतः एक्यूरेसी ऐसी होनी चाहिए कि जिससे निम्नलिखित एक्सप्रेशन (अभिव्यक्तियां) संतुष्ट हो:

$${\lVert Ax-b\rVert\over \lVert A\rVert \lVert x\rVert n \epsilon} \leq O(1)$$,

जहाँ $$\epsilon$$ मशीन प्रिसिशन, n समस्या का आकार, $$\lVert \cdot \rVert$$ मैट्रिक्स बेंचमार्क और $$O(1)$$ बिग-ओ नोटेशन है।

प्रत्येक कंप्यूटर सिस्टम के लिए निम्नलिखित विशेषताएँ आवश्यक हो सकती हैं:


 * Rmax: किसी मशीन पर कार्यान्वित सबसे बड़ी समस्या के लिए जीफ्लॉप में परफॉरमेंस।
 * Nmax: किसी मशीन पर कार्यान्वित सबसे बड़ी समस्या का आकार।
 * N1/2: वह आकार जहां Rmax निष्पादन दर को प्राप्त किया जा सकता है।
 * Rpeak: मशीन के लिए सैद्धांतिक पीक-परफॉरमेंस जीफ्लॉप।

इन परिणामों का उपयोग विश्व के सबसे प्रभावशाली कंप्यूटरों के साथ वर्ष में दो बार टॉप-500 सूची को संकलित करने के लिए किया जाता है। सामान्यतः टॉप-500 सूची मे इसका उपयोग डबल-प्रिसिशन फ़्लोटिंग-पॉइंट फॉर्मेट (एफपी-64) के रूप मे किया जाता है।

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

एचपीएल
एचपीएल, एचपीएलइनपैक का एक पोर्टेबल कार्यान्वयन है जिसे मूल रूप से एक दिशानिर्देश के रूप में सी (प्रोग्रामिंग लैंग्वेज) में लिखा गया था, लेकिन अब इसका उपयोग टॉप-500 सूची मे डेटा प्रदान करने के लिए व्यापक रूप से किया जाता है। हालांकि अन्य प्रौद्योगिकियों और पैकेजों का उपयोग किया जा सकता है। एचपीएल अनुक्रम n के समीकरणों की एक रैखिक प्रणाली उत्पन्न करता है और पार्टियल पिवट टेबल के साथ एलयू डिकोम्पोसिशन का उपयोग करके इसे हल करता है। इसे कार्यान्वित करने के लिए एमपीआई और बीएलएएस या वीएसआईपीएल के स्थापित कार्यान्वयन की आवश्यकता होती है।

सामान्यतः एल्गोरिथ्म में निम्नलिखित विशेषताएं होती हैं:
 * 2डी ब्लॉक में साइक्लिक डेटा डिस्ट्रिब्यूशन
 * लुक-फॉरवर्ड की वेरियस डेप्थ के साथ राइट लुक वेरिएंट का उपयोग करके एलयू फ़ैक्टराइज़ेशन
 * रिकर्सिव पैनल फ़ैक्टराइज़ेशन
 * छह अलग-अलग पैनल ब्रॉडकास्ट वेरिएंट
 * बैंडविड्थ रिड्यूस स्वैप-ब्रॉडकास्ट एल्गोरिदम
 * डेप्थ 1 लुक-फॉरवर्ड के साथ बैकवर्ड सब्स्टिटूशन (प्रतिस्थापन)

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

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

कार्यान्वयन टाइम समस्या
जैक डोंगर्रा के अनुसार एचपीलिनपैक के साथ अच्छे परफॉरमेंस परिणाम प्राप्त करने के लिए आवश्यक कार्यान्वयन टाइम में वृद्धि होने की संभावना है। 2010 में आयोजित एक सम्मेलन में उन्होंने कहा कि उन्हें कुछ वर्षों में 2.5 दिनों के कार्यान्वयन टाइम संभावना है।

यह भी देखें

 * लैपैक

बाहरी संबंध

 * टॉप-500 लिनपैक
 * a web-based लिनपैक benchmark
 * Intel® Optimized लिनपैक Benchmark