Elektronika.lt
 2024 m. lapkričio 26 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 26 d. 11:35
Dinamiškas ir universalus: antros kartos „Audi Q5 Sportback“
Lapkričio 26 d. 08:35
„Sony“ pristato antros kartos „Alpha 1 II“ pilno kadro fotoaparatą
Lapkričio 25 d. 20:25
Elektrinis sunkvežimis „Renault Trucks E-Tech T“ viena įkrova nuvažiuos 600 km
Lapkričio 25 d. 17:22
„Sony“ pristato pirmąjį „G Master“ standartinį priartinantį objektyvą su pastovia F2 diafragma
Lapkričio 25 d. 14:49
Apsaugokite savo namus: gyventojų klaidos, kurios traukia vagis, ir ekspertų sprendimai
Lapkričio 25 d. 11:20
Iš proto varanti senutė: kaip DI kovoja su telefoniniais sukčiais?
Lapkričio 25 d. 08:34
Kaip ištrinti fono paveikslėlį „iPhone“
Lapkričio 24 d. 15:39
Interneto greitis: kaip suprasti, kokio iš tikrųjų reikia?
Lapkričio 24 d. 11:39
Lietuvos ekranų tendencijos
Lapkričio 23 d. 15:27
„Garmin“ pristato pirmąjį didelio formato nardymo kompiuterį „Descent X50i“
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,
FS25 Maps
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