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

Од Википедија, слободната енциклопедија
Прејди на: содржини, барај

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

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

Алтернативи[уреди]

Шематски приказ на типичен систем за симетрична повеќекратна обработка. На еден памтилен модул се поврзани три обработувачи (ЦОЕ) со системска магистрала или накрсна спојка.

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/

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