Kontentke ótiw

Bólistirilgen global adres keńisligi

Wikipedia — erkin enciklopediya

Kompyuter iliminde, bólistirilgen global adres keńisligi (PGAS) — bul parallel programmalastırıw modeli paradigması. PGAS logikalıq túrde bólingen, hárbir process, aǵım yamasa qayta islew elementi ushın bir bólegi lokal bolǵan global yad adres keńisligi abstrakciyasın óz ishine alǵan baylanıs operaciyaları menen xarakterlenedi[1][2]. PGAS-tıń jańalıǵı — bólisilgen yad keńisliginiń bólimleri belgili bir processke jaqın bolıwı múmkin, solay etip ónimlilikti jaqsılaw ushın jergilikli siltemelerden qollanadı. PGAS yad modeli hár túrli parallel programmalastırıw tilleri menen kitapxanalarında usınıladı, sonıń ishinde: Coarray Fortran, Unified Parallel C, Split-C, Fortress, Chapel, X10, UPC++, Coarray C++, Global Arrays, DASH hám SHMEM. PGAS paradigması házirgi waqıtta coarray-lerdi standartlastırǵan Fortran 2008-den baslap, Fortran tiliniń integraciyalanǵan bir bólimi bolıp tabıladı.

PGAS yad modelin usınatuǵın hár túrli tiller hám kitapxanalar basqa detallarda, mısalı, tiykarǵı programmalastırıw tili hám parallellikti ańlatıw ushın qollanılatuǵın mexanizmler boyınsha keń ayırmashılıq etedi. Kóp PGAS sistemaları bólistirilgen yad sistemaları ushın SPMD programmalastırıw stiliniń artıqmashılıqların (MPI tárepinen qollanılatuǵınday) bólisilgen yad sistemalarınıń maǵlıwmatlarǵa silteme beriw semantikası menen biriktiredi. Xabar almasıwdan ayırmashılıǵı, PGAS programmalastırıw modelleri kóbinese Aralıq Yadqa Kiriw (RMA) sıyaqlı bir tárepleme baylanıs operaciyaların usınadı, bunda bir qayta islew elementi passiv maqsetli processtiń anıq semantikalıq qatnasıwısız, basqa (potencial túrde aralıq) processke jaqın yadqa tikkeley kire aladı. PGAS tegis adres keńisligi bar dástúrli bólisilgen yad usıllarına qaraǵanda kóbirek nátiyjelilik hám keńeytiw imkaniyatın usınadı, sebebi apparatlıq támiynatqa tán maǵlıwmat lokallıǵı adres keńisliginiń semantikalıq bólistiriliwinde anıq kórsetiliwi múmkin.

PGAS paradigmasınıń bir variantı, asinxron bólistirilgen global adres keńisligi (APGAS), programmalastırıw modelin jergilikli hám aralıq asinxron wazıypalardı jaratıw ushın qurallar menen tolıqtıradı[3]. Bul modeldi qollanatuǵın eki programmalastırıw tili — Chapel hám X10.

Mısallar

  • Coarray Fortran házirgi waqıtta Fortran 2008 den baslap tildiń bir bólimi retinde integraciyalanǵan[4]
  • Unified Parallel C — bul ISO C programmalastırıw tiliniń anıq parallel SPMD dialekti
  • Chapel — bul DARPA HPCS proekti sheńberinde dáslep Cray tárepinen islep shıǵılǵan parallel til
  • UPC++ — bul PGAS baylanıs operaciyaların usınatuǵın C++ shablon kitapxanası bolıp, ekzamasshtablı superkompyuterlerde joqarı ónimli esaplawlardı qollap-quwatlaw ushın proektlestirilgen, sonıń ishinde Aralıq Yadqa Kiriw (RMA) hám Aralıq Procedura Shaqırıwı (RPC)
  • Coarray C++ — bul Cray tárepinen islep shıǵılǵan C++ kitapxanası bolıp, Fortran coarray funkcional imkaniyatlarına jaqın analog usınadı
  • Global Arrays — bólistirilgen massivlerde parallel ilimiy esaplawlardı qollap-quwatlaytuǵın kitapxana
  • DASH — ierarxiyalıq lokallıqtı qollap-quwatlaytuǵın bólistirilgen maǵlıwmatlar strukturaları ushın C++ shablon kitapxanası
  • SHMEM — bólistirilgen massivlerde parallel ilimiy esaplawlardı qollap-quwatlaytuǵın kitapxanalar shańaraǵı
  • X10 — bul DARPA HPCS proekti sheńberinde IBM tárepinen islep shıǵılǵan parallel til
  • Fortress — bul DARPA HPCS proekti sheńberinde Sun Microsystems tárepinen islep shıǵılǵan parallel til
  • Titanium — bul Berkli Kaliforniya universitetinde islep shıǵılǵan Javanıń anıq parallel dialekti bolıp, úlken kólemli kóp processorlarda ilimiy joqarı ónimli esaplawlardı qollap-quwatlaw ushın arnalǵan
  • Split-C — bul C programmalastırıw tiliniń global adres keńisligine nátiyjeli kiriwdi qollap-quwatlaytuǵın parallel keńeytpesi
  • Adapteva Epiphany arxitekturası — bul yadrolar arasında adreslenetuǵın waqıtsha yadqa iye kóp yadrolı chip ústindegi tarmaq processorı

Derekler

  1. Almasi, George. "PGAS (Partitioned Global Address Space) Languages.", Encyclopedia of Parallel Computing, Springer, (2011): 1539-1545. https://doi.org/10.1007/978-0-387-09766-4_210
  2. Cristian Coarfă; Yuri Dotsenko; John Mellor-Crummey, "An Evaluation of Global Address Space Languages: Co-Array Fortran and Unified Parallel C"
  3. Tim Stitt, "An Introduction to the Partitioned Global Address Space (PGAS) Programming Model"
  4. GCC wiki, Coarray support in gfortran as specified in the Fortran 2008 standard