Graf-symbolsk programmeringsteknologi er en teknologi til design og kodning af softwarealgoritmer baseret på en grafisk repræsentation af programmer, med det formål helt eller delvist at automatisere processerne for design, kodning og test af software .
Graf -symbolsk programmeringsteknologi er et grafisk programmeringssprog , der gør det muligt at beskrive parallelle algoritmer ved hjælp af en kontrolgraf og generere programkoder automatisk.
Modellen er repræsenteret af en firedobbelt , hvor er et sæt data for et bestemt emneområde, er et sæt operatører defineret over data for et emneområde, er et sæt prædikater, der virker på datastrukturer i et emneområde, er en rettet mærket graf. er sættet af grafens toppunkter. Hvert vertex er mærket med en lokal operator . Grafen har et sæt kontrolbuer og et sæt synkroniseringsbuer . er en relation over sæt af hjørner og buer, der bestemmer den måde, de er forbundet på. En kontrolbue, der forbinder to vilkårlige spidser og har tre etiketter: prædikat , prioritet og buetype . Hver synkroniseringsbue er markeret med en meddelelse .
En buetype er defineret som en funktion, hvis værdier har følgende semantik:
Modellens funktion begynder med udførelsen af en operator , der markerer det indledende toppunkt . Udviklingen af beregningsprocessen beskrevet af modellen er forbundet med overgange fra toppunkt til toppunkt langs kontrolbuer. I dette tilfælde er overgangen langs kontrolbuen kun mulig, hvis prædikatet, som det er markeret med, er sandt. Hvis flere prædikater, der markerer buer, der udgår fra et toppunkt, bliver sande på samme tid, udføres overgangen langs den højest prioriterede bue.
For at beskrive parallelitet introduceres begrebet en parallel gren - en undergraf af en graf , der begynder med en parallel bue (typen af denne bue er ) og slutter med en afsluttende bue (typen af denne bue er ). , hvor er sættet af grenspidser, er sættet af grenkontrolbuer, er forholdet over sættene af grenhjørner og buer, der bestemmer den måde, de er forbundet på. De buer, der udgår fra hjørnerne af den parallelle gren , hører også til grenen . Ved kodning af den beskrevne algoritme ved hjælp af den foreslåede model, genererer hver parallel gren en separat proces - et sæt subrutiner, der udføres sekventielt på en af processorerne i det parallelle computersystem. Den grafiske model indeholder normalt flere parallelle grene, som hver danner en separat proces. I denne forstand kan den parallelle beregningsmodel repræsenteres som en forening af flere parallelle grene. Parallelisering af beregninger er således kun mulig på grafmodelniveau. Beregninger inden for enhver aktør udføres sekventielt.
I GSP-teknologien til objekter - aggregater - bruges et monitorskema til organisering af beregninger. Metoden er baseret på centraliseret styring af computerprocessen, udført af et særligt program - en grafmaskine.
Grafmaskinen er universel til enhver algoritme. Den indledende information for grafmaskinen er modellen af den beregningsmæssige processtyringsgraf beskrevet ovenfor. Når den analyserer modellen, udfører den aktører og aggregater i den passende rækkefølge, evaluerer prædikatværdier og styrer timing. For hver parallel gren lanceres en kopi af grafmaskinen, som er en separat proces i regnesystemet.
GSP-teknologien bruger en standard til at organisere en inter-modul informationsgrænseflade. Standarden er sikret ved implementering af syv grundlæggende regler:
Programudførelsesmiljøet vælger den maskine, hvorpå den proces, der er ansvarlig for lagring af de globale POP-variabler, skal startes. I betragtning af CS'ens hardwarefunktioner og topologi kan dette være den node med den største mængde RAM eller den centrale node, som har den minimale adgangstid fra nogen af de andre noder i klyngen. Fordelen ved denne fremgangsmåde er, at hukommelsesressourcen på computerknudepunkter er betydeligt sparet, da hukommelse kun er allokeret til knudepunkter for de variabler, der bruges.
Den præsenterede idé om at organisere datalagring og udveksling mellem parallelle processer er orienteret mod meddelelsesoverførselsmodellen, hvor hver proces arbejder med lokale data. For eksempel indebærer MPI-standarden, at processer kun udveksler data som et resultat af at sende dem i form af meddelelser.
Den beskrevne metode til dataudveksling kræver introduktionen af konceptet med en datamanager - en underrutine, der udfører funktionerne med at lagre, læse og ændre domænedata.
Datamanageren udføres i en separat proces af parallelprogrammet. I parallelle grene af grafmodellen, for at læse eller skrive nogle data, tilgås hukommelseshåndteringen ved hjælp af et sæt meddelelser. Den første besked sender en anmodning om at læse eller skrive en bestemt data. Hver variabel fra POP'en modtager et unikt nummer, som hukommelsesadministratoren kan identificere den med. I tilfælde af en læsning fortsætter den parallelle gren med at vente på et svar fra dataadministratoren. Når du skriver, sender den anden besked den nye værdi af variablen. Datamanageren round-robin modtager og behandler anmodninger fra parallelle filialer.