Симетрична повеќекратна обработка

Симтеричната повеќекратна обработка (СПО или SMP, од англ. symmetric multiprocessing) вклучува повеќеобработувачка машинска архитектура каде две или повеќе идентични обработувачи се поврзани на една заедничко главно памтење и се контролирани од еден оперативен систем. Најчестите повеќеобработувачки системи денес користат SMP  архитектура. Во случај на повеќејадрени обработувачи, SMP архитектурата се применува врз јадрата, третирајки ги како одвоени обработувачи. Обработувачите можат да бидат меѓусебно поврзани користејки магистрали, накрсни спојки или чипно вмрежување. Тесно грло во приспособливоста на SMP користејќи магистрала или накрсни спојки е пропусниот опсег и потрошувачката на енергија што се прави за време на меѓуврската помеѓу обработувачите, памтењето (меморија) и дискот. Вмрежената архитектурата ги избегнува овие тесни грла, и обезбедува речиси линеарна приспособливост на многу повисоки обработувачки точки.
Сериозни програмски предизвици остануваат со овој тип архитектура бидејќи побарува два различни режими на програмирање, еден за самите обработувачи и друг за интерконекција еден меѓу друг.

SMP системите дозволуваат обработувачот да работи на каква било задача, без разлика каде се сместени податоците во памтењето, под услов секоја задача во системот да не е во извршување кај два или повеќе обработувачи во исто време; со соодветна поддршка на оперативниот систем, SMP системите можат лесно да ги движат задачите помеѓу обработувачите за да ја балансираат и да работат ефикасно.

 Алтернативи 
мини|десно|300п|Шематски приказ на типичен систем за симетрична повеќекратна обработка. На еден памтилен модул се поврзани три обработувачи (ЦОЕ) со системска магистрала или накрсна спојка.
SMP претставува еден од најраните модели на повеќебработувачка архитектура, обично користена за градење на помали сметачи со најмногу 8 обработувачи. Поголемите сметачки системи може да користат понови архитектури како што е NUMA, која посветува различни памтилни банки кон различни обработувачи. Во архитектурата на NUMA, обработувачите имаат пристап до локалното памтењето многу побргу отколку до далечинското. Од друга страна, NUMA прави движењето на податоците од еден обработувач на друг да биде многу скапо. Придобивките од NUMA  се ограничени на одредени работни задачи, особени на опслужувачи каде што податоците често се цврсто поврзани со одредени задачи или корисници.

Другите системи вклучуваат асиметрично повеќекратна обработка (ASMP), кое користи различни специјализирани обработувачи за конкретни задачи (што ја зголемува комплексноста), и групирано повеќекратна обработка, во кое некои памтила не се достапни за сите обработувачи.

Примрите на ASMP вклучуваат многу обработувачки чипови во себе, кои се релативно бавни. Високонапонски 3Д чипови во модерните видео-картички можат да се сметаат како форма на асиметрично повеќекратна обработка. Tехниките на групирање се користат прилично опширно за се изградат големи суперсметачи. Во оваа дискусија, еден обработувач се означува како еднократен обработувач (UP).

 Предности и недостатоци 

SMP архитектурата е често застапена во науката, индустријата и во фирми кои често користат специјално програмирана програмска опрема за повеќекратна обработка (т.е. повеќе задачи наеднаш). Сепак, поголем број користени програми како што се word обработувачите и сметачки игри, се правени на начини, со коишто не можат да се здобијат со многу поволности од повеќекратната обработка. За игрите ова важи обично бидејќи, доколку пишуваме програма за зголемување на ефикасноста на SMP системите, може да резултира со намалување на ефикасноста на еднократните обработувачки  системи. Но од неодамна, сепак повеќеобработувачките системи стануваат сè почести кај новите сметачи, и разликата во инсталирани еднојадрени и повеќејадрени сметачи се менува значително во годините што доаѓаат.

Еднообработувачите и SMP системите побаруваат различни програмски методи за да постигнат максимална ефикасност. Затоа две различни верзии од истата програма можеби ќе мора да се досредуваат, по една за секој од системите. Програмите што работат н SMP системите, можат да доживеат зголемување дури и ако се направени за еднообработувачките системи. Ефектот на забрзување во повеќето апликации (игри) и не е многу голем, но добар е фактот што програмата работи непречено. Во некои апликации, особено компајлери и некои дистрибуирани сметачки проекти, ефектот е голем приближно како уште еден дополнителен обработувач.
Во ситуации кога се извршува повеќе од еден програм во исто време. SMP системите ќе имаат значително подобри перформанси од еднократните обработувачи, затоа што различни програми можат да работат на различни обработувачи истовремено.

Системските програмери мораат да вградуваат поддршка за SMP во опреативните системи: инаку, останатите обработувачи остануваат неактивни, па така системот работи како едноратен.

Во случаите каде SMP околината обработува многу задачи, администраторите често доживуваат загуба на машинската ефикасност. Програмската опрема се развиени така, да обработувачкиот потенцијал го достигне својот максимум. Добрите програмски пакети можат да го постигнат овој максимален потенцијал со следење на секој обработувач поодделно.

Пристапот до оперативното памтење (RAM) е сериајлизиран; ова и кеш кохерентноста предизвикуваат перформансите малку да заостануваат зад бројот на дополнителни обработувачи во системот.

 Основен модел на системи 

Пред 2006,  основните модели на опслужувачи и работни станици со два обработувачи доминираа во SMP пазарот. Со воведувањето на дво-јадрените уреди, SMP може да се сретне во повеќето нови десктоп машини и лап топ машини. Најпопуларен основен модел  на SMP  системи  користи x86 инструкциско множество и е вграден во Intel-овиот Xeon, Pentium D, Core Duo, и Core 2 Duo засновани обработувачи или AMD Athlon64, Quad FX Или Opteron 200 и 2000 серии на обработувачи. Опслужувачите ги користат овие и други лесно достапни не-X86 обработувачи, вклучувајќи ги Sum Microsystems Ultra SPARC, Fujitsu SPARC64 III и подоцна, SGI MIPS, Intel Itanium, Hewlett Packard  PA-Risc, Hewlett-Packard , DEC Alpha, IBM POWER и Apple Computer PowrPC обработувачи. Во сите овие случаи овие обработувачи се достапни и како еднократни.

Раните SMP системи користат матични плочи кои имаат две или повеќе CPU отвори. Неодамна микрообработувачките производители, претставија CPU уреди со два или повеќе обработувачи во нив,на пример, Power, UltraSparc, Opteron, Athlon,Core 2, и Xeon сите се повеќејадрени варијанти. Повеќекратните обработувачи Athlon и Core 2 Duo се складни со еднократните обработувачи, затоа скапите матични со двојни отвори не се потребни за да се имплементира основна SMP машина. Исто така треба да се спомене дека двојни socket Opteron дизајни се технички ccNUMA дизајни, иако тие можат да бидат програмирани како SMP за мала загуба во перформанси...

 Среднослојни системи 

Burroughs D825 е првата имплементација на SMP во 1962. Подоцна била имплементрана и на други модели. Средно ниво на опслужувачи кои користат помеѓу четири и осум обработувачи, може да користат Intel Xeon MP, AMD Opteron 800 и 8000  серии и претходно споменатите UltraSPARC, SPARC64, MIPS,Itanium,Pa-RISC,Alpha и POWER обработувачи. Големи системи со Шеснаесет или повеќе обработувачи, се исто така достапни со веќе наведените модели.

Секвентните сметачки системи градат големи SMP машини користејќи Intel 80386 (и подоцна 80486)  обработувачи. Некои помали 80486 ситеми постоеле, но главниот x86 SMP пазар почна со Intel Pentium технологијата, која поддржува до два обработувачи. Intel Pentium Pro проширена SMP поддржува до четири обработувачи. Подоцна, Intel Pentium II, и Intel Pentium III обработувачите дозволиле двојни CPU системи, освен за соодветните Celeroni. Ова е проследено со Intel Pentium II, и Xeon Intel Pentium III Xeon обработувачите кои можат да се користат и со четири обработувачи во систем. Во 2001 AMD  го издаде нивниот Athlon MP, или MultiProcessor CPU, заедно со 760MP матична плоча како нивна прва понуда на пазарот на двојни обработувачи. Иако неколку многу поголеми системи биле изградени, сите биле ограничени од физичкото памтилно адресирање на 64 ГиБ. Со воведувањето на 64-битното адресирање на AMD64 Opteron во 2003 и Intel 64 (EM64T) Xeon во 2005, системите се способни да адресираат многу поголеми количини на памтење; нивни адресни ограничувања на 16 EiB не се очекуваат во догледна иднина.

 Наводи 
1.http://ei.cs.vt.edu/~history/Parallel.html
2.http://ed-thelen.org/comp-hist/BRL64-b.html
3.http://www.lynuxworks.com/rtos/rtos.php
4.http://www.ni.com/realtime/
5.http://www.edm2.com/index.php/OS/2%27s_Symmetrical_Multiprocessing_Demystified
6.http://www.inwap.com/pdp10/paper-smp.txt
7.http://www.linuxfordevices.com/c/a/News/Network-processors-double-performance-run-Linux/
8.http://www.linuxfordevices.com/c/a/News/Massively-multicore-processor-runs-Linux/
9.http://www.linuxfordevices.com/c/a/News/Linuxready-MIPS64-SoCs-jump-to-32-cores/

 Надворешни врски 

History od Multi-processing
practical Parallel programing in Pascal 
Enea OSE 
Linux and Multiprocessing
AMD
Tutorial for Parallel programming 
BMDFM

Повеќекратна обработка
Категорија:Класи на сметачи
Категорија:Напоредна обработка