Az AMP vagy ASMP (angolul: Asymmetric multiprocessing , oroszul: Asymmetric multiprocessing vagy Asymmetric multiprocessing ) a többprocesszoros számítógépes rendszerarchitektúra egy olyan típusa, amelyet a szimmetrikus többfeldolgozási (SMP) technológia létrehozása előtt használtak. Olcsóbb alternatívaként is használható az SMP-t támogató rendszereken.
Az aszimmetrikus többfeldolgozó rendszerben nem minden processzor tölti be ugyanazt a szerepet. Például egy rendszer használhat (akár hardver, akár operációs rendszer szintjén) csak egy processzort az operációs rendszer kódjának végrehajtásához, vagy csak egy processzort rendelhet hozzá az I/O műveletek végrehajtásához. Más AMP rendszerekben minden processzor képes operációs rendszer kódot és I/O műveleteket végrehajtani, így innen nézve szimmetrikus többprocesszoros rendszerként viselkedik, de bizonyos perifériák csak egy processzorhoz köthetők, így az ezzel való munka oldaláról a rendszer aszimmetrikusnak tűnik a hardverrel.
Az 1960-as és 1970-es években egyszerűen növelhette a számítógép feldolgozási teljesítményét, ha egy másik processzort ad hozzá. Egy másik azonos processzor hozzáadása olcsóbb volt, mint egy új, kétszer gyorsabb számítógép vásárlása. Ezenkívül egy másik processzor egyszerű hozzáadása jövedelmezőbb volt, mint egy második teljes számítógép vásárlása, amelyhez külön számítógépteremre, további perifériákra és karbantartó személyzetre volt szükség.
Az első rendszerek, amelyekhez egy második processzort lehetett hozzáadni, a Burroughs B5000, a DECsystem-1055 és az IBM System/360 65MP modell volt. Emellett néhány egyetem kísérleti számítógépeket is épített két processzorral [1] .
A processzor hozzáadásával azonban az volt a probléma, hogy az akkori operációs rendszereket csak egyprocesszoros számítógépekhez tervezték, és a két processzor megbízható támogatását célzó változtatások végrehajtása időigényes volt. A probléma elkerülése érdekében az egy processzort támogató operációs rendszereket csak kis mértékben módosították, hogy minimális támogatást biztosítsanak a második processzornak. A "minimális támogatás" azt jelentette, hogy az operációs rendszer a "boot processzoron" (boot processor) futott, és csak a felhasználói programok futottak a második processzoron. Például a Burroughs B5000-ben a második processzor nem volt képes "vezérlőkódot" végrehajtani hardverben [2] .
Más rendszerekben az operációs rendszer bármelyik processzoron futhatott, de vagy az összes periféria csak egy processzorhoz volt csatlakoztatva, vagy csak bizonyos perifériákat lehetett elérni az egyes processzorokon keresztül.
A Burroughs B5000 [2] opcionálisan hozzáadhat egy "B processzort". Ez a második processzor az "A processzorral" ellentétben nem férhetett hozzá a perifériákhoz, de mindkét processzor hozzáfért a megosztott memóriához. Az operációs rendszer csak az A processzoron futott, a felhasználói feladat pedig a B processzoron. Amikor a felhasználói feladatnak hozzá kellett férnie az operációs rendszer funkcióihoz, a B processzor rendszerhívást bocsátott ki az A processzoron lévő operációs rendszer kódjára, megállt és megvárta az operációs rendszer kódját a rendszerhívás feldolgozására, és csak miután megkapta a rendszerhívás feldolgozási eredményét, folytatta a munkát. [3] .
A Control Data Corporation két változatot kínált a "CDC 6000 sorozatból", amely két processzorral rendelkezett: a CDC 6500 [4] kétprocesszoros CDC 6400 és a CDC 6700, amely egy CDC 6600 szuperszámítógép volt CDC 6400 processzorral. .
Ezek a rendszerek némileg eltérnek a cikkben említett többi többprocesszoros rendszertől. Az operációs rendszer itt csak perifériás processzorokon működött, a felhasználói feladat pedig a központi processzorokon. Tehát ezek a rendszerek de facto nem lehetnek sem AMP, sem SMP rendszerek .
A Digital Equipment Corporation (DEC) felajánlotta a vásárlóknak a DECsystem-1050 számítógépük két KA10 processzorral szerelt változatát [5] [6] . Aztán ugyanez a lehetőség jelen volt a PDP-10 számítógépsorban.
A Digital Equipment Corporation kifejlesztette, de soha nem hozta forgalomba a PDP-11 számítógép többprocesszoros változatát , a PDP-11/74- et [7] , amely az RSX-11M operációs rendszer többprocesszoros változatát futtatta [8] . Ebben a rendszerben bármelyik processzor képes volt végrehajtani az operációs rendszer kódját és végrehajtani az I/O-t, de nem minden periféria volt elérhető az egyes processzorok számára – a legtöbb periféria csak egy processzorhoz volt csatlakoztatva, így a periféria nélküli processzorral dolgozhat. bármely eszköz processzora-szomszédnak külön kérést kell küldenie [8] .
A DEC első VAX többprocesszoros számítógépe , a VAX-11/782 aszimmetrikus volt. (Csak az első processzor férhetett hozzá az I/O eszközökhöz [9] .)
Az Univac 1108-II számítógépbe és későbbi változataiba legfeljebb három processzort lehetett telepíteni [10] [11] . Ezeken a számítógépeken UNIVAC EXEC 8 operációs rendszer futott, de a rendelkezésre álló dokumentációból nem derül ki, hogy az operációs rendszer mennyiben támogatta az aszimmetrikus vagy szimmetrikus többfeldolgozást.
Az IBM System/370 168 -as modellhez egy második processzor hozzáadását kétféleképpen kínálták [12] . Az elsőt egy speciális modul, IBM 3062 Attached Processing Unit formájában kínálták, amelyben a processzor nem férhetett hozzá az I/O csatornákhoz, és ezért hasonló módon működött, mint a "B processzor" a Burroughs B5000 számítógépben, ill. második processzorként a DEC VAX-11/782-ben. A második lehetőségben egy teljes értékű processzort kellett volna csatlakoztatni, amely hasonló volt az előző System / 360 sorozat 65 MP-es modelljéhez .
1989 novemberében a Compaq bejelentette az első Compaq SystemPro x86 többprocesszoros szerver kiadását két 33 MHz-es Intel 80386 processzorral [13] . A későbbi modelleket Intel 80486 processzorral adták ki, amikor piacra került. A Compaq SystemPro egy aszimmetrikus többprocesszoros rendszer volt - a második processzort a bővítőkártyára telepítették a szokásos mellett, és csak felhasználói programokat futtatott, míg az első processzor kezelte a megszakításokat, a rendszerhívásokat és az operációs rendszert. Ez lehetővé tette különböző processzorok használatát egy rendszerben, például egy Intel 486 hozzáadását az első Intel 386-hoz egy bővítőkártyán és fordítva.
Abban az időben csak a Novell NetWare , a Microsoft LAN Manager és az SCO UNIX/386 [14] operációs rendszerek támogatták a többfeldolgozást az x86 architektúrán .
A SystemPro termékcsalád összes modellje közül csak a későbbi modellt, a SystemPro XL-t kínálták szabványos szimmetrikus többprocesszoros képességgel egészen addig, amíg 1993 őszén fel nem váltotta a Compaq ProLiant SMP szerverek sorával .