Elektronika.lt
 2024 m. lapkričio 13 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 NaujienosSąrašas
 StraipsniaiSąrašas
 - Elektronika, technika
 - Kompiuterija
 - Telekomunikacijos
 - Įvykiai, visuomenė
 - Pažintiniai, įdomybės
 Vaizdo siužetaiSąrašas
 Nuolaidos, akcijosSąrašas
 Produktų apžvalgosSąrašas
 Naudingi patarimaiSąrašas
 Vykdomi projektaiSąrašas
 Schemų archyvasSąrašas
 Teorija, žinynaiSąrašas
 Nuorodų katalogai
 Įvairūs siuntiniai
 Bendravimas
 Skelbimai ir pasiūlymai
 Elektronikos remontas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Lapkričio 13 d. 12:29
Dauguma vartotojų nebepasitiki nuo sukčių nukentėjusiomis įmonėmis
Lapkričio 13 d. 10:49
Pasitikrinkite, ar jūsų telefone įjungti saugos pranešimai
Lapkričio 13 d. 08:50
Technologijos miegamajame – naujausios inovacijos gali padėti pagerinti miego kokybę
Lapkričio 12 d. 20:23
Jau 2025 m. vidutinio ir smulkiojo verslo laukia svarbūs pokyčiai – ar verta baimintis duomenų teikimo į i.EKA? (2)
Lapkričio 12 d. 18:14
Kaip „Mac“ kompiuterio garsą mažinti ar didinti mažesniais žingsneliais
Lapkričio 12 d. 16:42
KTU mokslininkų kūrinys: efektyvesnė reabilitacijos sistema po traumų, sumažinanti jų galimybę ateityje
Lapkričio 12 d. 14:46
Elektrinių paspirtukų paruošimas žiemojimui: ką svarbu žinoti?
Lapkričio 12 d. 12:47
VU ekspertų diskusija: Nobelio premijos laureatų mokslas – kasdienybė Saulėtekyje
Lapkričio 12 d. 10:25
Lietuvoje debiutuos du nauji „Kia“ elektromobiliai
Lapkričio 12 d. 08:18
Dirbtinio intelekto įrankiai mokyklose: kurios šalys šią technologiją panaudoja veiksmingiausiai?
FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods
Reklama
 Straipsniai » Kompiuteriai, IT Dalintis | Spausdinti

Daugiabranduolių procesorių programinė įranga

Publikuota: 2008-12-29 07:08
Tematika: Kompiuteriai, IT
Skirta: Profesionalams
Autorius: Saulius Minkevičius
Aut. teisės: el. paštas ©Lietuvos Rytas, UAB
Inf. šaltinis: el. paštas Kompiuterija

Kodėl naujų procesorių potencialas atskleidžiamas taip sunkiai? Naujas lustų dizainas nėra vienintelė priežastis. Jei programinės įrangos kūrėjai iš karto numatytų darbą daugiabranduoliais procesoriais, šiandien išspaustų didesnį beveik visų programų našumą. Aptarsime problemas, kylančias kuriant daugiabranduolių procesorių programinę įrangą, taip pat supažindinsime su programinės įrangos našumo pokyčių matavimais.

 Rodyti komentarus (1)
Įvertinimas:  1 2 3 4 5 
„Core 2 Quad“

Daugiabranduoliai procesoriai rinkoje pasirodė jau senokai, bet iki šiol beveik nėra programų, gebančių išnaudoti visus jų skaičiavimo pajėgumus. Kompiuterių rinkoje skubama mėgautis šūkiais: ,,Keturis kartus didesnis našumas – už 700 Lt“. Čia turima galvoje Intel keturių branduolių procesorius „Core 2 Quad“. Žinoma, esant optimaliam operacinės sistemos ir programinės įrangos santykiui, šis procesorius lenkia brangiausius dvibranduolius procesorius. Tačiau nepaisant mažos kainos dauguma vartotojų laukia. Šiandien tik nedaugelis programų pajėgios suteikti didesnį našumą naudojant kelis branduolius. Kai kurios programos daugelio branduolių terpėje veikia lėčiau nei vieno.

Kodėl naujų procesorių potencialas atskleidžiamas taip sunkiai? Naujas lustų dizainas nėra vienintelė priežastis. Jei programinės įrangos kūrėjai iš karto numatytų darbą daugiabranduoliais procesoriais, šiandien išspaustų didesnį beveik visų programų našumą. Aptarsime problemas, kylančias kuriant daugiabranduolių procesorių programinę įrangą, taip pat supažindinsime su programinės įrangos našumo pokyčių matavimais (tai gali pateikti programos, skirtos darbui aštuonių branduolių procesoriais).

Daug srautų ir didysis paskirstymo menas

Tam, kad programa gebėtų naudotis keletu branduolių, ji turi veikti lygiagretumo režimu (yra atskiri skaičiavimo srautai – gijos (threads)). Esant daugelio srautų režimui (multithreading), programos dalis, reikalaujanti intensyvių skaičiavimų, gali veikti foniniu režimu. Bet, pavyzdžiui, programos sąsaja gali nuolat atsinaujinti kaip nedidelis atskiras duomenų srautas. Tiesa, tai beveik nesuteikia bendro našumo padidėjimo, nes operacijos (nors ir paskirstytos tolygiai per visą skaičiavimo laiką) vis dėlto atliekamos viena paskui kitą.

Procesoriai atskleidžia potencialą

Pateikiame spartos palyginimą procentais.

Archyvavimo programa „WinRAR 3.71“

Archyvavimo programa „WinRAR 3.71“

Silpnai. „WinRAR“ nėra skirta darbui su keliais branduoliais. Failo suspaudimo procesas beveik nepaspartėja.

3D žaidimas „World in Conflict“

3D žaidimas „World in Conflict“

Vidutiniškai. Tokie žaidimai kaip „World in Conflict“ paprastai spartina darbą tik su dviem arba keturiais branduoliais.

Vaizdo kodavimo programa „MainConcept H.264 Pro“

Vaizdo kodavimo programa „MainConcept H.264 Pro“

Puikiai. Paralelizacija, koduojant vaizdo failą, daro šią programą gana efektyvią daugelio branduolių terpėje.

Hipersrautų (hiperthreading) technologijos „Intel Pentium 4“ procesoriai pradėjo veikti su dviem loginiais branduoliais, gebančiais vienu metu atlikti dvi skaičiavimo operacijas. Tačiau kilo rimtų problemų. Vienu metu vykdant du procesus, kuriems būtina prieiga prie vieno ištekliaus (pavyzdžiui, prie atmintinės ląstelės), vienas srautas gali atlikti skaičiavimus anksčiau. Tuo metu kito srauto skaičiavimo rezultatas bus dar neparuoštas, todėl šis srautas negali panaudoti bendro ištekliaus. Tai – vadinamoji lenktynių būsena (race-condition).

Kita problema – srautai gali trukdyti vienas kitam, laukdami prieigos prie vieno ištekliaus ir blokuodami tuo pat metu kitą. Ši būsena vadinama tarpusavio blokiruote (deadlock). Dvibranduoliuose procesoriuose problemos apsiriboja dviem srautais (threads), o didinant branduolių skaičių problemos gerokai sudėtingesnės, tad programinės įrangos kūrėjams tenka ieškoti naujų sprendimų.

Daugiabranduolių technologijų privalumai ir trūkumai

Priklausomybė nuo skaičiavimų dažnai trukdo efektyviai pritaikyti paralelizaciją. Pateiksime du pavyzdžius. Programa, kurioje kiekviena operacija reikalauja prieš tai buvusių skaičiavimų rezultato, nesuteikia skaičiavimų spartos padidėjimo. Klasikinis pavyzdys – kiškių populiacijos padidėjimo skaičiavimas (vadinamieji Fibonačio skaičiai).

Dauguma taikomųjų programų nepritaikytos keleto branduolių technologijoms. Archyvavimo programa „WinRAR 3.71“ naudoja tik vieną branduolį. Žaidimų kūrėjai taip pat neskuba (nors jiems paralelizacija turėtų būti gerai žinoma). Juk grafiniai lustai jau senokai atlieka lygiagrečius skaičiavimus. Tik kai kurie žaidimai (pavyzdžiui, World in Conflict) geba perkelti savo personažų dirbtinį intelektą ir skaičiavimus į keleto branduolių terpę. Todėl vartotojai, naudojantys dviejų ar keturių branduolių procesorius, gali pastebėti našumo padidėjimą.

Paralelizacija gali būti įdomi vaizdo kodavimui, nes leidžia pasiekti įspūdingą našumo didėjimą. Kvalifikuotas srautų formavimas suteikia galimybę greičiau įvykdyti transformaciją tarp dviejų atraminių kadrų arba judėjimo vektorių interpoliaciją. Štai kodavimo programa „H 264 Pro“, kurią sukūrė kompanija MainConcept, gerai veikia tiek su vienu, tiek su aštuoniais branduoliais.

Patogumas arba kruopštumas: „Intel Compiler 10“ prieš „OpenMP“

Siekdama išspręsti šias problemas, Intel programuotojams siūlo patogią paralelizacijos priemonę „Intel Compiler 10“ (bandomąją versiją galima atsisiųsti iš www.intel.com/software tinklalapio). Kompiliacijos proceso metu ši priemonė analizuoja programinį kodą ir, esant galimybei, padalija programą į keletą srautų. Aišku, „Intel Compiler 10“ nėra stebuklinga lazdelė – automatinė paralelizacija pavyksta tik tuo atveju, jei kompiliatorius „užtikrintas“, kad nebus anksčiau minėtų dead-lock arba race-condition situacijų. Be to, ši priemonė pasižymi konservatyvumu ir dažnai sukuria programas, gebančias skaičiuoti tik nuosekliai. Todėl tam tikrą optimizaciją gali pasiekti tik programuotojas, tiksliai žinantis, kokie jo programos elementai turi veikti nepriklausomai vienas nuo kito.

Nuo 1997 metų šiems tikslams naudojama programavimo sistema „OpenMP“, kuria programuotojas gali atlikti paralelizaciją su vienu ar kitu pradinio kodo elementu. „OpenMP“ veikia programuojant C/C++ ir FORTRAN kalbomis. Ekspertų nuomone, ši sistema yra idealus pagrindas kuriant daugiabranduolę programinę įrangą.

Informacija

  • whatif.intel.com – tinklalapis programinės įrangos daugiabranduolių procesorių kūrėjams.
  • www.openmp.org – „OpenMP“ rinkinio (kartu su dokumentacija) tinklalapis.

Kompiuterija



Draudžiama platinti, skelbti, kopijuoti
informaciją su nurodyta autoriaus teisių žyma be redakcijos sutikimo.

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas


Reklama
‡ 1999–2024 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama