Qanday protsessor yadrolari soni ta'sir qiladi. Protsessor ichida qancha yadro mavjud? Everest dasturidan foydalanamiz

  Har bir odamni salomlashing, har bir protsessorning zarlari yo'q, faqatgina Intel bunga ega, keyin esa qimmatroq modellar. AMD-da, agar xato qilmasam, unda bunday narsa yo'q. Lekin, ehtimol, bir narsa o'zgardi, lekin ko'rinmaydi ... Masalaning ta'rifi bilan bog'liq asosiy muammo - bu Windowsni yadro deb biladi. Shuning uchun ba'zi foydalanuvchilar, Pentium 4 ga ega bo'lganlarida, ikkita yadro borligini bilishdi, chunki ular Hyper-threading deb ataladigan texnologiya mavjud edi ... Bundan tashqari Penkov atrofida bir nechta shovqin bor edi, ba'zilari ikki yadroli, boshqalari esa bitta yadroli. Aytgancha, birinchi dual yadroli kenevir Pentium D liniyasi (D Dual turi)

Pentium-4 da Hyper-threading mavjud, ammo u hozirgi Kempda emas: bu texnologiyaga Intel Core i * ning sovuqli oilasi berildi, va barcha modellar emas, dextop Core i5-da iplar yo'q. Core i5 - proksi i * orasida oltin vosita bo'lib, u erda hech qanday zarrachalar mavjud emas, lekin 4 ta to'liq yadro (lekin 1156 soketda iplar bilan Core i5 modeli mavjud, lekin ikkita yadro va to'rt nuqta bor!). Lekin i3 va i7 allaqachon mavzularga ega.

Umuman olganda, internetda Hyper-threading buzilishi, bu ajralish ekanligi va u ishlamayotganligi haqida juda ko'p sharhlar mavjud. Xo'sh, men qanday fikrdaman, bu fikrlarning qaerdan paydo bo'lganini men bilmayman. Hatto Pentium-4ga ega bo'lgan kunlarda ham BIOS-da Hyper-threadingni o'chirib qo'yganimda ishlash qanday tushib qolganini payqadim. Ammo bugungi kunda bu texnologiya allaqachon o'zgardi, lekin unda o'zgarmagan bo'lsa-da, unda o'zgarmaganligi aniqlandi. Umuman, Hyper-threading juda yaxshi bo'ldi.

Mana bir rasm, unda qanday qilib oqimlarning qanday ishlashi haqida kam yoki aniq ma'lumot yo'q.


Intel, AMD'nin yadrolari borligi haqida gapiradi. Protsessorni AMD uchun dastlabki sakkiz yadro deb nomlangan protsessor haqida o'qib chiqdim ... 8-yadroli AMD yadrolari 8 Core i7 konturiga o'xshaydi. Bu erda men hech narsa demayman, AMD protsessorlari bilan kam tajribam bor, lekin ishonchim komilki, Ularning aytganlari yomon emas ...

Xo'sh, bunday mavzularni ajratib olish bilan ko'p yoki kamroq bo'lsa, endi sizga Windows 7-da qancha mavzularni topish kerakligini ko'rsataman.

Protsessor haqida bilishingiz kerak bo'lgan barcha ma'lumotlar uchun bitta CPU-Z ni ishlatish eng yaxshisidir. Bu birinchi navbatda bepul, ikkinchidan, u juda kichik, uchinchisi esa o'rnatilishi oson va hatto ba'zan o'rnatishsiz ishlaydi (versiya portativ bo'lsa). Shunday qilib, Pentium G3220 protsessorim bor, bu CPU-Z yordam dasturi menga ko'rsatdi:


Ko'rib turganingizdek, u erda ramkaning pastki qismida o'tirdim. Xore, yadrolardir, va iplar iplar, hamma narsa oddiy. Lekin protsessorda hech qanday mavzu yo'q, shuning uchun ikkita yadro va ikkita zarracha ...

Biroq, soket 1156 protsessori, Intel Core i5 670:


Ushbu model Hyper-threading yordamiga ega va ayni vaqtda Core i5-ning oilasi bo'lib, ko'pchilik foydalanuvchilar Core i5-da hech qanday chiziqlar yo'qligiga amin bo'lishadi. Aslida ular to'g'ri, chunki iplar eskirgan 1156 soketda i5 modeli orqali topilishi mumkin ... 1155dan oldin paydo bo'lgan ... Bular

Lekin sizda qancha dog'lar borligini bilishning yana bir usuli bor. Bu usulni ham ishlatish mumkin, garchi men buni yomon deb hisoblamasam ham, faqat asosiy ma'lumotni bilib olasiz.

Xo'sh, shunday. Buni amalga oshirish uchun, avval fayl kengaytmalarini ko'rsatishni yoqtirganligini tekshiring. Agar biror narsa bo'lsa, unda Boshqaruv panelini oching, papka variantlari belgisi bo'ladi va ikkinchi sekundda kengaytmani ko'rsatish variantlari mavjud. Ya'ni, u erda kengaytmani yashirish uchun tasdiq belgisini olib tashlashingiz kerak. Menimcha, bu aniq.

Shunday qilib, kengaytmani nfo bilan fayl yaratishingiz kerak. Avval bo'sh matnli hujjatni yaratish osonroq bo'ladi, keyin uni har qanday nomga o'zgartirasiz, lekin asosiysi txt kengaytmasini nfo bilan almashtirishdir, masalan, men cpu.nfo faylini yaratdim.

Keling, 4 yadroli protsessorim borligini aytayin va men eng qisqa vaqt ichida ba'zi bir jarayonni boshqarishni xohlayman. Jarayon mukammal tarzda parallel holga keltirildi, shuning uchun uning qismlarini abadiy miqdordagi iplar bilan ishlating va har bir zarra bir xil vaqtni oladi.

Mening 4 yadroli ekanligim uchun, yadrodan faqat bir zarrachada ishlay olishi uchun, yadrolardan ko'ra ko'proq oqimlarni ishlating. Men apparatni tushunmayapman, shuning uchun bu faqat taxmindir.

Kernellardan ko'ra ko'proq masalalar uchun parallel jarayonni boshlash mumkinmi? Boshqacha qilib aytganda, mening ishim tezroq, sekinroq yoki bir xil miqdorda bajariladimi, agar u 4 ta mavzu o'rniga 4000 ta mavzuni ishlatsa?

13 javob

Agar sizning ish zarrachalaringiz G / Ç, sinxronizatsiya, va hokazolarni amalga oshirmasa va u erda hech narsa ishlamasa, har bir yadro uchun 1 ta ish maksimal ishlashga ega bo'ladi. Biroq, bu, ehtimol, bunday emas. Odatiy mavzularni qo'shish odatda yordam beradi, lekin ba'zi bir nuqtalardan keyin ba'zi bir ishlashning buzilishiga olib keladi.

Yaqinda Mono-da ASP.NET-da ishlaydigan ikki yadroli protsessor ustida ishlashni sinab ko'rdim. Biz minimal va maksimal oqimlarning soni bilan o'ynadik va oxir-oqibatda ushbu maxsus konfiguratsiyadagi ushbu dastur uchun eng yaxshi chiqish 36 va 40 oqim oralig'ida bo'lganligini bilib oldik. Bu chegaralardan tashqarida biror narsa yomonroq. Kurs o'rganilganmi? Agar men siz edim, sizning arizangiz uchun to'g'ri raqamni topmaguncha, men turli xil mavzularda test qilardim.

Bir narsa aniq: 4k oqimlari uzoq davom etadi. Bu kontekst kalitlari juda ko'p.

@Jonzaloning javobiga qo'shilaman. Menda G / Ç operatsiyalarini qilmaydigan jarayon bor va men shuni topdim:

Shuni esda tutingki, barcha iplar bir qatorda ishlaydi, biroq turli diapazonlar (ikkita kontur bir xil indeksga ega emas), shuning uchun natijalar turli xil qatorlarda ishlayotgan bo'lsa, natijalar farq qilishi mumkin.

Mashina 1.86 - bu SSD bilan ishlaydigan kompyuter. Boshqa Mac esa muntazam qattiq disk bilan iMac (7200 rpm), deb o'ylayman. Windows mashinasida 7200 rpm qattiq disk mavjud.

Ushbu testda optimal raqam mashina ichidagi yadro soniga teng edi.

Men bu savolning juda eski ekanligini bilaman, ammo barchasi 2009 yildan buyon birga kelgan.

Endi ikkita narsani ko'rib chiqaylik: yadro sonini va har bir yadroda bajarilishi mumkin bo'lgan zarrachalar sonini.

Intel protsessorlari bilan ish zarrachalar soni faqat 2 (mavjud bo'lsa) bo'lgan hiperflow tomonidan belgilanadi. Biroq Hyperthreading ikki marta ishlatilmasa ham, bajarish vaqtini ikki marta qisqartiradi! (Ya'ni, bir quvur liniyasi ikkita jarayonlar orasida bo'linadi - bu sizning ko'proq jarayonlarga ega bo'lsa yaxshi bo'ladi, aksincha).

Boshqa protsessorlarda siz 2, 4 yoki hatto 8 ta zarraga ega bo'lishingiz mumkin. Shuning uchun, agar sizda 8 ta yadro mavjud bo'lsa, ularning har biri 8 zarrachani qo'llab-quvvatlasa, kontekstni almashtirishsiz parallel ishlaydigan 64 jarayon bo'lishi mumkin.

"Kontekstni almashtirish" kontekstini sizning nazoratingizdan boshqa narsalarga o'tkazadigan standart operatsion tizimni ishlatayotgan bo'lsangiz, albatta noto'g'ri. Lekin bu asosiy g'oya. Ba'zi operatsion tizimlar sizni protsessorlarga ajratish imkonini beradi, shuning uchun faqat sizning arizangizda ko'rsatilgan protsessorga kirish / foydalanishi mumkin!

O'z tajribamdan, agar sizda I / O juda ko'p bo'lsa, ko'p ish zarralari yaxshi. Yuqori xotirasi bilan juda zich ish qilsangiz (manba 1ni o'qing, manba 2 ni o'qing, tezda hisoblang, yozing), unda ko'proq oqimlar yordam bermaydi. Shunga qaramay, siz bir vaqtning o'zida o'qigan / yozgan qancha ma'lumotlarga bog'liq (ya'ni SSE 4.2 dan foydalaning va 256 bit qiymatlarini o'qing, bu sizning qadamingizdagi barcha mavzularni to'xtatadi ... Boshqacha qilib aytganda, 1 ta ishni amalga oshirish juda oson jarayonning arxitekturasiga va xotirangizga bog'liq holda, deyarli tezroq, deyarli tez emas, balki ba'zi bir rivojlangan serverlar alohida yadrolar uchun alohida xotira diapazonlarini boshqaradi, shuning uchun ma'lumotlaringiz to'g'ri ishlagan taqdirda individual ishlov berish tezroq bo'ladi. . mana nimaga, Ba'zi bir arxitektura bo'yicha 4 jarayonlar 4 jarayonlar bilan 1 jarayondan tezroq ishlaydi.)

Haqiqiy mahsuldorlik har bir ipning qancha ixtiyoriy hosilga bog'liqligiga bog'liq bo'ladi. Misol uchun, agar zarrachalar hech qanday I / O bo'lmasa va tizim xizmatlaridan foydalanmasangiz (ya'ni, ular 100% CPU ga ulangan bo'lsa), yadro uchun 1 yadro optimaldir. Agar zarrachalar kutishni talab qiladigan hamma narsani bajarsa, siz eng yaxshi ish zarrachalar sonini aniqlash uchun tajribaga ega bo'lasiz. 4000 zarralar katta rejalashtirishga ega bo'ladi, shuning uchun ham u optimal emas.

Javob dasturda ishlatiladigan algoritmlarning murakkabligiga bog'liq. N va m oqimlarining ikki o'zboshimchalikli miqdori uchun Tn va Tm ishlov berish vaqtining ikki o'lchovini amalga oshirish orqali tegmas teglarining sonini hisoblash uchun bir usul bilan keldim. Lineer algoritmlar uchun tegmaslik sonlar N = sqrt ((mn (Tm * (n-1) - Tn * (m-1)) / (nTn-mTm)).

Har xil algoritmlar uchun optimal sonni qanday qilib hisoblash haqida maqolamni o'qing: pavelkazenin.wordpress.com

Men yana bir istiqbolni qo'shishni o'ylardim. Javob, savol past miqdordagi yoki katta miqyosda qabul qilinishiga bog'liq.

Kam miqdori:   Muammoni hal qilish muddati protsessor uchun doimiy muammo o'lchovi uchun protsessorlar soniga bog'liq.

Kuchli miqyosi: Muammoning aniq o'lchamlari uchun protsessor soniga bog'liq bo'lgan vaqt.

Agar savol zaiflashtirilgan bo'lsa, u holda @Gonzalo javob berishga kifoya qiladi. Biroq, agar savol kuchli miqyosni nazarda tutsa, yana bir narsa kiritishingiz kerak. Kuchli miqyosda siz qattiq ish hajmini qabul qilasiz, shuning uchun agar ish zarrachalar sonini ko'paytirsangiz, har bir ish zarrachining ishlashi kerak bo'lgan ma'lumotlar hajmi kamayadi. Zamonaviy protsessorlarda xotiraga kirish qimmat va qimmatli ma'lumotlarni keshlashda saqlab qolish afzaldir. Shuning uchun, eng yaxshi maqola qo'yilgan soni, har bir elementning ma'lumotlar to'plami har bir yadro keshiga moslashganida   (L1 tizimining kesh-xotirasi (L1 / L2 / L3) bormi-yo'qligini muhokama qilmayman).

Bu iplar soni yadro sonidan oshib ketganda ham xuddi shunday. Misol uchun, 4 yadroli kompyuterda amalga oshiriladigan dasturda 8 ta tasodifiy birlik (yoki AU) mavjud.

1-holat:   har bir ipning 2AUni to'ldirishi kerak bo'lgan to'rtta ip bilan ishlaydi. Har bir nuqta tugatish uchun 10 soniyani oladi ( keshda juda ko'p noqulayliklar bor). To'rt yadro bilan jami vaqt 10 s (10 s * 4 dona / 4 dona) bo'ladi.

2-holat:   har bir zarrachaning 1AUga to'ldirilishi kerak bo'lgan sakkizta tish bilan ishlaydi. Har bir oqim faqat 2 soniya davom etadi (5 soniya o'rniga keshni yo'qotishlarni qisqartirish). Sakkiz yadro bilan umumiy vaqt miqdori 4 s (2 s * 8 ip / 4 yadroli) bo'ladi.

Muammoni soddalashtirdim va boshqa javoblarda (masalan, kontekstli kalitlar) ko'rsatilgan xarajatlarni e'tiborsiz qoldirdingiz, lekin umid qilamanki, ma'lumotlar hajmiga qarab, mavjud yadrolar sonidan ko'proq narsalarga ega bo'lish foydali bo'lishi mumkinligini tushunasiz deb umid qilaman.

Bir vaqtning o'zida 4000 oqim juda yuqori.

Javob: ha va yo'q. Agar siz har bir ish zarrachasida blokirovka qilishni juda ko'p qilsangiz, ha, siz mantiqiy yadro uchun 3 yoki 4 ta zarrachani bajarish orqali sezilarli tezlashtirishni ko'rsatishingiz mumkin.

Agar siz ko'p narsalarni to'sqinlik qilmasangiz, oqimning qo'shimcha oqimi sekinlashadi. Shuning uchun profilerdan foydalaning va har bir parallel qismda qanday darboğazlar mavjudligini bilib oling. Agar og'ir hisob-kitoblarni amalga oshirsangiz, protsessor uchun 1 dan ortiq iplik yordam bermaydi. Agar juda ko'p xotira bor bo'lsa, u ham yordam bermaydi. Masalan, diskka kirish yoki Internetga kirish uchun juda ko'p I / U qilsangiz, ha, keyin bir nechta mavzu bir darajaga qadar yordam beradi yoki hech bo'lmaganda ilovani yanada sezgir qilsin.

Ilova uchun 1 dan boshlanadigan mavzular sonini ko'paytirishni boshlayman, keyin 100 ga o'xshash narsalarga o'taman, ishlarning har bir soni uchun uchdan beshta namuna qilaman va o'zimga qarshi ishlash uchun jadval tuzaman. mavzular soni.

To'rt oqim holatini optimal darajaga etkazishingiz kerak, bundan keyin bajarish paytida kichik kuchayib borishi mumkin, lekin ehtimol emas. Arizangiz tarmoqli kengligi bilan chegaralanishi mumkin, ya'ni. Xotiraga yuklagan ma'lumotlar to'plami juda katta, siz keshda juda ko'p noqulayliklarga ega bo'lasiz va hokazo. Shunday qilib, 2 ta oqim optimaldir.

Belgilanishga qadar bilishingiz mumkin.

Htop yoki ps buyrug'ini ishlatib, kompyuteringizdagi jarayonlarning sonini qaytaradigan qancha kompyuterni ishlatishingiz mumkin.

"PS" buyrug'i uchun odam sahifasidan foydalanishingiz mumkin.

  • ps -aux | wc -l
  • ps -eLf | wc -l

Foydalanuvchi jarayonlarining sonini hisoblang:

  • ps - foydalanuvchi root | wc -l

Shu bilan bir qatorda, "htop"

Tizimning umumiy ishlashi, ayniqsa, juda ko'p rejimda, markaziy protsessorda yadro soniga bog'liq. Ular uchinchi tomon dasturiy ta'minotidan foydalanganligi yoki standart Windows usullaridan foydalanayotganini bilib olishingiz mumkin.

Ko'pgina protsessorlar endi 2-4 yadrodan iborat, ammo 6 yoki 8 yadroli o'yin kompyuterlari va ma'lumotlar markazlari uchun qimmatli modellar mavjud. Ilgari, CPU faqat bitta yadroga ega bo'lganida, barcha ishlash chastotada edi va bir vaqtning o'zida bir nechta dasturlarda ishlash OSni butunlay «osib qo'yishi» mumkin edi.

Siz o'zingizning yadrolar sonini aniqlab olishingiz va o'zingizning ishingiz sifatiga, Windows ning o'zida tuzilgan echimlardan foydalangan holda yoki uchinchi tomon dasturlarida (maqolada eng ommabop bo'lganlarni muhokama qilishingiz mumkin) foydalanishingiz mumkin.

Boshqaruv 1: AIDA64

- Bu kompyuterning ishlashini nazorat qilish va turli testlarni o'tkazish uchun mashhur dasturdir. Dasturiy ta'minot to'lovi amalga oshiriladi, ammo sinov muddati mavjud, u CPU yadro sonini aniqlash uchun yetarli. AIDA64 interfeysi to'liq rus tiliga tarjima qilingan.

Buyruqlar quyidagicha:


2-usul: CPU-Z

  - Kompyuter komponentlari haqida barcha asosiy ma'lumotlarni olish imkonini beruvchi bepul dastur. U rus tiliga tarjima qilingan sodda interfeysga ega.

Ushbu dastur yordamida yadro sonini aniqlash uchun uni ishga tushiring. Asosiy oynada, eng pastki qismida, o'ng tomonida, elementni toping "Cores". Uning qarshisida yadro sonini yoziladi.

Boshqaruv 3: Vazifa menejeri

Ushbu usul faqat Windows 8, 8.1 va 10 foydalanuvchilari uchun javob beradi. Bu bilan yadro sonini aniqlash uchun quyidagi bosqichlarni bajaring:


Boshqaruv 4: Device Manager

Ushbu usul barcha Windows versiyalari uchun javob beradi. Undan foydalanib, Intelning ba'zi protsessorlarida ma'lumotlarning to'g'ri berilishi mumkinligi esda tutish kerak. Aslida, Intel protsessorlari bir protsessor yadroini bir nechta zarrachaga ajratadigan Hyper-threading texnologiyasidan foydalanadi va natijada ishlashni yaxshilaydi. Lekin ayni paytda "Qurilma menejeri"   bir nechta turli yadrolarni bir nechta alohida yadrosi sifatida ko'rish mumkin.

Asta-sekin ko'rsatmalar quyidagi kabi ko'rinadi:


Markaziy protsessorda yadro sonini mustaqil ravishda topish oson. Agar sizda bo'lsa, kompyuter / tiz cho'kkan kompyuterning hujjatlarida ko'rsatilgan xususiyatlarni ham ko'rishingiz mumkin. Yoki "google" protsessor modeli, agar bilsangiz.

Yadro - protsessorning hisoblash birligi. Shunga ko'ra, ularning ko'pchiligi, kompyuterning bajarilishi mumkin bo'lgan buyruqlar ko'p. bir vaqtning o'zida. Bu ijobiy ta'sir ko'rsatadi ishlash   shuningdek bir vaqtning o'zida ishlaydigan jarayonlar majmuasida, shuningdek ko'p ishlov berilgan   ilovalar (masalan, "og'ir" o'yinlar   yoki video muharrirlari). Shuning uchun, sizning protsessoringizning muhim xususiyatlarini bilishingiz kerak.

Kompyuterdagi yadro sonini aniqlang

Qurilma menejeridan foydalanamiz

Kerakli ma'lumotlarni topishingiz mumkin standarti   Windows vositalari. Ochish uchun yordamchi dastur:

Natijada siz o'rnatilgan qurilmalar turlaridan iborat ro'yxatni olasiz. Bundan tashqari, " Protsessorlar". Uning chap tomonidagi o'qi bosing yoki uning nomini ikki marta bosing. Natijada bir nechta pozitsiyalar ro'yxati kengaytiriladi, ularning har biri mos keladi bir ip   jamoalari. Agar protsessoringiz hiperparallelizmni qo'llab-quvvatlasa (" Hyper Tishli"), Keyin, haqiqiy yadrolar sonini aniqlash uchun, bo'linish   bu pozitsiyalar soni 2 ga teng. Bunday texnologiya bo'lmasa, bo'linish shart emas.

Vazifa menejeri orqali

Ushbu mashhur dastur shuningdek, CPU haqida ba'zi ma'lumotlarni o'rganishga imkon beradi. Tiklashni boshlash uchun o'ng tugmasini bosing   ekranning pastki qismidagi ajratilmagan kosmosda vazifa paneli. Menyu "" yoki "" yoki " Vazifa menejerini ishga tushiring».

Windows 7. Dastur oynasida " Tezlik ko'rsatkichi».

Yuqoridagi o'ng tomonda " CPU yuklanish jadvali". Agar faqat bitta jadval mavjud bo'lsa, "" menyusiga o'ting, "" Har bir CPU jadvali bo'yicha". Natijada, ushbu grafikalar soni oqimlarning sonini ko'rsatadi. Agar protsessor giperparallelizmni qo'llab-quvvatlasa, unda fizik yadrolarning sonini aniqlash uchun grafikalar soni 2 ga bo'linadi.

Windows 10. Dastur oynasida " Ishlash».

Pastki o'ng burchakda raqamingizni o'z ichiga olgan CPU asosiy xususiyatlarini ko'rasiz jismoniy yadrolar   va oqimlar (" mantiqiy protsessorlar»).

Everest dasturidan foydalanamiz

Everest bepul yordamchi emas, biroq, uning sinov versiyasining funktsiyasini topish uchun etarli asosiy ma'lumotlar   tizim haqida.

Dastur oynasida ko'plab tasvirlarni ko'rasiz. "" Tizim kartasi».

Ko'rsatilgan belgilarda " CPU". Ochiq xususiyatlar ro'yxatida " CPU turi". Bu erda siz kerakli ma'lumotlarni topasiz.

CPU-Z orqali yadro sonini aniqlang

Ushbu dastur o'zining ixchamligi, bepul va oddiy interfeysi uchun juda mos keladi. Ishga tushgandan so'ng darhol hamma bilan tablarni ko'rasiz asosiy xususiyatlari   CPU, shu jumladan jismoniy yadrolarning soni   (ingliz tilida " Corores") Va iplar (" Mavzular»).

Biz hujjatlarni ko'rib chiqamiz

Protsessorning barcha asosiy xususiyatlari uning ustida ham ko'rsatiladi paketli   va to'liq hujjat.

Ushbu maqola kabi? Do'stlar bilan o'rtoqlashing: