Kontentke ótiw

Maǵlıwmatlar aǵımın programmalastırıw

Wikipedia — erkin enciklopediya

Kompyuter programmalastırıwda, maǵlıwmatlar aǵımın programmalastırıw — bul programmanı operaciyalar arasındaǵı maǵlıwmat aǵımınıń baǵdarlanǵan grafı retinde modellestiretuǵın programmalastırıw paradigması, solay etip maǵlıwmatlar aǵımı principlerin hám arxitekturasın ámelge asıradı[1]. Maǵlıwmatlar aǵımın programmalastırıw tilleri funkcional tillerdiń ayırım ózgesheliklerin bólisedi hám ulıwma alǵanda sanlı qayta islewge anaǵurlım sáykes keletuǵın tilge ayırım funkcional koncepciyalardı kirgiziw ushın islep shıǵılǵan. Ayırım avtorlar anıq emes mashina paradigmasına tiykarlanǵan maǵlıwmatlar aǵımı esaplawı yamasa maǵlıwmat aǵımı arxitekturası menen shatastırıwdıń aldın alıw ushın maǵlıwmatlar aǵımı ornına maǵlıwmatlar aǵımı terminin paydalanadı. Maǵlıwmatlar aǵımın programmalastırıwǵa 1960-jılları MIT-de Djek Dennis hám onıń aspirantları tárepinen baslanǵan.

Qarastırıwlar

Dástúrli túrde, programma belgili bir tártipte júz beretuǵın operaciyalar izbe-izligi retinde modellestiriledi; bul izbe-iz,[2] proceduralıq, basqarıw aǵımı[3] (programmanıń belgili bir joldı tańlaytuǵının kórsetedi) yamasa imperativ programmalastırıw dep atalıwı múmkin. Programma, ádette maǵlıwmatlar «tınıshlıqta» bolatuǵın izbe-iz programmalastırıwdıń fon Neyman kózqarasın sáykes, buyrıqlarǵa itibar beredi.

Oǵan qarama-qarsı, maǵlıwmatlar aǵımın programmalastırıw maǵlıwmatlardıń háreketine ayrıqsha itibar beredi hám programmalardı baylanıslar izbe-izligi retinde modellestiredi. Anıq anıqlanǵan kirgiziwler hám shıǵarıwlar qara qutılar sıyaqlı isleytuǵın operaciyalardı baylanıstıradı[4]. Operaciya onıń barlıq kirgiziwleri durıs bolǵan waqıtta iske túsedi. Solay etip, maǵlıwmatlar aǵımı tilleri tábiyatı boyınsha parallel bolıp tabıladı hám úlken, oraylastırılmaǵan sistemalarda jaqsı isley aladı[5][6].

Jaǵday

Kompyuter programmalastırıwındaǵı tiykarǵı túsiniklerdiń biri — bul jaǵday ideyası, negizinde sistemadaǵı hár túrli shártlerdiń kórinisi. Kópshilik programmalastırıw tilleri ádewir kólemdegi jaǵday informaciyasın talap etedi, bul ulıwma alǵanda baǵdarlamashıdan jasırın. Kóbinese, kompyuterdiń ózi qaysı informaciya bólimi turaqlı jaǵdaydı kodlaytuǵının bilmeydi. Bul áhmiyetli másele, sebebi jaǵday informaciyası parallel qayta islew mashinalarında bir neshe processor arasında bólisiwi kerek. Kópshilik tiller baǵdarlamashını qaysı maǵlıwmatlar hám kod bólimleri jaǵday ushın áhmiyetli ekenin kórsetiw ushın qosımsha kod qosıwǵa májbúr etedi. Bul kod ádette ónimdarlıq jaǵınan qımbat boladı, sonday-aq oqıw yamasa sazlaw ushın da qıyın. Anıq parallellik maǵlıwmatlarǵa intensiv, OLTP emes qosımshalardı qurıwda Enterprise Java Beans-tiń tómen ónimdarlıǵınıń tiykarǵı sebepleriniń biri bolıp tabıladı.

Izbe-iz programma wazıypalar (operaciyalar) arasında háreketlenetuǵın bir jumısshı retinde qaralıwı múmkin bolsa, maǵlıwmatlar aǵımı programması materiallar bar bolǵanda belgili bir wazıypanı orınlaytuǵın jıynaw liniyasındaǵı bir qatar jumısshılarǵa kóbirek uqsaydı. Operaciyalar tek maǵlıwmat kirgiziwleriniń bar bolıwına ǵana baylanıslı bolǵanlıqtan, olardıń qadaǵalaytuǵın jasırın jaǵdayı joq hám hámmesi bir waqıtta «tayar».

Kórinis

Maǵlıwmatlar aǵımı programmaları hár túrli usıllar menen kórsetiledi. Dástúrli programma ádette tekst kórsetpeleri izbe-izligi retinde kórsetiledi, bul maǵlıwmatlardı qabıllaytuǵın, qayta isleytuǵın hám qaytaratuǵın kishi, bir maqsetli qurallar arasında maǵlıwmatlardı jiberetuǵın izbe-iz sistemanı táriyiplew ushın maqul. Maǵlıwmatlar aǵımı programmaları kirgiziwden, bálkim komanda qatarı parametrlerinen baslanadı hám sol maǵlıwmatlardıń qalay paydalanılıp, ózgertiletuǵının kórsetedi. Maǵlıwmatlar aǵımı anıq, kóbinese vizual túrde sızıq yamasa truba retinde kórsetiledi.

Kodlaw jaǵınan, maǵlıwmatlar aǵımı programması kórsetpelerge siltemelerdi izlew ushın gilt retinde paydalanılatuǵın unikal anıqlanǵan kirgiziwleri bar xesh-keste retinde ámelge asırılıwı múmkin. Hár qanday operaciya tamamlanǵanda, programma barlıq kirgiziwleri házirgi waqıtta durıs bolǵan birinshi operaciyanı tapqanǵa shekem operaciyalar dizimin skanerleydi hám onı iske túsiredi. Bul operaciya tamamlanǵanda, ol ádette maǵlıwmat shıǵaradı, solay etip basqa operaciyanıń durıs bolıwına sebep boladı.

Parallel operaciya ushın tek dizimdi bólisiw kerek; bul pútkil programmanıń jaǵdayı. Solay etip, jaǵdaydı saqlaw wazıypası baǵdarlamashıdan alınıp, tildiń orınlanıw waqtına beriledi. Parallel operaciya ushın proektlestirilgen implementaciya tek artıqmashılıq payda etetuǵın bir processor yadrosı bar mashinalarda, bul artıqmashılıqtı basqa orınlanıw waqtın paydalanıp tolıǵı menen alıp taslawǵa boladı.

Inkremental jańalanıwlar

Differential/Timely Dataflow sıyaqlı ayırım sońǵı maǵlıwmatlar aǵımı kitapxanaları nátiyjelirek maǵlıwmatlardı qayta islew ushın inkremental esaplawdı paydalanǵan[7][8].

Tariyxı

Eń dáslepki maǵlıwmatlar aǵımı tili 1961-jılı Djon Larri Kelli, kishi, Kerol Lokbaum hám Viktor A. Vyssotskiy tárepinen úlgili maǵlıwmat sistemaların anıqlaw ushın járiyalanǵan BLOck DIagram (BLODI) boldı[9]. BLODI-diń funkcional birlikler (kúsheytkishler, qosqıshlar, keshiktiriw sızıqları hám t.b.) hám olardıń óz-ara baylanısları specifikaciyası pútkil sistemanı bir saat cikl ushın jańalaytuǵın bir ciklge kompilyaciyalanǵan.

1966-jılǵı doktorlıq dissertaciyasında, Kompyuter Proceduralarınıń Onlayn Grafikalıq Specifikaciyası, Bert Sazerlend parallel programmalastırıwdı ańsatlastırıw ushın birinshi grafikalıq maǵlıwmatlar aǵımı programmalastırıw freymvorklarınan birin jarattı. Keyingi maǵlıwmatlar aǵımı tilleri kóbinese úlken superkompyuter laboratoriyalarında islep shıǵıldı. NSA-da islep shıǵılǵan, basqa jaǵdaylarda ádettegi maǵlıwmatlardı qayta islew tili POGOL, biriktiriw, tańlaw, ulıwmalastırıw yamasa transformaciyalaw sıyaqlı bir neshe fayldan-faylǵa operaciyalardan ibarat úlken kólemli qosımshalardı aralıq fayllardı jaratıwdı yamasa olarǵa jazıwdı múmkin bolǵanınsha joq etetuǵın nátiyjeli kodqa kompilyaciyaladı. Lourens Livermor Milliy Laboratoriyasında islep shıǵılǵan ataqlı maǵlıwmatlar aǵımı tili SISAL, kópshilik operatorlarǵa baǵdarlanǵan tillerge uqsaydı, biraq ózgeriwshilerge bir ret mánis beriliwi kerek. Bul kompilyatorǵa kirgiziwler menen shıǵarıwlardı ańsat anıqlawǵa imkaniyat beredi. SISAL-dıń bir qatar tarmaqları islep shıǵıldı, sonıń ishinde ataqlı C programmalastırıw tiline múmkin bolǵanınsha jaqın qalıwǵa háreket etetuǵın SAC, Single Assignment C bar.

Amerika Qurama Shtatları Áskeriy-Teńiz Flotı 1980-jıllardıń baslarınan baslap signal qayta islew graf belgilewi (SPGN) hám ACOS-tıń islep shıǵılıwın qarjılandırdı. Bul házirgi waqıtta tarawdaǵı bir qatar platformalarda qollanıladı.

Anaǵurlım radikal koncepciya — Prograph, onda programmalar ekranda grafikler retinde qurıladı hám ózgeriwshiler tolıǵı menen kirgiziwlerdi shıǵarıwlarǵa baylanıstıratuǵın sızıqlar menen almastırıladı. Prograph dáslep 1996-jılı DayStar Genesis MP usınılǵanǵa shekem bir processorlı bolıp qalǵan Macintosh-ta jazılǵan.

Maǵlıwmatlar aǵımın programmalastırıw modellerin nátiyjeli ámelge asırıwǵa baǵdarlanǵan kóp apparatlıq arxitekturalar bar. MIT-diń belgili token maǵlıwmatlar aǵımı arxitekturası Greg Papadopulos tárepinen proektlestirilgen.

Maǵlıwmatlar aǵımı bólistirilgen sistema komponentleriniń global háreketin anıqlaw ushın abstrakciya retinde usınıldı: tiri bólistirilgen obyektler programmalastırıw modelinde, bólistirilgen maǵlıwmatlar aǵımları jaǵdaydı saqlaw hám jetkeriw ushın paydalanıladı hám solay etip, olar Javaǵa uqsas programmalastırıw tillerindegi ózgeriwshiler, maydanlar hám parametrlerge uqsas rol oynaydı.

Derekler

  1. Schwarzkopf. «The Remarkable Utility of Dataflow Computing». ACM SIGOPS (7-mart 2020-jıl). Qaraldı: 31-iyul 2022-jıl.
  2. Johnston, Wesley M.; J.R. Paul Hanna. Advances in Dataflow Programming Languages. http://www.cs.ucf.edu/~dcm/Teaching/COT4810-Spring2011/Literature/DataFlowProgrammingLanguages.pdf. Retrieved 15 August 2013.
  3. Wadge, William W.; Edward A. Ashcroft. Lucid, the Dataflow Programming Language, illustrated, Academia Press, 1985. ISBN 9780127296500. 
  4. «Dataflow Programming Basics». Getting Started with NI Products. National Instruments Corporation. Qaraldı: 15-avgust 2013-jıl.
  5. Harter. «Data Flow languages and programming - Part I». Richard Harter's World. 8-dekabr 2015-jılda túp nusqadan arxivlendi. Qaraldı: 15-avgust 2013-jıl.
  6. «Why Dataflow Programming Languages are Ideal for Programming Parallel Hardware». Multicore Programming Fundamentals Whitepaper Series. National Instruments Corporation. Qaraldı: 15-avgust 2013-jıl.
  7. McSherry. «Differential dataflow». Microsoft (5-yanvar 2013-jıl). Qaraldı: 31-iyul 2022-jıl.
  8. «Differential Dataflow». Timely Dataflow (30-iyul 2022-jıl). Qaraldı: 31-iyul 2022-jıl.
  9. John L. Kelly Jr.; Carol Lochbaum; V. A. Vyssotsky (1961). "A block diagram compiler". Bell System Tech. J. 40 (3): 669–678. doi:10.1002/j.1538-7305.1961.tb03236.x.