Optimizacija softvera za višejezgrene procesore

poruka: 2
|
čitano: 3.955
|
moderatori: pirat, Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
Optimizacija softvera za višejezgrene procesore

Pošto je u zadnje vrijeme normalno (a i jeftino),imati višejezgreni procesor u računalu,pitanje koje želim postaviti i naći od vas prisutnih nekakv odgovor je:

Zašto se optimizacija softvera za više jezgara tako slabo kreće a mogućnosti hardvera su daleko veće nego što to većina programa može iskoristiti.Kada i koji softver će stvarno moći iskoristiti svu snagu,recimo 4 jezgre.Naravno mislim na softver koji se nalazi u široj primjeni a ne samo na specijaliziorane aplikacije.Kakva su vaša viđenje razvoja optimiziranih aplikacija?


8817,468 elektronskih cijevi,7,200 kristalnih dioda
1,500 releja,70,000 otpornika
10,000 kondenzatora,5 milijuna ručno zalemljenih spojeva,težina: 30 tona
veličina opreme (~) 2.4 m x 0.9 m x 30.5 m ili ~ 167 m2,potrošnja energije: 160 kW
ulazna jedinica: IBM čitač bušenih kartica
izlazna jedinica: IBM pisač
mod operacije: Paralelan
osnovna jedinica: 10-znamenkasti decimalni broj sa znakom (pozitivni ili negativni broj)
memorija: 20 decimalnih brojeva po 10 znamenki (200 znamenaka)
 
0 0 hvala 0
17 godina
neaktivan
offline
RE: Optimizacija softvera za višejezgrene procesor

Imaš krivi dojam da se slabo kreće. Softver se jako dugo radi za više procesora tj. za mogućnost da radi na više procesora. Igre imaju manju zastupljenost, ali dobar dio poslovnog softvera radi na više-nitnom principu. Gotovo sav softver (uvijek postoje iznimke - loši primjeri) čak i treba višenitnost jer drugačije ne radi.

Više procesora ti ne treba samo konkretno zbog jednog programa; već tvoj OS čak i kod najosnovnijih radnji može iskoristiti najmanje dvije jezgre.

 

Dvije jezgre koristiš čak i onog trenutka kada recimo komprimiraš (zipaš) datoteku i istovremeno surfaš, pišeš, chataš... bilo što. U jednom programu dva procesora ili jezgre koristiš već kada daš programu nešto da radi i nastavljaš koristiti sučelje. Ako program nije dobro napisan (višenitno) onda u trenutku kada nešto radi, sučelje se smrzne.

Potpuno iskorištavanje više jezgara također je moguće.

Uzmimo za primjer alat koji sam ja nedavno radio: alat ima zadatak da velike pakete velikih komprimiranih slika (~100-500 slika vrlo visoke rezolucije od po cirka 50-200MB) i pripadajućih meta-podataka u tab-delimitiranim datotekama raspakira i pojedinačno obradi po zadanim podacima kroz nekoliko filtera i spremi u nekoliko verzija, te automatski rasporedi po bazi podataka.

Program je napisan da radi na sustavima koji imaju od jednog do beskonačnog broja jezgara. Pri startanju detektira se broj dostupnih jezgara (procesora) i sukladno dobivenom broju, slike se paralelno obrađuju. Ako imaš dvojezgrenu mašinu obrađuju se dvije slike istovremeno, ako imaš četiri jezgre obrađuju se četiri slike istovremeno... sa 16 jezgara obrađuje ih se 16 paralelno... Praktički je ubrzanje doslovno onoliko puta koliko jezgara imaš.

To nije neuobičajen slučaj u svijetu ne-zabavnog softvera. Web serveri uživaju na višejezgrenim procesorima već dugo (dok nije bilo višejezgrenih, koristili su se višeprocesorski sustavi).

 

Igre također već neko vrijeme mogu koristiti više jezgara... World of Warcraft može koristiti dvije do 100% opterećenja, a ostatak minimalno, Crysis 4, Far Cry 2 će moći koristiti 8....

 S obzirom da ćemo s minijaturizacijom popušiti već negdje 2012. godine, višejezgrene mašine su budućnost i ono što će u raznim kombinacijama biti korak naprijed. Već sada softver radi na tom principu... već dugo, čak i najobičnije svakodnevne aplikacije, koriste višejezgrenost.

 

Budućnost su višejezgreni procesori od 8... 16... 32 itd. jezgara. Mali mini-clusteri na desktop računalima iza ugla su. Do neke granice pisati će se softver, a ići će se i na interno streamanje i paralelno procesiranje unutar samih sklopova.

 

Prošli tjedan su u Njemačkoj, baš smo imali ekskluzivno predavanje uživo iz prve ruke prošli tjedan s obzirom da je jedan od najvažnijih ljudi u timu jedan mladi kolega koji je nedavno diplomirao, izveli breaktrough s nano-tranzistorima koristeći sendvič materijale za konektore na nano žicama, što će uskoro rezultirati u procesorima u nano tehnologiji. To je slijedeći veliki korak koji nas očekuje kroz nekoliko godina... možda već do kraja narednog desetljeća.

 

Nano-tehnologija, mini clusteri unutar samih procesnih jedinica, desetine pa čak i stotine jezgara... uh:) Divota.

 

Entrepreneurs are simply those who understand that there is little difference between obstacle and opportunity and are able to turn both to their advantage.
Poruka je uređivana zadnji put sri 2.4.2008 20:39 (naxeem).
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice