Massivt parallell processoruppsättning
En massivt parallell processor array , även känd som en multi purpose processor array ( MPPA ) är en typ av integrerad krets som har en massivt parallell array av hundratals eller tusentals processorer och RAM- minnen. Dessa processorer överför arbete till varandra genom en omkonfigurerbar sammankoppling av kanaler . Genom att utnyttja ett stort antal processorer som arbetar parallellt kan ett MPPA-chip utföra mer krävande uppgifter än konventionella chips. MPPA är baserade på en parallell programmeringsmodell för mjukvara för utveckling av högpresterande inbyggda systemapplikationer .
Arkitektur
MPPA är en MIMD- arkitektur (Multiple Instruction streams, Multiple Data), med distribuerat minne som nås lokalt, inte delas globalt. Varje processor är strikt inkapslad och har endast tillgång till sin egen kod och minne. Punkt-till-punkt-kommunikation mellan processorer realiseras direkt i den konfigurerbara sammankopplingen.
MPPA:s massiva parallellitet och dess MIMD-arkitektur för distribuerat minne skiljer den från multicore- och manycore -arkitekturer, som har färre processorer och en SMP eller annan delad minnesarkitektur , huvudsakligen avsedd för allmänt bruk. Det skiljer sig också från GPGPU:er med SIMD -arkitekturer, som används för HPC -applikationer.
Programmering
En MPPA-applikation utvecklas genom att uttrycka den som ett hierarkiskt blockschema eller arbetsflöde , vars grundläggande objekt körs parallellt, var och en på sin egen processor. På samma sätt kan stora dataobjekt brytas upp och distribueras till lokala minnen med parallell åtkomst. Objekt kommunicerar över en parallell struktur av dedikerade kanaler. Målet är att maximera den sammanlagda genomströmningen samtidigt som lokal latens minimeras, prestanda och effektivitet optimeras. En MPPA:s beräkningsmodell liknar ett Kahn-processnätverk eller kommunicerande sekventiella processer (CSP).
Ansökningar
MPPA:er används i högpresterande inbyggda system och hårdvaruacceleration av stationära datorer och serverapplikationer , såsom videokomprimering , bildbehandling , medicinsk bildbehandling , nätverksbehandling , mjukvarudefinierad radio och andra datorintensiva strömmande mediaapplikationer, som annars skulle använda FPGA- , DSP- och/eller ASIC- chips.
Exempel
MPPA som utvecklats i företag inkluderar sådana som designats hos: Ambric , PicoChip , Intel , IntellaSys, GreenArrays, ASOCS , Tilera , Kalray , Coherent Logix, Tabula och Adapteva . Aspex (Ericsson) Linedancer skiljer sig genom att det var en Massive wide SIMD Array snarare än en MPPA. Strängt taget kan det kvalificera sig som SIMT på grund av att alla 4096 av de 3 000 gate-kärnorna har sitt eget innehållsadresserbara minne.
Tillverkade MPPA som utvecklats vid universitet inkluderar: 36-kärniga och 167-kärniga Asynchronous Array of Simple Processors (AsAP) -arrayer från University of California, Davis , 16-core RAW från MIT , och 16-core och 24-core arrays från Fudan University .
Det kinesiska Sunway -projektet utvecklade sitt eget 260-kärniga SW26010 -manycore-chip för TaihuLight -superdatorn, som från och med 2016 är världens snabbaste superdator.
Anton 3-processorer, designade av DE Shaw Research för simuleringar av molekylär dynamik , innehåller arrayer av 576 processorer arrangerade i ett 12×24 sida vid sida med par av kärnor; ett dirigerat nätverk länkar samman dessa brickor och sträcker sig off-chip till andra noder i ett komplett system.