Кіріспе

Параллельді есептеу архитектурасы

Есептеуде, көп нұсқау, бір дерек (MISD) – бұл параллельді есептеу архитектурасының бір түрі, онда көптеген функционалдық блоктар бір дерек бойынша әртүрлі операцияларды орындайды. Құбырлы архитектуралар осы типке жатады, бірақ қатаң тұрғысынан алғанда, құбырдың әр кезеңінен өңделгеннен кейін деректер өзгереді. Қателерге төзімділік, яғни қателерді анықтау және жасыру үшін бірдей нұсқауларды қайталап орындау, тапсырма көшірмесі ретінде белгілі әдіс, осы типке жататындығын қарастыруға болады. Бұл архитектураның қолданылуы MIMD және SIMD архитектураларына қарағанда кем, себебі соңғы екеуі әдеттегі дерек параллельді техникалар үшін тиімдірек. Атап айтқанда, олар есептеу ресурстарын жақсырақ масштабтауға және пайдалануға мүмкіндік береді. Дегенмен, MISD-нің есептеу техникасындағы маңызды мысалы – «Space Shuttle» ғарыш кемесінің ұшуды басқару компьютерлері.

Систолалық массивтер

Систоликалық массивтер (< толқын фронты процессорлары), алғаш рет Х.Т. Кунг пен Чарльз Э. Лейзерсон сипаттаған, MISD архитектурасының мысалы болып табылады. Типик систолалық массивте, параллель кіріс деректері қатты сымдалған процессор түйіндерінің желісі арқылы өтеді, олар кіріс деректерін біріктіріп, өңдеп, қосып немесе сұрыптап, туынды нәтижеге айналдырады. Систолалық массивтер көбінесе "көбейту және жинақтау" сияқты нақты операция үшін қатты сымдалған, массивтік параллель интеграциялау, конволюция, корреляция, матрица көбейту немесе деректерді сұрыптау міндеттерін орындауға арналған. Систолалық массив әдетте, белгілі бір қолданбаға арналған бастапқы есептеу түйіндерінің үлкен монолиттік желісінен тұрады, олар қатты немесе бағдарламалық түрде конфигурациялануы мүмкін. Түйіндер әдетте бекітілген және бірдей болады, ал байланыс бағдарламаланады. Ал, жалпы толқын фронты процессорлары, массивтің мөлшері мен дизайн параметрлеріне байланысты монолиттік немесе емес болатын, күрделі және жеке бағдарламаланатын түйіндерді қолданады. Систолалық массив арқылы деректердің толқын тәрізді таралуы адамның қан айналымы жүйесінің пульсіне ұқсас болғандықтан, "систолалық" атауы медициналық терминологиядан алынған. Систолалық массивтердің маңызды артықшылығы – барлық операнд деректері мен аралық нәтижелер процессор массиві ішінде (өтетін) болады. Әрбір операция кезінде стандартты тізбекті машиналардағыдай сыртқы шиналарға, негізгі жадқа немесе ішкі кэшке кірудің қажеті жоқ. Ахальдің заңымен анықталған параллель өнімділіктің тізбекті шектері де осылай қолданылмайды, себебі деректердің тәуелділіктері бағдарламаланатын түйіннің байланысы арқылы жасырын түрде басқарылады. Сондықтан, систолалық массивтер жасанды интеллект, кескіндерді өңдеу, үлгілерді тану, компьютерлік көру және жануарлар миы өте жақсы орындайтын басқа да міндеттерде өте тиімді. Толқын фронты процессорлары, әдетте, машиналық оқытуда да өте жақсы болуы мүмкін, аппараттық құралдарда өздігінен конфигурацияланатын нейрондық желілерді жүзеге асыру арқылы. Систолалық массивтер ресми түрде MISD ретінде жіктеліп келсе де, олардың жіктелуі кейбір қиындықтар тудырады. Кіріс әдетте тәуелсіз мәндердің векторы болғандықтан, систолалық массив SISD емес. Бұл кіріс мәндері біріктіріліп, нәтижеге қосылғандықтан және SIMD векторлық өңдеу блогындағыдай тәуелсіздігін сақтамайтындықтан, массив осылай жіктелмейді. Соған байланысты, массивті MIMD ретінде де жіктеуге болмайды, себебі MIMD кіші SISD және SIMD машиналардың жиынтығы ретінде қарастырылады. Соңында, деректер массиві арқылы түйінден түйінге өте келе өзгергендіктен, бірнеше түйін бір деректерде жұмыс істемейді, бұл MISD жіктемесін қате етеді. Систолалық массивтің MISD ретінде жарамсыз болуының тағы бір себебі SISD санатынан шығару себебімен бірдей: кіріс деректері әдетте вектор болып табылады, жалғыз дерек мәні емес, бірақ кез келген кіріс векторы бір дерек жиынтығы деп санауға болады. Жоғарыда айтылғандарға қарамастан, систолалық массивтер параллель есептеу және инженерлік сабақтардағы оқулықтарда MISD архитектурасының классикалық мысалы ретінде жиі ұсынылады. Егер массив сырттан қарағанда атомдық болса, оны SFMuDMeR = бір функция, бірнеше дерек, біріктірілген нәтижелер деп жіктеуге болады.