एनएएस समानांतर बेंचमार्क

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

प्रेरणा
पारंपरिक बेंचमार्क जो एनपीबी से पहले मौजूद थे, जैसे कि लिवरमोर लूप्स, लिनपैक और NAS कर्नेल बेंचमार्क प्रोग्राम, आमतौर पर वेक्टर कंप्यूटरों के लिए विशिष्ट थे। वे आम तौर पर समानता-बाधक ट्यूनिंग प्रतिबंधों और अपर्याप्त समस्या आकार सहित अपर्याप्तताओं से पीड़ित थे, जिसने उन्हें अत्यधिक समानांतर प्रणालियों के लिए अनुपयुक्त बना दिया। उच्च पोर्टिंग लागत और स्वचालित सॉफ़्टवेयर समानांतरकरण टूल की अनुपलब्धता के कारण पूर्ण-स्तरीय एप्लिकेशन बेंचमार्क समान रूप से अनुपयुक्त थे। परिणामस्वरूप, 1991 में एनपीबी विकसित किया गया और 1992 में रिलीज़ हुई अत्यधिक समानांतर मशीनों पर लागू होने वाले बेंचमार्क की कमी को दूर करने के लिए।

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

एनपीबी 1 ने आठ बेंचमार्क परिभाषित किए, प्रत्येक को दो समस्या आकारों में क्लास ए और क्लास बी कहा गया। फोरट्रान#फोरट्रान 77 में लिखे गए नमूना कोड प्रदान किए गए थे। उन्होंने छोटे समस्या आकार वर्ग एस का उपयोग किया और बेंचमार्किंग उद्देश्यों के लिए नहीं थे।

एनपीबी 2

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

एनपीबी 2, 1996 में रिलीज़ हुई, एनपीबी 1 में परिभाषित आठ बेंचमार्क में से पांच के लिए स्रोत कोड कार्यान्वयन के साथ आया, जो एनपीबी 1 को पूरक करता है लेकिन प्रतिस्थापित नहीं करता। इसने बेंचमार्क को अप-टू-डेट समस्या आकार क्लास सी के साथ बढ़ाया। इसने बेंचमार्किंग परिणाम प्रस्तुत करने के नियमों में भी संशोधन किया। नए नियमों में आउटपुट फ़ाइलों के साथ-साथ संशोधित स्रोत फ़ाइलों के लिए स्पष्ट अनुरोध और संशोधनों की सार्वजनिक उपलब्धता और परिणामों की पुनरुत्पादकता सुनिश्चित करने के लिए स्क्रिप्ट का निर्माण शामिल था।

एनपीबी 2.2 में दो और बेंचमार्क का कार्यान्वयन शामिल था। 1997 का एनपीबी 2.3 संदेश पासिंग इंटरफ़ेस में पहला पूर्ण कार्यान्वयन था। इसे समानांतर संस्करणों के अनुरूप बेंचमार्क के सीरियल संस्करणों के साथ भेजा गया और छोटे-मेमोरी सिस्टम के लिए समस्या आकार क्लास डब्ल्यू को परिभाषित किया गया। 2002 के एनपीबी 2.4 ने नए एमपीआई कार्यान्वयन की पेशकश की और  और बड़ी समस्या आकार क्लास डी पेश की। इसने इनपुट/आउटपुट|आई/ओ-सघन उपप्रकारों के साथ  बेंचमार्क भी बढ़ाया।

एनपीबी 3

एनपीबी 3 ने एनपीबी 2 से एमपीआई कार्यान्वयन को बरकरार रखा और अधिक फ्लेवर में आया, अर्थात् ओपनएमपी, जावा (प्रोग्रामिंग भाषा) और उच्च प्रदर्शन फोरट्रान। ये नए समानांतर कार्यान्वयन अतिरिक्त अनुकूलन के साथ एनपीबी 2.3 में सीरियल कोड से प्राप्त किए गए थे। एनपीबी 3.1 और एनपीबी 3.2 ने तीन और बेंचमार्क जोड़े, हालाँकि, जो सभी कार्यान्वयनों में उपलब्ध नहीं थे; एनपीबी 3.3 ने क्लास ई समस्या आकार पेश किया। सिंगल-ज़ोन एनपीबी 3 के आधार पर, एमपीआई/ओपनएमपी हाइब्रिड प्रोग्रामिंग मॉडल का लाभ उठाते हुए मल्टी-लेवल और हाइब्रिड समानांतरीकरण प्रतिमानों और उपकरणों की प्रभावशीलता का परीक्षण करने के लिए एनपीबी-मल्टी-ज़ोन (एनपीबी-एमजेड) नाम के तहत मल्टी-ज़ोन बेंचमार्क का  सेट जारी किया गया था।

मानदंड
एनपीबी 3.3 के अनुसार, ग्यारह बेंचमार्क को निम्नलिखित तालिका में संक्षेप में परिभाषित किया गया है।

बाहरी संबंध

 * NAS Parallel Benchmarks Changes (official website)