Programming ∀
Open in Telegram
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
Show more1 354
Subscribers
+224 hours
+27 days
No data30 days
Posts Archive
1 355
Keyingi maqolalarda InshaAllah foydalanilgan adabiyotlarni ham ko'rsatib o'taman. Oldinlari qanday qilishni bilmas edim sababi kamida 5-6 ta resursni titkilar edim. Xozir esa buniyam yechimi topilib qoldi ))).
1 355
CPU arxitekturasi xaqida biroz tushuncha bo'lishi uchun. Albatta bu ancha eski avlod CPU xozirigi texnalogiyalar biroz boshqacha. Ammo aynan shu rasmdan yaxshiroq tassavur hosil qilsa bo'ladi deb o'ylayman. Chunki yangi texnalogiyalarda architecture ancha boshqacha )))
1 355
O'zbekcha tajrimasini chiqara olmadim. Ammo bu jarayon kacheda ma'lumotlar yozilishi yoki o'qilishi jarayonida sodir bo'lgan muvaffaqiyatsiz urunish. Ushbu xatolik natijasida RAMga murojat qilishga to'g'ri keladi va bu latencyga katta tasir qiladi. Agarda Cache-miss CPU instructionlarda ham sodir bo'lsa bu toki memorydan instructionni olmagunicha CPU to'xtab turishiga sababchi bo'ladi bu CPU uchun ma'lumotlarni o'qish yoki yozishdagi xatolikdan ham qimmatga tushadi.
1 355
CPU cache haqida...
CPU cache ham biz applicationda qiladigan cachega juda ham o'xshash ammo ancha quyi levelda amalga oshirilgan va basi usecaselar boshqacharoq. Lekin falsafa juda o'xshash desa ham bo'ladi.
Hosh cache nima uchun kerak ?
CPU processing qilar ekan avvalo unga xotira muhim CPUning vazifasi faqat xisoblash desa bo'ladi Ammo xisoblashi uchun ham hotira kerak bo'ladi. Chunki ma'lumotlarni qayerdandur olish va natijani qayergadur qo'yish kerak. Xotira deganda biz ko'pincha RAM memoryni nazarda tutamiz. Ammo xozirgi zamonaviy CPUlar uchun RAM tezligi pastlik qiladi. Uarga tezroq ancha tez xotira kerak bo'lmasa xotira ulgurmay qoladi. (Universitet, Litsey, Maktab shualrni birida diktant yozayotganda qolib ketganingizni eslang ))) Huddi shunday bo'ladi. )
Ana shu juda ham tez ishlaydigan xotira bu cache xisoblanadi. CPU cachelar xozirda birqancha levellardan iborat. Shaxsan o'zim eshitgan ko'rgan o'qiganlarimga asoslanib ayta olamanki. Standartroq Architecturega ega CPUlarda 3 ta bo'ladi yani kopchilik guvohi bo'lgan L1, L2, L3 cachelar. Har bir cache levelda o'zininng qamrovi (scope) bor.
L1 - CPU core threadlarning o'ziga tegishli memory. Har bir thread uchun alohida birxil N sizedan belgilangan bo'ladi odatda. Size esa juda ham kichik bo'ladi.
L2 - Cpu core uchun va barcha threadlarga accessible bo'lgan memory. Bu yerda aytaylik 1 coreda N ta thread mavjud bo'lsa shu coredagi threadlarni barchasida access bo'ladi. Size juda ham kichik.
L3 - CPUdagi barcha core va threadlar uchun shared memory. Size kichik.
Multi core va multi thread processorlar chiqganidan keyin cache va caching texnalogiyalari ham ancha evolutionga uchradi. Birinchi multi core processorlar L1 va L2 cachelar bitta bo'lganini ham o'qigan edim.
Nima uchun cache memory juda kichik ?
Ha xozirda RAMlar TB sizega ega bo'layotgan bir zamodan CPU/APU cachelar xali ham GBgacha borolgani yoq )))
Bunga sabablardan eng asosiysi sifatida processor tezligini aytsak bo'ladi. Tezlik GHz. Chastota alohida mavzu ammo soddaroq aytganda ushbu ko'rsatkich (clock rate) soat tezligi. Processorning soniyasiga qancha amal bajra olishin anglatadi. Masalan 1GHzlik processor soatiga 1mln amal bajara oladi. Shunday ekan buyoqda agar yaxshi balance qilinmasa cache adashishi (cache-miss) ko'rsatkichi oshib ketadi. Agar katta bo'lib ketsa bekorga bosh yotadi yoki sekin ishlaydi. Yana bir sabablardan biri ushbu component birmuncha qimmat va juda kichik xajmga ega (fizik jixatdan) shu sababdan ham kichik. Lekin multi core processing paralell comouting uchun kattaroq cache kerak. Aytaylik GPUlar xotirasi.
Qanday ma'lumotlar cacheda saqlanadi ?
RAM va Cache memory sizelar birnecha 100 barobarlab farqli bo'lishi tabiy holat. Masalan Ram 16 GB bo'lsa CPU L3 Cache 16 mb bo'lishi mumkin. Demak RAMdagi barcha data CPU cachega tushmaydi. CPU ga xozirgi paytida kerak bo'lgan ma'lumotlar birinchi cachedan qidiriladi. Cache controller esa ma'lum algorithmlar bilan CPU ga qaysi data tushishini belgilaydi va cachega sync qiladi. Agarda cacheda ma'lumot topilmasa miss-cache yuzaga keladi. Cachedada esa CPU ga kerakli ma'lumotlarning memory addresslari joylashgan bo'ladi. Ushbu jarayon huddi Kitobning mundarijasiga o'xshab ketadi. Qaysi betda qaysi mavzu bor ekanini izohlaydi.
Qanday ma'lumotlar cache memoryda saqlanadi ?
Ideal holatda cache aynan qaysi ma'lumotlar CPUga kerak ekanini oldindan bilib RAMdan ushbu ma'lumotlar addresslarini olishi kerak. Lekin bunday amaliyot 100% lik natijada ishlashi deyarli imkonsiz vazifa. Chunki CPU ga qanday ma'lumot tushishini oldindan bilish qiyin masala. CPU ga kerakli ma'lumot Cacheda bloklardan topilmaganda esa cache miss xatoligi yuzaga keladi. Ushbu xoaltda cache ma'lumot RAM dan qidiriladi va cachega ham sync qilinadi. L 1 cacheda CPU instructionlar saqlanadi. Bu mavzu alohida kattaroq mavzu. Ammo soddaroq aytganda. CPU bajarishi kerak bo'lgan amallar listi desa ham bo'ladi.
L2 cache esa faqat har bir core uchun tegishli cache xotira xisoblanadi. L3 esa barchaga shared xotira.
Cache-miss nima ?
1 355
Yana bir qiziq savol
CPU cache haqida ...
Cache nima uchun kerak ?
Qanday ma'lumotlar cacheda saqlanadi ?
1 355
OSdagi task schedulinga aloqador deyarli barcha amaliy tajribalar nixoyasiga yetdi ! Endilikda scheduling alorithmlarni ko'rib chiqish va responsibilitylarni aniqlashtirib olish kerak. Bugun barcha resourcelarni ko'rib chiqib huloasamni yakunlay olsam InshAllah bayon qilaman hammasini. Agar kimdadur CPU bounding va task schedulinga aloqador yaxshi resurslar bo'lsa share qiling.
1 355
Trash markazimizda o'qing Avtomobil yuting !.
Trash markazimizda o'qing xonadonga ega bo'ling !
PS: Bir narsani eslatib o'tishni o'rinli deb bilaman. Ilimni bahosi avtomobil uy joylardan ancha muncha ustun.
#marketing_qurboni_bolmang #trash_markazlardan_saqlaning
1 355
Bir tizimda judayam qopol kiritik xatolikga ko'zimiz tushdi. Tizim commerce emas davlat tashkilotiniki.
Oldimda ikki yo'l bor
1. O'zlariga report qilish va mavzu yopilishi.
2. O'zlariga report qilish va shu yerga ham batafsil report.
PS: Agar o'zlariga report qilib mavzuni yopadigan bo'lsak menimcha hechnarsa o'zgarmaydi !
Agar Bu yerga report qilsam boshqalar mani "Подстава" qilishlariga hechkim javob bermaydi )). Lekin ushbu jamiyat azosi sifatida ushbu xatolikdan qolganlarni ham ogohlantirmasam bo'lmaydi. Shunchaki ko'z yumolmayman u yerda kopchilik mexnati oyoq osti qilingan.
Yana bir taklif bor. Qonunchilikdan yaxshi xabardor va IT dagi qonunchilikdan xabardor Yuristlar bo'lsa yoki sizni shunday tanishlaringiz bo'lsa ular bilan bog'lanib ushbu muammoni ko'tarsak qanday bo'lar ekan ?
1 355
Juda bolmaganda. Kitobni shunaqaaiga o'qishi kerak edi hurmatli mutasaddilarimiz....
1 355
https://online-mahalla.uz
Ha bu o'sha mashxur ~8.5 mlrd so'mlik Online Mahalla Platformassi...
Man davlatga soliqlar to'layman doyim. Shu kungacha ketgan pullarimga achinmagan edim...
1 355
Tajibaning yana bir qismi qoldi. Kimda AMD Reyzen - 7th va Intel i 12th yoki 13th bo'lsa hoy devoring.
Hoy deyish uchun example:
OS: Linux fedora 36
CPU: Intel i7-12800H
1 355
/proc/schedstat file ichida barcha connnected cpular ga berilgan navbatdagi tasklar listining statistikasini ko'rish mumkin ekan :) Agar to'g'ri tushungan bo'lsam CPU ga OS scheduler tomonidan berilgan tasklar ))).
1 355
Ubuntudan Fedoraga migrate qilganimda aniq sabab keltiropmagan edim. Endi bor 😁. Fedorada gnome processlar normal ubuntuda esa hight priority)))
1 355
Assalomu alaykum guruh a'zolari. NODEJS da qanday malakaga egasiz? Sizlardan bu so'rovni e'tiborsiz qoldirmasligingizni xoxlab qolaman.
