Oqim modellarini amalga oshirishda muammolar Von Neumann modeliga asoslangan klassik protsessor kompyuter tizimlarida jarayonlar uchun protsessor resurslarini ajratish zarurati bilan bog‘liq muammo yuzaga keladi. deb atalmish rejalashtirish. Bundan tashqari, bir qator boshqa muammolar paydo bo‘ladi:
• tanqidiy bo‘lim;
• poyga;
• o‘zaro chetlashish;
• jarayonlarni blokirovka qilish.
5.4. Kanning hisoblash modeli. Prosess Network (PN), jarayonlar tarmog‘i, ma’lumotlar oqimi tarmog‘i - bu hisoblash modeli bo‘lib, unda tizim yo‘naltirilgan grafik ko‘rinishida taqdim etiladi, uning uchlari jarayonlari (hisoblar) va arklar ma’lumotlar elementlarining ketma-ketligi. Graf odatda ierarxik tuzilishga ega, shuning uchun bitta grafikning uchi boshqa yo‘naltirilgan grafdir. Vertices ba’zi dasturlash tillarida protsedura ham bo‘lishi mumkin. Hisoblash tepalari o‘rtasida ma’lumot uzatish FIFO oqimidagi buferlar orqali amalga oshiriladi va hisoblash vertikallari o‘zlari doimiy ravishda (vaqtdan tashqari) kirish ma’lumotlarini chiqaradilar, chiquvchi ma’lumotlar to‘plamlarini yaratadilar. Ma’lumotlar oqimlari bilan hisoblashlarning modeli (DataowProcessNetworks) 1974 yilda Kan tomonidan ma’lumotlar oqimini qayta ishlash uchun dasturiy tizimlarni tavsiflash uchun taklif qilingan, bu uning parallel ravishda va mustaqilligi bilan ajralib turadi. Keyinchalik, ushbu model ishlab chiqilgan va ma’lumotlarni qayta ishlash tizimlari (audio va video dasturlarni, tasvirlarni va signallarni qayta ishlashni amalga oshirish) sohasida tarqalishga erishdi. Hisoblash jarayonining ba'zi qo‘shimcha foydali xususiyatlarini ta'minlaydigan SynchronousDataflow, StructuredDataflow, o‘zini yaxshi tutgan dataflow, BooleanDataflow, ko‘p o‘lchovli SDF, IntegerDataflow, HeterogeneneDataflow va boshqalar kabi ko‘plab variantlar va model cheklovlari taklif qilindi.
5.2-rasm. Jarayonlar tarmog‘i Tizim tarkibiy qismlari (jarayonlar) ma’lumotlar kanallari bilan ulanadi, ularning har biri FIFO intizomiga navbatdir. Ma’lumotlar kanaldan unga yozilgan tartibda o‘qiladi. Jarayon kanaldagi ma’lumotlarni o‘qishi yoki unga yozishi mumkin. Har bir jarayon ko‘p pinli muhitda alohida oqimdir. Agar jarayon hech qanday ma’lumoti mavjud bo‘lmagan kanaldan o‘qishga harakat qilsa (undan oldin o‘qilgan barcha ma’lumotlar), u bloklanadi. Kanalga ma’lumotlarni yozish jarayonni to‘sib qo‘yilmaydi, chunki navbatning o‘lchami cheklanmagan deb taxmin qilinadi.
Kang, bunday ma’lumotlarni qayta ishlash tizimi kirish oqimlari va chiqish ma’lumotlari oqimlarini qayta ishlash tartibi jarayonlarni rejalashtirish intizomiga bog‘liq emasligini va ijro muhitidan mustaqil ekanligini ko‘rsatdi.
Tizim har qanday holatda ham kiruvchi ma’lumotlardan chiqadigan ma’lumotlar ketma-ketligining uzluksiz funksiyasi bo‘ladi. Bunday tizimdagi hisoblash jarayoni determinizm va monotonlikning rasmiy xususiyatlariga ega bo‘ladi (uzluksizlik, cheksiz kirish oqimlari holatida). Kan protsessual tarmoqlarining amaliy qo‘llanilishi VSda cheklangan miqdordagi jismoniy xotira muammosi bilan bog‘liq. Hisoblash modeli ma’lumotni kanallarda saqlash uchun cheksiz miqdordagi resurslarni nazarda tutadi va mavjud bo‘lgan maksimal hajmga yetganda ish vaqtining harakatlarini nazarda tutmaydi. Bu xotirani to‘ldirishning oldini olish uchun ma'lum bir tizimni ehtiyotkorlik bilan tekshirish zarurligiga olib keladi.
Bundan tashqari, hisoblash modeli, ikki jarayon bir-biridan ma’lumotlarni o‘qiy olmasligi yoki o‘zlariga bog‘liq bo‘lgan boshqa jarayonlarga ma’lumot bermasdan buni amalga oshirishi mumkin bo‘lgan holatlarning oldini olish va muzlatish holatlarini kafolatlamaydi.
Kan jarayonlarining tarmoqlari hisoblashlarning juda universal modeli bo‘lib, u ko‘pgina amalga oshiriladigan savollarga rasmiy javob bermaydi, masalan, xotiraning cheklangan hajmi, qulflash va muzlatishning mumkin emasligi, semantikani amaliy tatbiq etishning murakkabligi. Shunga qaramay, ushbu hisoblash modeli ma’lumotlarni uzatish uchun VC tarkibiy qismlarini yaratishda keng qo‘llaniladi va keyinchalik cheklash tufayli ba'zi muammolarni hal qilishga urinishlar mavjud (masalan, SynchronousDataow-da ma’lumotlar kanallari cheklangan miqdordagi xotirani talab qiladigan jarayonlar tartibini statik ravishda topish mumkin). Hisoblash modeli hisoblash jarayonining axborot tomonini tavsiflash uchun juda mos keladi. Kirish signallariga ma’lumotlar oqimi sifatida munosabatda bo‘ladi. Shu bilan birga, hisoblash vaqti va ularni faollashtirish momentlari haqidagi tushunchalar model doirasidan tashqarida qoladi. Bu ma’lumotlar oqimi bo‘lgan tarmoqlarda boshqarish mantig‘ini etarli darajada tavsiflamaydi.
Kan jarayon tarmoqlarida jarayonlar navbat bilan o‘zaro ta'sirlashadi.
Jarayonlar o‘rtasida ma’lumotlarni uzatish atom ob'ektlari oqimi orqali amalga oshiriladi (tokenlar). Ushbu model uchun navbatlarning xususiyatlarini sanab o‘tamiz:
• navbat bitta oqimli;
• navbatlar bir tomonlama;
• navbatdagi tokenni o‘qish har doim uni navbatdan olib tashlashga olib keladi;
• navbatning chuqurligi cheksizdir.
Har bir token bir marta uzatiladi va olinadi (ya’ni, jarayonlar o‘rtasidagi aloqa kanali ideal va token yo‘qolmaydi, deb ishoniladi). Navbatga token yozish yozuv jarayonini bloklaydi, chunki cheksiz uzunlikdagi navbat. Qabul qilish navbati bo‘sh bo‘lganda o‘qish navbatni blokirovka qiladi. Model cheklovlari:
• siz navbatda ma’lumotlarning mavjudligini tekshira olmaysiz;
• navbatga faqat bitta jarayon ma’lumotlarni yozishi mumkin;
• navbatdagi ma’lumotni faqat bitta jarayon o‘qishi mumkin;
Siz jarayonlar o‘rtasida xotirani ulasha olmaysiz (qo‘shma ma’lumotlar omborini tashkil qiling).