सिस्टोलिक सरणी

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

समानांतर इनपुट डेटा यंत्रस्थ माइक्रोप्रोसेसर बिंदुओ के नेटवर्क के माध्यम से प्रवाहित होता है, जो एक व्युत्पन्न परिणाम में इनपुट डेटा को संयोजित, संसाधित, विलय एल्गोरिथ्म या प्रथक एल्गोरिथ्म करता है। क्योंकि सिस्टोलिक शृंखला के माध्यम से डेटा का तरंग जैसा प्रसार मानव संचार सिस्टम की नाडी जैसा दिखता है, सिस्टोलिक नाम चिकित्सा शब्दावली से लिया गया था। यह नाम हृदय के माध्यम से रक्त के नियमित स्पंदित के सादृश्य के रूप में सिस्टोल से लिया गया है।

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

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

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

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

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

सिस्टोलिक सारणियाँ इसलिए कृत्रिम सूचना, छवि संसाधन, प्रतिरूप मान्यता, कंप्यूटर दृष्टि और अन्य कार्य जो पशु मस्तिष्क विशेष रूप से अच्छी तरह से करते हैं। सामान्यतः तरंगाग्र प्रोसेसर भी हार्डवेयर में स्व विन्यास तंत्रिका संबंधी नेट को प्रयुक्त करके यंत्र अधिगम में बहुत अच्छा हो सकता है। इसलिए सिस्टोलिक सरणी निश्चित रूप से एसआईएसडी नहीं है।

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

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

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

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

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

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

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

इतिहास
सिस्टोलिक सारणियों (तरंगाग्र प्रोसेसर के रूप में भी जाना जाता है), को प्रथम बार एच.टी. कुंग और चार्ल्स ई. लीजर्सन के माध्यम से वर्णित किया गया था, जिन्होंने 1979 में सिस्टोलिक शृंखला का वर्णन करने वाला पहला पेपर प्रकाशित किया था। चूंकि इसी तरह की विधि का उपयोग करने वाली प्रथम यंत्र 1944 मे कोलोसस मार्क (कंप्यूटर) थी।

एप्लीकेशन उदाहरण
बहुपद मूल्यांकन

बहुपद के मूल्यांकन के लिए हॉर्नर का नियम है:



y = ( \ldots ( ( (a_n \cdot x + a_{n-1}) \cdot x + a_{n-2}) \cdot x + a_{n-3}) \cdot x + \ldots + a_1) \cdot x + a_0. $$ एक रैखिक सिस्टोलिक शृंखला जिसमें प्रोसेसर जोड़े में व्यवस्थित होते हैं: इसके इनपुट को $$x$$ से गुणा करता है और परिणाम को दाईं ओर पारित करता है, दूसरा $$a_j$$ योग करता है और परिणाम को दाईं ओर पारित करता है।

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

कार्यान्वयन

 * सिस्को पीएक्सएफ नेटवर्क प्रोसेसर आंतरिक रूप से सिस्टोलिक शृंखला के रूप में व्यवस्थित है।
 * गूगल की टेन्सर प्रोसेसिंग यूनिट भी एक सिस्टोलिक शृंखला के आसपास रेखांकित की गई है।
 * पैरासेल एफडीएफ4टी संदेश खोजक संदेश जाँच सिस्टम
 * पैरासेल एफडीएफ4जी आनुवंशिकता मिलान जैविक (डीएनए और प्रोटीन) खोज सिस्टम
 * अमेज़न वेब सर्विसेज पर अनुमान चिप
 * एमआईटी आईरिस दृढ़ तंत्रिका नेटवर्क के लिए एक सिस्टोलिक शृंखला त्वरक है।

यह भी देखें

 * एमआईएसडी - एकाधिक निर्देश एकल डेटा, उदाहरण- सिस्टोलिक सरणी
 * आईवार्प - सिस्टोलिक शृंखला कंप्यूटर, वीएलएसआई, इंटेल/सीएमयू
 * वार्प (सिस्टोलिक शृंखला) - सिस्टोलिक शृंखला कंप्यूटर, जीयू/सीएमयू
 * प्रदिश संसाधन इकाई - एआई त्वरक एएसआईसी

संदर्भ

 * H. T. Kung, C. E. Leiserson: Algorithms for VLSI processor arrays; in: C. Mead, L. Conway (eds.): Introduction to VLSI Systems; Addison-Wesley, 1979
 * S. Y. Kung: VLSI Array Processors; Prentice-Hall, Inc., 1988
 * N. Petkov: Systolic Parallel Processing; North Holland Publishing Co, 1992

बाहरी संबंध

 * Instruction Systolic Array (ISA)
 * 'A VLSI Architecture for Image Registration in Real Time' (Based on systolic array), Vol. 15, September 2007