53 VPLIV NAČINA ČASOVNE RAZVRSTITVE IZVAJANJA INFORMATICA 4/92 MODULOV ALGORITMA NA POSPEŠITEV PORAZDELJENEGA SISTEMA ZA PROCESNO VODENJE Vladimir Jovan Center za tehnologijo vodenja sistemov Odsek za računalniško avtomatizacijo Keywords: industrial process control, distributed in regulacije control system, scheduling, speedup Institut Jožef Stefan, Ljubljana Pomembna značilnost računalniških sistemov procesnega vodenja je zahteva po delovanju sistema v realnem času. Načrtovalec lahko temu pogoju zadosti z določitvijo ustrezne arhitekture strojne opreme, v primeru uporabe večračunalniškega sistema pa tudi z izbiro pravilnega zaporedja izvajanja posameznih modulov implementiranega algoritma. V članku opisujemo postopek in rezultate raziskave vpliva načina časovne razvrstitve izvajanja modulov na trajanje cikla algoritma pri porazdeljenem sistemu vodenja poljubnega industrijskega procesa. INFLUENCE OF TIME SCHEDULING ON SPEEDUP IN A DISTRIBUTED PROCESS CONTROL SYSTEM. The important characteristic of computer process control systems is the capability to run in real-time. This condition can be fulfilled by proper hardware and software design and in case of multicomputer system also by appropriate time scheduling of implemented control algorithm's modules execution. The article describes the procedure and the results of the research which was realized to determine the contribution of proper program module scheduling to the speedup in an industrial distributed control system. 1. UVOD Naloga računalniškega sistema vodenja industrijskega procesa se je v zadnjih letih bistveno spremenila; iz pasivnega prikazovalca trenutnega stanja vodenega procesa in zapisovalca posameznih dogodkov v procesu se ležišče nalog sistema vodenja usmerja predvsem k aktivnemu izvajanju različnih nalog vodenja, samostojnemu odločanju v primeru kritičnih situacij, prilagajanju načina vodenja trenutnim razmeram in doseganju optimalnega režima obratovanja vodenega procesa. V mnogih primerih nekateri razlogi, kakor so narava tehnološkega procesa, fizične razdalje med posameznimi objekti vodenja, zahteve po visoki stopnji zanesljivosti in avtonomnosti delovanja sistema za vodenje, narekujejo uporabo porazdeljenega računalniškega sistema. Zmogljivost enoračunalniškega sistema vodenja je določena z njegovimi - tehničnimi značilnostmi (hitrost izvajanja, kapaciteta pomnilnika, itd) in sistem vodenja je operativen le, če implementirani algoritem ne presega časovnih in prostorskih omejitev. Pri porazdeljenem sistemu pa imamo možnost, da prostorske omejitve premostimo z dodajanjem novih procesnih enot v sistem. Časovnim omejitvam zadostimo s sočasnostjo izvajanja modulov algoritma, ki jih porazdelimo med posamezne procesne enote sistema vodenja. Sočasnost izvajanja posameznih modulov algoritma vodenja na porazdeljenem računalniškem sistemu pospeši (angl. speedup) izvajanje algoritma, kar daje načrtovalcu sistema vodenja možnost, da z izbiro ustreznega števila procesnih enot zagotovi izvajanje algoritma v realnem času. Pospešitev izvajanja algoritma vodenja je (ob zanemarjanju tehnoloških značilnosti sistema) odvisna predvsem od števila uporabljenih procesnih enot in od strukture algoritma (od vsebovane vzporednosti). Znano je, da na stopnjo pospešitve vplivata tudi zaporedje (časovna razvrstitev) izvajanja modulov algoritma in način razmestitve posameznih modulov med procesnimi enotami računalniškega sistema. Stopnjo vpliva razvrstitve na čas izvajanja algoritma kvantitativno definira Grahamov teorem /QUIN87/, ki zagotavlja, da je razmerje časov izvajanja v primeru najslabše oziroma najboljše razvrstitve ob upoštevanju načela kontinuitete izvajanja, manjše od 2 (.načelo kontinuitete izvajanja: modul, ki je pripravljen za izvajanje, se začne izvajati takoj, ko se v sistemu pojavi prosta procesna enota /EAGE89/). Ker omenjeni teorem določa le zgornjo mejo vpliva razvrstitve in ker imamo z ustrezno razvrstitvijo možnost povečanja učinkovitosti porazdeljenega računalniškega sistema oziroma prihranka na številu uporabljenih procesnih enot v sistemu, smo se 54 odločili za analizo, ki naj bi podala dejanski vpliv razvrstitve na pospešitev pri porazdeljenih računalniških sistemih za vodenje (industrijskih) procesov. V ta namen smo programsko opremo, ki predstavlja algoritem vodenja, predstavili z modelom v obliki usmerjenega acikličnega grafa. Na osnovi večjega števila grafov (testne množice) s strukturo, značilno za algoritme vodenja industrijskih procesov, smo določili dejanski vpliv načina razvrstitve na stopnjo pospešitve pri algoritmih za procesno vodenje in si s tem odgovorili na vprašanje o pomenu določitve dobrega načina razvrstitve izvajanja modulov pri zasnovi porazdeljenih računalniških sistemov za vodenje procesov. 2. VLOGA PORAZDELJENIH SISTEMOV PRI VODENJU INDUSTRIJSKIH PROCESOV Kompleksnost problemov vodenja zahtevnih industrijskih procesov, pojavljanje manjših, cenenih mikroračunalnikov in obstoj zanesljivih komunikacijskih povezav so bili vzroki, ki so omogočili, da se je razvoj računalniško podprtih sistemov za vodenje industrijskih procesov usmeril v uporabo porazdeljenih sistemov. Lahko trdimo, da je prav vodenje procesov eno izmed področij uporabe računalniške tehnologije, kjer se je uporaba distribuiranih sistemov pokazala za najbolj upravičeno in učinkovito. Lastnosti porazdeljenih sistemov /SLOM87, SCH084/ omogočajo izpolnjevanje vseh specifičnih zahtev do sistema za vodenje procesa /BENN82/. predvsem v smislu delovanja v realnem času. zanesljivosti obratovanja, dopolnjevanja sistema in vzdrževanja. Namestitev računalnikov neposredno ob samih objektih vodenja operaterjem omogoča avtonomno vodenje in nadzor podsistemov objekta vodenja, zagotavlja hitrejše odzivne čase ter zmanjšuje stroške ožičenja in vpliv motenj. Prav tako je v porazdeljen sistem možna vključitev namenskih procesnih enot, kot tudi povezava z ostalimi računalniškimi sistemi, ki neposredno niso vključeni v proces vodenja proizvodnje. Osnovna zahteva do sistema vodenja je zmožnost njegovega odziva na spremembe stanja vodenega objekta v vnaprej predpisanem času (delovanje v realnem času). Ustrezen način odziva določa algoritem vodenja. Ker se algoritem vodenja na posameznem (enoprocesorskem) računalniku lahko izvaja le sekvenčno, lahko pride do prekoračitve časa, znotraj katerega se morajo izvesti vse operacije sistema vodenja kot odgovor na spremembo stanja vodenega objekta in sistem vodenja tako postane s stališča zmožnosti vodenja neuporaben. Vzroka za prekoračitev časovnih omejitev sla predvsem v: kompleksnosti funkcij sistema vodenja, ki se morajo izvesti kot odgovor na spremembo stanja v vodenem sistemu. veliki dinamiki vodenega sistema, kar se odraža na velikem številu sprememb parametrov sistema v časovni enoti in ustreznem številu potrebnih reakcij sistema vodenja. Ena izmed rešitev problema je uporaba hitrega (in dragega) računalnika, pri čemer se poleg cene pojavlja še vprašanje primernosti in dobavljivosti take naprave. Drugo rešitev predstavlja razporeditev funkcij med več manj zmogljivih procesnih enot (porazdeljen računalniški sistem), s katerimi skušamo izrabiti možnost sočasnega izvajanja delov algoritma vodenja in s tem zadostiti časovnim omejitvam. Pri načrtovanju sistemov vodenja industrijskih procesov ni poudarek na reševanju problema optimalne arhitekture računalniškega sistema ali problema čimbolj enakomerne zasedenosti posameznih enot. temveč je osnovni cilj doseči pri dani zasnovi strojne opreme in danem algoritmu delovanje sistema vodenja v realnem času, torej izvajanje vseh potrebnih modulov algoritma vodenja znotraj časovnega intervala, ki ga določa narava vodenega procesa. 3. MODEL PORAZDELJENEGA SISTEMA Splošni model večračunalniškega sistema predstavljata množica procesnih enot in množica modulov razdrobljenega algoritma, ki skupaj zagotavljata izvajanje predpisanih funkcij sistema. Tak model štejemo kot determinističen, če so informacije, ki opisujejo značilnosti elementov sistema, znane vnaprej. Tipične informacije, ki jih potrebujemo, so npr. čas izvajanja posameznega modula, število modulov, število procesnih enot, omejitve v vrstnem redu izvajanja posameznih modulov, lastnosti procesnih enot, itd. Množico resursov (procesnih enot) lahko preprosto definiramo kot množico P = (P,. P2, P}, .... P„). Glede na specifične primere so lahko elementi množice P bodisi identični, identični v funkcionalnih zmogljivostih, a različni po hitrosti izvajanja, ali različni tako po funkcijah kot po hitrosti izvajanja. Množico dekomponiranih modulov splošnega algoritma vodenja lahko v povezavi z množico procesnih enot formalno predstavimo kot peterko (T, -4 ty ], /?., { Wj )), kjer: 1. T = (T,. T2.....Tm) predstavlja množico modulov implcmentiranega algoritma, ki naj se izvaja, 2. " < " predstavlja (¡refleksivno) relacijo delne urejenosti, ki določa omejitve vrstnega reda izvajanja. Relacija rrfed dvema elementoma Ti in Tj iz množice T, Ti < Tj tako določa, da se mora izvajanje modula Ti končati pred začetkom izvajanja modula Tj, 3. [ ^ 1 predstavlja matriko časov izvajanja dimenzije n x m, kjer je ¡¡j>0 in pomeni čas, potreben za izvedbo modula Tj, l. V primeru identičnosti procesnih enot nam tj predstavlja čas izvajanja modula Tj na eni od procesnih enot. Začetni čas izvajanja modula označimo z s0 in čas, ko se konča izvajanje modula Tj na procesni enoti P, z 4. Rj = [ R,(Tj)..... Rs(Tj) ], l