Clarificare procesoare multicore (hyperthreading ,dualcore, quadcore,etc.)
« DriverMax - must have software | Main | Litoralul românesc vs. restu' lumii »
Multe persoane ale căror calculatoare sunt dotate cu procesoare multi-core înțeleg puțin greșit respectivul concept.
Lumea vine acasă cu noul procesor multi core, pornește calculatorul, bagă rapid o aplicație CPU-intensive și când se uită în Windows Task Manager vede doar un singur procesor peste 95%. Celălalt se odihnește liniștit sub 5%. ![]()
Și apoi respectivii se întreabă de ce respectivul procesor nu se năpustește asupra bietei aplicații cu toată puterea de procesare de care este capabil. Apoi încep acuzațiile, Intel sucks, mai bine luam AMD, Windows sucks, o să pun Linux...
Adevărul este altul. ![]()
Marea majoritate a aplicațiilor din prezent nu sunt scrise cu suport SMP (Simetrical Multi Processing). Adică aplicații vor ști a folosi doar un singur procesor la un moment dat. Acest aspect nu ține de sistemul de operare, ci de aplicația în sine. Sistemul de operare, trebuie și poate oferi suportul pentru rularea aplicațiilor în regim SMP, dar este obligatoriu ca și aplicațiile să fie scrise special pentru așa ceva.
Procesoarele multi core nu se încarcă în mod egal sau aproximativ egal în funcție de aplicație. Procesoarele NU vor face load-balancing pentru un singur proces (aplicație). Adică nu vă așteptați ca o aplicație să se repartizeze în mod relativ egal pe numărul de core-uri prezente.
Da, o aplicație task-intensive vă poate "ține" un procesor peste 95%, dar celălalt va sta liniștit în idle.
În acest moment urmează întrebarea: "Păi și atunci la ce naigba e bun un dual core?" ![]()
Păi, așa cum am spus un procesor nu va face load-balancing pentru o singură aplicație, dar va face load-balancing între mai multe aplicații.
Spre exemplu, la un procesor dualcore, unul din core-uri se va ocupa de arhivarea cu Winrar (7-zip sucks) iar celălalt procesor se va ocupa cu decodarea unui film divx. În nici un caz nu vor participa simultan ambele și la partea de decodare și la cea de arhivare.
Acum să nu credeți că un procesor multi-core ar putea fi utilizat neeficient în cazul că mai multe aplicații se vor duce pe un singur core iar celălalt va rămâne liber/neîncărcat.
Procesoarele pot muta/transfera cu ușurință un proces de pe un core pe altul, important este să rețineți că la un moment dat un singur core se va ocupa de respectiva aplicație.
Metaforic vorbind, este ca și cum ai avea o pâine, un cuțit și două mâini. Cuțitul care va tăia pâinea va fi ținut la un moment dat cu o singură mână nu cu ambele! Desigur poți schimba mâna. ![]()
Pentru cei care cred că sunt mai buni gospodari decât microprocesorul când vine vorba de load management, trebuie știut că un proces (aplicație) poate fi izolat să ruleze doar pe un singur core, fără ca respectiva aplicație să mai fie repartizată în mod dinamic de către microprocesor pe un core sau altul. O astfel de aplicație care să vă permită izolarea, este SMP Seesaw. ![]()
Tags: geek tehnic eficienta
Dar optiunea 'Set Affinity' din Task Manager nu face acelasi lucru ca si acea aplicatie? Intreb doar de curiozitate :-/
I hope this is the correct spot to post this. You can call me Kathy. My Hobbies are --- cure for diseases --- see how anyone can menopause cures.I'll be checking out more of programaresociala.ro http://menopause-cures.com/menopause-symptoms-cure.gif</img>
http://menopausecures.livejournal.com/


Foarte misto scrisa insemnarea. Felicitari!