Id-dar > Wirja > Il-kontenut

Effetti tas-softwer tal-proċessur multi-core

Mar 14, 2019

Verżjoni antikwata ta 'applikazzjoni kontra l-virus tista' toħloq ħajt ġdid għal proċess ta 'skennjar, filwaqt li l-ħajt GUI tiegħu jistenna kmandi mill-utent (eż. Tikkanċella l-iskan). F'tali każijiet, arkitettura b'ħafna qalba hija ta 'benefiċċju żgħir għall-applikazzjoni nnifisha minħabba li l-ħajta waħdanija tagħmel l-irfigħ tqil kollu u l-inkapaċità li tibbilanċja x-xogħol b'mod ugwali bejn diversi qlub. L-ipprogrammar ta 'kodiċi tassew multidreaded spiss jirrikjedi koordinazzjoni kumplessa ta' ħjut u jista 'faċilment jintroduċi bugs sottili u diffiċli biex jinstabu minħabba l-interweaving tal-ipproċessar fuq dejta kondiviża bejn il-ħjut (ara s-sigurtà tal-ħajt). Konsegwentement, kodiċi bħal dan huwa ħafna iktar diffiċli biex jiġi ddebugjat minn kodiċi ta 'kamin wieħed meta jinkiser. Kien hemm nuqqas perċepit ta 'motivazzjoni għall-kitba ta' applikazzjonijiet bil-kamin fuq livell tal-konsumatur minħabba r-rarità relattiva tad-domanda fil-livell tal-konsumatur għal użu massimu ta 'ħardwer tal-kompjuter. Għalkemm applikazzjonijiet bil-kamin iġibu magħhom ftit penali ta 'prestazzjoni addizzjonali fuq magni ta' proċessur wieħed, l-ispejjeż żejda żejda tal-iżvilupp kienu diffiċli li jiġu ġġustifikati minħabba l-preponderanza ta 'magni bi proċessur wieħed. Barra minn hekk, ħidmiet tas-serje bħall-iddekowdjar ta 'l-algoritmi ta' kodifikazzjoni ta 'l-entropy użati fil-codecs tal-vidjow huma impossibli li jiġu parallelizzati minħabba li kull riżultat iġġenerat jintuża biex jgħin fil-ħolqien tar-riżultat li jmiss ta' l-algoritmu ta 'dekodifikazzjoni ta' l-entropija.


Minħabba l-enfasi dejjem tiżdied fuq id-disinn taċ-ċippa b'ħafna qalba, li tirriżulta mill-problemi gravi tal-konsum termali u tal-enerġija maħluqa minn kwalunkwe żieda sinifikanti oħra fil-veloċitajiet tal-arloġġ tal-proċessur, il-punt sa fejn is-softwer jista 'jkun multithreaded biex jieħu vantaġġ minn dawn iċ-ċipep il-ġodda x'aktarx ikun l-akbar restrizzjoni unika fuq il-prestazzjoni tal-kompjuter fil-futur. Jekk l-iżviluppaturi ma jkunux kapaċi jiddisinjaw softwer biex jisfruttaw bis-sħiħ ir-riżorsi pprovduti minn diversi qlub, allura fl-aħħar mill-aħħar jilħqu limitu ta 'prestazzjoni insormontabbli.


Is-suq tat-telekomunikazzjoni kien wieħed mill-ewwel li kien jeħtieġ disinn ġdid ta ’pproċessar ta’ pakketti paralleli tad-datapath minħabba li kien hemm adozzjoni mgħaġġla ta ’dawn il-proċessuri b’ħafna multipli għad-datapath u l-pjan ta’ kontroll. Dawn l-MPUs ser jissostitwixxu l-Proċessuri tan-Netwerk tradizzjonali li kienu bbażati fuq mikrokodiċi proprju jew picocode.


Tekniki ta 'programmazzjoni parallela jistgħu jibbenefikaw minn kampjuni multipli direttament. Xi mudelli ta 'programmazzjoni parallela eżistenti bħal Cilk Plus, OpenMP, OpenHMPP, FastFlow, Skandium, MPI, u Erlang jistgħu jintużaw fuq pjattaformi multi-core. Intel introduċiet estrazzjoni ġdida għall-paralleliżmu C ++ imsejjaħ TBB. Sforzi oħra ta 'riċerka jinkludu s-Sistema tal-Għarbel Codeplay, il-Kappella ta' Cray, il-Fortress ta 'Sun, u l-IBM X10.


L-ipproċessar multi-core affettwa wkoll l-abbiltà ta 'żvilupp modern ta' softwer tal-komputazzjoni. L-iżviluppaturi li jipprogrammaw f'lingwi ġodda jistgħu jsibu li l-lingwi moderni tagħhom ma jappoġġawx funzjonalità multi-core. Dan imbagħad jirrikjedi l-użu ta 'libreriji numeriċi biex jaċċessaw kodiċi miktub f'lingwi bħal C u Fortran, li jwettqu kalkoli matematiċi aktar mgħaġġla minn lingwi ġodda bħal C #. L-ACML tal-MKL tal-Intel u tal-AMD huma miktuba f'dawn il-lingwi nattivi u jieħdu vantaġġ mill-ipproċessar multi-core. L-ibbilanċjar tal-ammont ta 'xogħol tal-applikazzjoni mal-proċessuri jista' jkun problematiku, speċjalment jekk ikollhom karatteristiċi ta 'prestazzjoni differenti. Hemm mudelli kunċettwali differenti biex tittratta l-problema, pereżempju bl-użu ta 'lingwa ta' koordinazzjoni u elementi li jibnu l-programm (libreriji ta 'programmar jew funzjonijiet ta' ordni ogħla). Kull blokk jista 'jkollu implimentazzjoni nattiva differenti għal kull tip ta' proċessur. L-utenti sempliċement jipprogrammaw li jużaw dawn l-estrazzjonijiet u kompilatur intelliġenti jagħżel l-aqwa implimentazzjoni bbażata fuq il-kuntest.


L-immaniġġjar tal-konkurunita jakkwista rwol ċentrali fl-iżvilupp ta 'applikazzjonijiet paralleli. Il-passi bażiċi fit-tfassil ta ’applikazzjonijiet paralleli huma:


Tqassim

L-istadju tat-taqsim ta 'disinn huwa maħsub biex jesponi opportunitajiet għal eżekuzzjoni parallela. Għalhekk, l-enfasi hija fuq id-definizzjoni ta 'numru kbir ta' kompiti żgħar sabiex tagħti dak li jissejjaħ dekompożizzjoni mrammla ta 'problema.

Komunikazzjoni

Il-kompiti ġġenerati minn diviżjoni huma maħsuba biex jeżegwixxu fl-istess ħin imma ma jistgħux, b'mod ġenerali, jeżegwixxu b'mod indipendenti. Il-komputazzjoni li għandha titwettaq f'xogħol wieħed tipikament teħtieġ dejta assoċjata ma 'kompitu ieħor. Imbagħad id-dejta għandha tiġi trasferita bejn il-kompiti sabiex il-komputazzjoni tkun tista 'tipproċedi. Dan il-fluss ta 'informazzjoni huwa speċifikat fil-fażi ta' komunikazzjoni ta 'disinn.

Agglomerazzjoni

Fit-tielet stadju, l-iżvilupp jimxi mill-astratt lejn il-konkrit. L-iżviluppaturi jirrevedu d-deċiżjonijiet meħuda fil-fażijiet ta 'tqassim u komunikazzjoni bil-ħsieb li jiksbu algoritmu li jeżegwixxi b'mod effiċjenti fuq xi klassi ta' kompjuter parallel. B'mod partikolari, l-iżviluppaturi jikkunsidraw jekk ikunx utli li jiġu kkombinati, jew agglomerati, kompiti identifikati mill-fażi ta 'taqsim, sabiex jipprovdu numru iżgħar ta' kompiti, kull wieħed ta 'daqs akbar. Jiddeterminaw ukoll jekk hux utli li nirreplikaw id-data u l-komputazzjoni.

Immappjar

Fir-raba 'u l-aħħar stadju tat-tfassil ta ’algoritmi paralleli, l-iżviluppaturi jispeċifikaw fejn kull kompitu għandu jwettaq. Din il-problema tal-immappjar ma tinqalax fuq uniprocessors jew fuq kompjuters ta 'memorja kondiviża li jipprovdu skedar tal-kompiti awtomatiku.

Min-naħa l-oħra, min-naħa tas-server, proċessuri multi-core huma ideali minħabba li jippermettu li ħafna utenti jikkonnettjaw ma 'sit simultanjament u jkollhom ħjut ta' eżekuzzjoni indipendenti. Dan jippermetti s-servers tal-Web u s-servers tal-applikazzjoni li għandhom fluss ta 'flussi aħjar.


Liċenzjar

Il-bejjiegħa jistgħu jilliċenzjaw xi softwer "għal kull proċessur". Dan jista 'jwassal għal ambigwità, minħabba li "proċessur" jista' jkun magħmul minn qalba waħda jew minn taħlita ta 'qlub.


Inizjalment, għal uħud mis-softwer tal-intrapriża tagħha, Microsoft kompliet tuża sistema ta 'liċenzjar per socket. Madankollu, għal xi softwer bħal BizTalk Server 2013, SQL Server 2014, u Windows Server 2016, Microsoft biddlet għal liċenzjar per-core.

Oracle Corporation tgħodd AMD X2 jew Intel CPU b 'qalba doppja bħala proċessur wieħed [ċitazzjoni meħtieġa] iżda tuża metriċi oħra għal tipi oħra, speċjalment għal proċessuri b'aktar minn żewġ qlub.