AMP tai ASMP (englanniksi: Asymmetric multiprocessing , venäjäksi: Asymmetric multiprocessing tai Asymmetric multiprocessing ) on eräänlainen moniprosessorinen tietokonejärjestelmäarkkitehtuuri, jota käytettiin ennen symmetrisen monikäsittelytekniikan (SMP) luomista. Käytetään myös halvempana vaihtoehtona SMP:tä tukevissa järjestelmissä.
Järjestelmässä, jossa on epäsymmetrinen moniprosessointi, kaikilla prosessoreilla ei ole samaa roolia. Esimerkiksi järjestelmä voi käyttää (joko laitteisto- tai käyttöjärjestelmätasolla) vain yhtä prosessoria käyttöjärjestelmäkoodin suorittamiseen tai määrittää vain yhden prosessorin suorittamaan I/O-toimintoja. Muissa AMP-järjestelmissä kaikki prosessorit voivat suorittaa käyttöjärjestelmän koodia ja I/O-operaatioita, joten tältä puolelta ne käyttäytyvät symmetrisen moniprosessorijärjestelmän tavoin, mutta tietyt oheislaitteet voidaan kytkeä vain yhteen prosessoriin, joten tämän kanssa työskentelyn puolelta järjestelmä näyttää epäsymmetriseltä laitteiston kanssa.
1960- ja 1970-luvuilla voit lisätä tietokoneen prosessointitehoa yksinkertaisesti lisäämällä siihen toinen prosessori. Toisen samanlaisen prosessorin lisääminen oli halvempaa kuin uuden, kaksi kertaa nopeamman tietokoneen ostaminen. Lisäksi pelkkä toisen prosessorin lisääminen oli kannattavampaa kuin toisen kokonaisen tietokoneen ostaminen, mikä vaati erillisen tietokonehuoneen, lisäoheislaitteita ja huoltohenkilöstöä.
Ensimmäiset järjestelmät, joihin voitiin lisätä toinen prosessori, olivat Burroughsin B5000, DECsystem-1055 ja IBM System/360 malli 65MP. Lisäksi jotkin yliopistot ovat rakentaneet kokeellisia tietokoneita, joissa on kaksi prosessoria [1] .
Prosessorin lisäämisen ongelmana oli kuitenkin se, että tuon ajan käyttöjärjestelmät oli suunniteltu vain yhden prosessorin tietokoneille, ja muutosten tekeminen kahden prosessorin luotettavaksi tukemiseksi oli aikaa vievää. Tämän vaikeuden kiertämiseksi yhtä prosessoria tukevia käyttöjärjestelmiä muutettiin vain vähän, jotta toiselle prosessorille olisi mahdollisimman vähän tukea. "Minimaalinen tuki" tarkoitti, että käyttöjärjestelmä toimi "käynnistysprosessorilla" (käynnistysprosessori) ja vain käyttäjäohjelmat suoritettiin toisessa prosessorissa. Esimerkiksi Burroughs B5000:ssa toisella prosessorilla ei ollut kykyä suorittaa "ohjauskoodia" laitteistossa [2] .
Muissa järjestelmissä käyttöjärjestelmä saattoi toimia millä tahansa prosessorilla, mutta joko kaikki oheislaitteet oli liitetty vain yhteen prosessoriin tai vain tiettyjä oheislaitteita voitiin käyttää kunkin prosessorin kautta.
Burroughs B5000 [2] voisi valinnaisesti lisätä "prosessorin B". Tällä toisella prosessorilla, toisin kuin "Prosessorilla A", ei ollut pääsyä oheislaitteisiin, mutta molemmilla prosessoreilla oli pääsy jaettuun muistiin. Käyttöjärjestelmä toimi vain prosessorilla A ja käyttäjätehtävä suorittimella B. Kun käyttäjätehtävä tarvitsi pääsyn käyttöjärjestelmän toimintoihin, prosessori B antoi järjestelmäkutsun prosessorin A käyttöjärjestelmäkoodille, pysähtyi ja odotti käyttöjärjestelmäkoodia prosessoimaan järjestelmäpuhelun ja vasta saatuaan järjestelmäkutsun käsittelyn tuloksen, jatkoi työtä. [3] .
Control Data Corporation tarjosi kaksi versiota "CDC 6000 -sarjasta", jossa oli kaksi prosessoria: CDC 6500 [4] kaksiprosessorinen CDC 6400 ja CDC 6700, joka oli CDC 6600 -supertietokone, johon oli lisätty CDC 6400 -prosessori. .
Nämä järjestelmät rakennettiin hieman eri tavalla kuin muut tässä artikkelissa mainitut moniprosessorijärjestelmät. Tässä käyttöjärjestelmä toimi vain oheisprosessoreissa, ja käyttäjän tehtävä toimi keskusprosessoreissa. Joten nämä järjestelmät eivät voi de facto olla AMP - järjestelmiä eivätkä SMP - järjestelmiä .
Digital Equipment Corporation (DEC) tarjosi asiakkailleen DECsystem-1050-tietokoneensa version kahdella KA10-prosessorilla [5] [6] . Sitten sama vaihtoehto oli läsnä PDP-10-tietokonesarjassa.
Digital Equipment Corporation kehitti, mutta ei koskaan tuonut markkinoille, moniprosessoriversion PDP-11- tietokoneesta , PDP-11/74 [7] , joka käytti moniprosessoriversiota RSX-11M- käyttöjärjestelmästä [8] . Tässä järjestelmässä mikä tahansa prosessori pystyi suorittamaan käyttöjärjestelmän koodia ja suorittamaan I / O:n, mutta kaikki oheislaitteet eivät olleet jokaisen prosessorin käytettävissä - suurin osa oheislaitteista oli liitetty vain yhteen prosessoriin, joten prosessori ilman oheislaitteita toimisi. mikä tahansa laitteen prosessori-naapuri, joka on lähetettävä erityispyyntö [8] .
DEC:n ensimmäinen VAX - moniprosessoritietokone , VAX-11/782, oli epäsymmetrinen. (Vain ensimmäisellä prosessorilla oli pääsy I/O-laitteisiin [9] .)
Univac 1108-II -tietokoneeseen ja sen myöhempiin muunnelmiin voitiin asentaa jopa kolme prosessoria [10] [11] . Näissä tietokoneissa käytettiin UNIVAC EXEC 8 -käyttöjärjestelmää, mutta saatavilla olevasta dokumentaatiosta ei käy selväksi, missä määrin käyttöjärjestelmä tuki epäsymmetristä tai symmetristä moniprosessointia.
Toisen prosessorin lisäämistä IBM System/370 -malliin 168 tarjottiin kahdella tavalla [12] . Ensimmäinen tarjottiin erityisen moduulin IBM 3062 Attached Processing Unit muodossa, jossa prosessorilla ei ollut pääsyä I/O-kanaviin ja siksi se toimi samalla tavalla, kuten "Prosessori B" Burroughs B5000 -tietokoneessa, tai toisena prosessorina DEC VAX-11/782:ssa. Toisessa vaihtoehdossa piti liittää täysimittainen prosessori, joka oli samanlainen kuin edellisen System / 360 -linjan 65 megapikselin malli .
Marraskuussa 1989 Compaq ilmoitti julkaisevansa ensimmäisen Compaq SystemPro x86 -moniprosessoripalvelimen , jossa on kaksi 33 MHz Intel 80386 -suoritinta [13] . Myöhemmät mallit julkaistiin Intel 80486 -prosessorilla, kun se tuli markkinoille. Compaq SystemPro oli epäsymmetrinen moniprosessorijärjestelmä - laajennuskortille asennettiin toinen prosessori tavallisen lisäksi ja suoritti vain käyttäjäohjelmia, kun taas ensimmäinen prosessori käsitteli keskeytyksiä, järjestelmäkutsuja ja latasi käyttöjärjestelmän. Tämä mahdollisti eri prosessorien käytön yhdessä järjestelmässä, esimerkiksi Intel 486:n lisäämisen laajennuslevyn ensimmäiseen Intel 386:een ja päinvastoin.
Tuohon aikaan vain Novell NetWare , Microsoft LAN Manager ja SCO UNIX/386 [14] käyttöjärjestelmät tukivat moniprosessointia x86-arkkitehtuurissa .
Kaikista SystemPro-sarjan malleista vain myöhempi malli, SystemPro XL, tarjottiin tavallisella symmetrisellä moniprosessorivalmiudella, kunnes se korvattiin Compaq ProLiant -sarjalla SMP-palvelimilla syksyllä 1993 .