A gráf-szimbolikus programozási technológia szoftveralgoritmusok tervezésére és kódolására szolgáló technológia, amely a programok grafikus ábrázolásán alapul, azzal a céllal, hogy teljesen vagy részben automatizálja a szoftverek tervezési, kódolási és tesztelési folyamatait .
A Graph -szimbolikus programozási technológia egy grafikus programozási nyelv, amely lehetővé teszi párhuzamos algoritmusok leírását vezérlőgráf segítségével és programkódok automatikus generálását.
A modellt egy négyes képviseli , ahol egy adott témakör adathalmaza, egy tárgyterület adatai felett meghatározott operátorok halmaza, egy tárgyterület adatstruktúráira ható predikátumok halmaza, egy irányított feliratú grafikon. a gráf csúcsainak halmaza. Minden csúcs egy helyi operátorral van felcímkézve . A grafikon egy sor vezérlőívet és egy szinkronizációs ívet tartalmaz . egy reláció csúcsok és ívek halmazain, amely meghatározza azok összekapcsolásának módját. Egy tetszőleges két csúcsot összekötő vezérlőív három címkével rendelkezik: predikátum , prioritás és ívtípus . Minden szinkronizálási ív egy üzenettel van megjelölve .
Az ívtípust olyan függvényként határozzuk meg, amelynek értékei a következő szemantikával rendelkeznek:
A modell működése a kezdeti csúcsot jelölő
operátor végrehajtásával kezdődik . A modell által leírt számítási folyamat fejlődése a vezérlőívek mentén csúcspontból csúcsba való átmenetekhez kapcsolódik. Ebben az esetben az átmenet a vezérlőív mentén csak akkor lehetséges, ha igaz az a predikátum, amellyel meg van jelölve. Ha egy csúcsból kimenő íveket jelölő több predikátum egyidejűleg igazzá válik, akkor az átmenet a legmagasabb prioritású ív mentén történik.
A párhuzamosság leírására bevezetjük a párhuzamos ág fogalmát – egy gráf részgráfját, amely párhuzamos ívvel kezdődik (ennek az ívnek a típusa ) és egy lezáró ívvel végződik (ennek az ívnek a típusa ). , ahol az ágcsúcsok halmaza, az elágazásvezérlő ívek halmaza, az elágazási csúcsok és ívek halmazai közötti reláció, amely meghatározza azok összekapcsolásának módját. A párhuzamos ág csúcsaiból kiinduló ívek is az ághoz tartoznak . A javasolt modell segítségével leírt algoritmus kódolásakor minden párhuzamos ág külön folyamatot generál - szubrutinok sorozatát, amelyeket szekvenciálisan hajtanak végre a párhuzamos számítási rendszer egyik processzorán. A grafikus modell általában több párhuzamos ágat tartalmaz, amelyek mindegyike külön folyamatot alkot. Ebben az értelemben a párhuzamos számítási modell több párhuzamos ág uniójaként is ábrázolható. Így a számítások párhuzamosítása csak a gráfmodell szintjén lehetséges. A számításokat bármely szereplőn belül egymás után hajtják végre.
Az objektumok - aggregátumok - GSP technológiájában a számítások szervezésére szolgáló monitorsémát használnak. A módszer a számítási folyamat központi vezérlésén alapul, amelyet egy speciális program - egy gráfgép - hajt végre.
A gráfgép univerzális minden algoritmushoz. A gráfgép kezdeti információja a fent leírt számítási folyamatvezérlő gráf modellje. A modell elemzése során a megfelelő sorrendben végrehajtja a szereplőket és aggregátumokat, kiértékeli a predikátumértékeket és kezeli az időzítést. Minden párhuzamos ághoz a gráfgép egy példánya indul el, ami külön folyamat a számítási rendszerben.
A GSP technológia szabványt használ a modulok közötti információs interfész megszervezésére. A szabványt hét alapszabály megvalósítása biztosítja:
A programvégrehajtási környezet kiválasztja azt a gépet, amelyen a globális POP-változók tárolásáért felelős folyamat elindul. Tekintettel a CS hardveres jellemzőire és topológiájára, ez lehet a legnagyobb RAM-mal rendelkező csomópont vagy a központi csomópont, amely a fürt többi csomópontjától a minimális hozzáférési idővel rendelkezik. Ennek a megközelítésnek az az előnye, hogy a számítási csomópontokon lévő memóriaerőforrás jelentősen megtakarítható, mivel a memória csak a használt változók számára van lefoglalva a csomópontokon.
Az adattárolás és a párhuzamos folyamatok közötti csere megszervezésének bemutatott ötlete az üzenettovábbítási modellre irányul, amelyben minden folyamat helyi adatokkal dolgozik. Például az MPI szabvány azt jelenti, hogy az adatcserét csak az üzenet formájában történő elküldés eredményeként dolgozza fel.
Az adatcsere ismertetett módja megköveteli az adatkezelő fogalmának bevezetését - egy olyan szubrutint, amely a tartományi adatok tárolásának, olvasásának és módosításának funkcióit látja el.
Az adatkezelő a párhuzamos program külön folyamatában valósul meg. A gráfmodell párhuzamos ágaiban bizonyos adatok olvasásához vagy írásához a memóriakezelőt üzenetkészlettel lehet elérni. Az első üzenet egy adott adat olvasására vagy írására vonatkozó kérést küld. A POP-ból minden változó egyedi számot kap, amely alapján a memóriakezelő azonosítani tudja. Olvasás esetén a párhuzamos elágazás az adatkezelő válaszára vár. Íráskor a második üzenet elküldi a változó új értékét. Az adatkezelő körkérdésben fogadja és feldolgozza a párhuzamos ágaktól érkező kéréseket.