Ilovani tekshirish punkti - Application checkpointing

Tekshirish punkti taqdim etadigan texnikadir xatolarga bardoshlik uchun hisoblash tizimlar. Bu, asosan, ning rasmini saqlashdan iborat dastur holati, shuning uchun dasturlar o'sha paytdan boshlab qayta ishga tushirilishi mumkin muvaffaqiyatsizlik. Bu, ayniqsa, ishlamay qoladigan hisoblash tizimlarida bajariladigan uzoq muddatli dasturlar uchun juda muhimdir.

Tarqatilgan tizimlarda nazorat nuqtasi

In tarqatilgan hisoblash atrof-muhit, tekshiruv punkti - bu aks holda uzoq muddatli dasturni boshidanoq qayta ishga tushirishga majbur qiladigan xatolarga toqat qilishga yordam beradigan usuldir. Tekshirish punktini amalga oshirishning eng asosiy usuli bu dasturni to'xtatish, barcha kerakli ma'lumotlarni xotiradan ishonchli xotiraga nusxalash (masalan, parallel fayl tizimi ) va keyin ijro etishda davom eting.[1] Muvaffaqiyatsiz bo'lsa, dastur qayta ishga tushirilganda, uni noldan boshlash shart emas. Aksincha, u barqaror saqlash joyidagi so'nggi holatni ("nazorat punkti") o'qiydi va bajaradi. Tekshirish punkti taqsimlangan hisoblash tizimlarida hukmronlik kiritish-chiqarish ish yukini tashkil etadimi yoki yo'qmi degan munozaralar davom etayotgan bo'lsa-da, tekshiruv punkti asosiy kirish-chiqish ish yuklaridan biri ekanligi to'g'risida umumiy fikr mavjud.[2][3]

Taqsimlangan hisoblash tizimlarida tekshirishni o'tkazish uchun ikkita asosiy yondashuv mavjud: muvofiqlashtirilgan nazorat va kelishilmagan nazorat punktlari. Nazoratni tekshirishning muvofiqlashtirilgan yondashuvida jarayonlar ularning nazorat punktlari izchilligini ta'minlashi kerak. Bunga odatda biron bir narsa erishadi ikki bosqichli protokol algoritm. Muvofiqlashtirilmagan nazorat punktida har bir jarayon o'z holatini mustaqil ravishda belgilaydi. Shuni ta'kidlash kerakki, jarayonlarni o'z vaqtlarini belgilangan vaqt oralig'ida tekshirishga majbur qilish global izchillikni ta'minlash uchun etarli emas. Doimiy holatni o'rnatish zarurati (ya'ni yo'qolgan xabarlar yoki takrorlangan xabarlarning yo'qligi) boshqa jarayonlarni o'zlarining nazorat punktlariga qaytarishga majbur qilishi mumkin, bu esa o'z navbatida boshqa jarayonlarning hatto oldingi nazorat punktlariga qaytishiga olib kelishi mumkin, bu o'ta og'ir holatda topilgan yagona izchil holat - bu boshlang'ich holat (ya'ni shunday deb ataladi) degan ma'noni anglatadi domino effekti ).[4][5]

Ilovalar uchun qo'llanmalar

Shtatni saqlash

Dasturni tekshirishning asl va hozirda eng keng tarqalgan vositalaridan biri bu interaktiv dasturlarda "saqlash holati" xususiyati bo'lib, unda dastur foydalanuvchisi barcha o'zgaruvchilar va boshqa ma'lumotlarning holatini ular foydalanayotgan vaqtda saqlash muhitiga saqlashi mumkin edi. u yoki ishlashni davom ettiring yoki dasturdan chiqing va keyinroq dasturni qayta ishga tushiring va saqlangan holatni tiklang. Bu dasturdagi "saqlash" buyrug'i yoki menyu opsiyasi orqali amalga oshirildi. Ko'p hollarda, dasturdan chiqishda foydalanuvchidan saqlanmagan ishi bor-yo'qligini so'rash odatiy holga aylandi.

Bunday funktsiya, ma'lum bir ishni bir o'tirishda bajarib bo'lmaydigan dasturlarda (masalan, o'nlab soat davom etishi kutilayotgan video o'yinni o'ynash yoki yuzlab yoki minglab sahifalarni tashkil etadigan kitob yoki uzoq hujjat yozish kabi) ilovalarda foydalanish uchun juda muhimdir. ) yoki elektron jadvaldagi satrlar kabi hujjatga ma'lumotlarni kiritish kabi ishlar uzoq vaqt davomida bajarilgan bo'lsa.

Saqlash holatidagi muammo dastur operatoridan tejashni talab qilishni talab qiladi. Interaktiv bo'lmagan dasturlar, shu jumladan avtomatlashtirilgan yoki ommaviy qayta ishlangan ish yuklari uchun bunday dasturlarni tekshirish qobiliyati ham avtomatlashtirilishi kerak edi.

Tekshirish punkti / qayta yoqing

Ommaviy dasturlar o'ndan yuz minglab tranzaktsiyalarni boshqarishni boshlaganda, har bir operatsiya bitta fayldan bitta yozuvni bir nechta turli xil fayllarga ishlov berishi mumkin bo'lganida, dasturni biron bir vaqtda butun ishni noldan qayta ishlashga hojat qoldirmasdan qayta boshlash mumkin. majburiy bo'lib qoldi. Shunday qilib, "tekshiruv punkti / qayta ishga tushirish" qobiliyati paydo bo'ldi, unda bir qator operatsiyalar amalga oshirilgandan so'ng, ilova holatining "oniy tasviri" yoki "nazorat punkti" olinishi mumkin edi. Agar dastur keyingi tekshiruv punktidan oldin bajarilmasa, uni nazorat punkti haqida ma'lumot va tranzaktsiya muvaffaqiyatli bajarilgan bitim faylidagi oxirgi joyni berib, uni qayta boshlash mumkin. Keyin dastur o'sha paytda qayta ishga tushirilishi mumkin.

Tekshirish punkti qimmatga tushadi, shuning uchun u odatda har bir yozuv bilan amalga oshirilmadi, lekin tekshiruv punkti narxi bilan yozuvlar partiyasini qayta ishlash uchun zarur bo'lgan kompyuter vaqtining qiymati o'rtasidagi o'rtacha kelishuvga erishilganda. Shunday qilib, har bir nazorat punkti uchun qayta ishlangan yozuvlar soni, iqtisodiy omillarga, dasturning nisbiy murakkabligiga va dasturni muvaffaqiyatli qayta boshlash uchun zarur bo'lgan resurslarga qarab 25 dan 200 gacha bo'lishi mumkin.

Xatolarga bardoshlik interfeysi (FTI)

FTI - hisoblash olimlariga tekshiruv punktini / qayta boshlashni o'lchovli tarzda bajarishning oson usulini taqdim etishga qaratilgan kutubxona.[6] FTI bir necha darajadagi ishonchlilik va ishlashni ta'minlash uchun mahalliy saqlash va bir nechta takrorlash va o'chirish usullaridan foydalanadi. FTI samaradorlikni oshirish va bo'sh joy, vaqt va energiya isrofgarchiligiga yo'l qo'ymaslik uchun foydalanuvchilarga qaysi ma'lumotlarni himoya qilish kerakligini tanlashga imkon beradigan dastur darajasida tekshiruv o'tkazishni ta'minlaydi. Bu foydalanuvchilarga fayllar va / yoki katalog nomlari bilan ishlashga hojat qolmasligi uchun to'g'ridan-to'g'ri ma'lumotlar interfeysini taqdim etadi. Barcha metadata FTI tomonidan foydalanuvchi uchun shaffof tarzda boshqariladi. Agar so'ralsa, foydalanuvchilar bitta tugun uchun bitta jarayonni bag'rikenglik ish yukini va ilmiy hisoblashni qoplash uchun ajratishi mumkin, shunda post-post vazifalari asenkron tarzda amalga oshiriladi.

Berkli laboratoriyasini tekshirish punkti / qayta boshlash (BLCR)

Lawrence National Laboratories-dagi Future Technologies Group gibrid yadrosi / BLCR deb nomlangan tekshiruv punkti / qayta ishga tushirishni amalga oshirmoqda. Ularning maqsadi - dastur kodiga o'zgartirishlar kiritishni talab qilmasdan, keng ko'lamli dasturlarni tekshiruv punktlaridan o'tkazadigan, sifatli va sifatli ishlab chiqarishni ta'minlash.[7] BLCR MPI orqali aloqa qiladigan parallel dasturlarni tekshirishga va SciDAC Scalable Systems Software ISIC tomonidan ishlab chiqarilgan dasturiy ta'minot to'plamiga muvofiqligiga e'tiborni qaratadi. Uning ishi 4 asosiy yo'nalish bo'yicha ajratilgan: Linux (CR) uchun tekshiruv punkti / qayta boshlash, MPI kutubxonalari, tekshiruv punkti uchun resurslarni boshqarish interfeysi / qayta boshlash va jarayonlarni boshqarish interfeyslarini ishlab chiqish.

DMTCP

DMTCP (Distributed MultiThreaded Checkpointing) - bu ko'plab mashinalarga tarqalgan va rozetkalarga ulangan o'zboshimchalik dasturlari guruhining holatini shaffof ravishda tekshirish vositasi.[8] U foydalanuvchi dasturini yoki operatsion tizimini o'zgartirmaydi. DMTCP tomonidan qo'llab-quvvatlanadigan dasturlar orasida MPI-ni oching, Python, Perl va ko'p dasturlash tillari va qobiq skriptlari tillari. TightVNC-dan foydalangan holda, u kengaytmalarni ishlatmasa (masalan, OpenGL yoki video yo'q bo'lsa), X Window dasturlarini tekshirishi va qayta ishga tushirishi mumkin. DMTCP tomonidan qo'llab-quvvatlanadigan Linux funktsiyalari orasida ochiq fayl tavsiflovchilari, quvurlar, rozetkalar, signallarni ishlov beruvchilar, jarayon identifikatori va ip identifikatorini virtualizatsiya qilish (eski pid va tidlar qayta ishga tushirishda ishlashni davom ettirishiga ishonch hosil qiling), ptys, fifos, jarayon identifikatorlari, sessiya identifikatorlari, terminal atributlari va mmap / mprotect (shu jumladan mmap-ga asoslangan umumiy xotira). DMTCP eksperimental asosda InfiniBand uchun OFED API-ni qo'llab-quvvatlaydi.[9]

Birgalikda tekshirish punkti

Ba'zi so'nggi protokollar nazorat punktining qismlarini yaqin tugunlarda saqlash orqali birgalikda tekshirishni amalga oshiradilar.[10] Bu yordam beradi, chunki u parallel fayl tizimida saqlash narxidan qochadi (bu ko'pincha keng ko'lamli tizimlar uchun to'siq bo'lib qoladi) va undan yaqinroq bo'lgan saqlashdan foydalanadi. Bu, ayniqsa, katta hajmdagi superkompyuter klasterlarida foydalanishni topdi. Muammo shundaki, tekshiruv punkti nosozlikni tiklashda kerak bo'lganda, nazorat punktlari bo'laklari joylashgan yaqin tugunlar mavjud.

Docker

Docker va asosiy texnologiya nazorat punkti va tiklash mexanizmini o'z ichiga oladi.[11]

CRIU

CRIU foydalanuvchi makonini tekshirish punktlari kutubxonasi.

O'rnatilgan va ASIC qurilmalari uchun dastur

Yodgorliklar

Mementos - elektr ta'minotidagi uzilishlar kabi tez-tez to'xtab turadigan platformalar uchun umumiy maqsadli vazifalarni to'xtatib turuvchi dasturlarga aylantiradigan dasturiy ta'minot tizimi. Kabi batareyasiz o'rnatilgan qurilmalar uchun mo'ljallangan edi RFID teglari va unga ishonadigan smart-kartalar energiya yig'ish atrof-muhit manbalaridan. Mementos tizimdagi mavjud energiyani tez-tez sezib turadi va yaqinlashib kelayotgan elektr energiyasi yo'qolishi sababli dasturni tekshirishni davom ettirishga qaror qiladi. Tekshirish nuqtasi bo'lsa, ma'lumotlar a-da saqlanadi doimiy xotira. Qachon energiya etarli bo'ladi qayta yoqing, ma'lumotlar doimiy xotiradan olinadi va dastur saqlangan holatdan davom etadi. Mementoslar amalga oshirildi MSP430 oilasi mikrokontrollerlar. Mementos nomi berilgan Kristofer Nolan "s Esdalik.[12]

Idetik

Idetic - bu yordam beradigan avtomatik vositalar to'plami dasturga xos integral mikrosxema (ASIC) ishlab chiquvchilari nazorat punktlarini o'zlarining dizaynlariga avtomatik ravishda kiritishlari kerak. Bu maqsadlar yuqori darajadagi sintez vositalari va nazorat nuqtalarini qo'shadi ro'yxatdan o'tkazish-o'tkazish darajasi (Verilog kod). Bu ishlatadi dinamik dasturlash ichida past ustki nuqtalarni topishga yondashish davlat mashinasi dizayn. Uskuna darajasidagi nazorat punkti qaramlik ma'lumotlarini yuborishni o'z ichiga oladi registrlar doimiy xotirada, saqlash uchun eng kam registrlar bo'lishi uchun maqbul ball talab qilinadi. Idetic energiya yig'ish paytida tarqatiladi va baholanadi RFID yorlig'i qurilma.[13]

Shuningdek qarang

Adabiyotlar

  1. ^ Plank, J. S., Bek, M., Kingsli, G., va Li, K. (1994). Libckpt: Unix ostida shaffof nazorat punkti. Informatika kafedrasi.
  2. ^ Vang, Teng; Snayder, Sheyn; Lokvud, Glen; Karns, Filipp; Rayt, Nikolay; Byna, Suren (sentyabr 2018). "IOMiner: I / U jurnallaridan bilim olish uchun keng ko'lamli analitik tizim". Klasterli hisoblash bo'yicha IEEE 2018 xalqaro konferentsiyasi (klaster). IEEE. 466-476 betlar. doi:10.1109 / Klaster.2018.00062. ISBN  978-1-5386-8319-4.
  3. ^ "Ikkala etakchi sinf saqlash klasterlarining ish yukini qiyosiy tavsifi (PDF). ACM. Noyabr 2015.
  4. ^ Buteiller, B., Lemarinier, P., Kravezik, K., & Capello, F. (2003, dekabr). Xatolarga chidamli MPI uchun xabarlar jurnaliga nisbatan muvofiqlashtirilgan nazorat punkti. Klasterli hisoblashda, 2003. Ish yuritish. 2003 yil IEEE Xalqaro konferentsiyasi (242-250-betlar). IEEE.
  5. ^ Elnozahy, E. N., Alvisi, L., Vang, Y. M. va Jonson, D. B. (2002). Xabarlarni uzatuvchi tizimlarda orqaga qaytarishni tiklash protokollarini o'rganish. ACM hisoblash tadqiqotlari, 34 (3), 375-408.
  6. ^ Bautista-Gomes, L., Tsuboi, S., Komatitsch, D., Cappello, F., Maruyama, N., & Matsuoka, S. (2011, noyabr). FTI: gibrid tizimlar uchun yuqori mahsuldorlikka bardoshlik interfeysi. 2011 yilda yuqori samaradorlikni hisoblash, tarmoq, saqlash va tahlil qilish bo'yicha xalqaro konferentsiya materiallarida (32-bet). ACM.
  7. ^ Hargrove, P. H., & Duell, J. C. (2006, sentyabr). Berkli laboratoriyasi linux klasterlari uchun tekshiruv punkti / qayta boshlash (blcr). Journal of Physics: Konferentsiyalar seriyasi (46-jild, 1-son, 494-bet). IOP Publishing.
  8. ^ Ansel, J., Arya, K., va Cooperman, G. (2009, may). DMTCP: Klaster hisoblashlari va ish stoli uchun shaffof nazorat nuqtasi. Parallel & Distributed Processing-da, 2009. IPDPS 2009. IEEE Xalqaro Simpoziumi (1-12 betlar). IEEE.
  9. ^ "GitHub - DMTCP / DMTCP: DMTCP: Tarqatilgan MultiThreaded CheckPointing". 2019-07-11.
  10. ^ Uolters, J. P .; Chaudxari, V. (2009-07-01). "MPI dasturlari uchun takrorlanishga asoslangan xatolarga bardoshlik". Parallel va taqsimlangan tizimlarda IEEE operatsiyalari. 20 (7): 997–1010. CiteSeerX  10.1.1.921.6773. doi:10.1109 / TPDS.2008.172. ISSN  1045-9219.
  11. ^ "Docker - CRIU".
  12. ^ Benjamin Ransford, Jeykob Sorber va Kevin Fu. 2011. Mementoslar: RFID miqyosli qurilmalarda uzoq muddatli hisoblash uchun tizimni qo'llab-quvvatlash. ACM SIGPLAN xabarnomalari 47, 4 (mart 2011), 159-170. DOI = 10.1145 / 2248487.1950386 http://doi.acm.org/10.1145/2248487.1950386
  13. ^ Mirhoseini, A .; Songxori, E.M .; Koushanfar, F., "Idetic: vaqtincha ishlaydigan ASIC-larda uzoq muddatli hisob-kitoblarni amalga oshirish uchun yuqori darajadagi sintez yondashuvi", keng tarqalgan hisoblash va aloqa (PerCom), 2013 yil IEEE Xalqaro konferentsiyasi, jild, №, 216,224-betlar, –22 mart 2013 yil URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6526735&isnumber=6526701

Qo'shimcha o'qish

  • Yibei Ling, Jie Mi, Xiaola Lin: Tekshirish punktlarini optimal joylashtirish uchun o'zgaruvchan hisoblash usuli. IEEE Trans. Kompyuterlar 50 (7): 699-708 (2001)
  • R.E. Ahmed, R.C. Frazier va P.N. Marinos, "Birgalikda xotirada ishlaydigan ko'p protsessorli tizimlarning kesh-yordami bilan qaytarib berishda xatolarni tiklash (CARER) algoritmlari", IEEE 20-xalqaro xatolarga bardoshli hisoblash bo'yicha simpozium (FTCS-20), Nyukasl apon Tayn, Buyuk Britaniya, 1990 yil 26-28 iyun, bet. .82–88.

Tashqi havolalar