Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks
Dodavanje više jezgri u mikroprocesore stvorilo je značajnu priliku za paralelno programiranje, ali potrebna je aplikacija ubojica kako bi se koncept preusmjerio u glavnu struju, navode istraživači tijekom panel rasprave na konferenciji Hot Chips.
Većina je softvera još uvijek napisana za sekvencijalne izvedbe i modeli programiranja trebaju se promijeniti kako bi iskoristili brži hardver i sve veći broj jezgri na žetonima. Programeri trebaju napisati kôd na način koji omogućuje da se zadaci podijele i izvode istodobno na više jezgri i niti.
Veliki fokus i novac uložili su se u izgradnju brzih strojeva i boljih programskih jezika, rekao je David Patterson, računalo znanstveni profesor na Kalifornijskom sveučilištu, Berkeley, na konferenciji u Stanfordu u ponedjeljak. Usporedno malo pažnje posvećeno je pisanju stolnih programa paralelno, ali aplikacije kao što su igranje i glazba mogu promijeniti to. Korisnici takvih programa zahtijevaju najbolju izvedbu u stvarnom vremenu, tako da programeri možda moraju usvojiti modele koji razbijaju zadatke preko više niti i jezgri.
Na primjer, novi oblici paralelizma mogli bi poboljšati kvalitetu reproducirane glazbe na računalima i pametnih telefona, rekao je Patterson. Kod koji ima bolji posao od odvajanja kanala i instrumenata mogao bi u konačnici stvoriti zvuk kroz paralelnu interakciju.
Kalifornijsko sveučilište, Berkeley, ima paralelni računalni laboratorij u kojem istraživači pokušavaju shvatiti kako se koriste aplikacije koje bi mogle pomoći u optimiziranju koda za ručne uređaje. Jedan projekt ima za cilj pružiti pregledavanje stolnih računala ručnim uređajima optimiziranjem koda na temelju određenih zadataka kao što je prikazivanje i raščlanjivanje stranica. Drugi projekt uključuje optimiziranje koda za brže dohvaćanje zdravstvenih informacija. Laboratorij financiraju prvenstveno Intel i Microsoft.
Berkeley istraživači pokušavaju dovesti paralelizam zamjenom bitova kodova koji su izvorno napisani pomoću skriptnih jezika kao što su Python i Ruby on Rails s novim C kodom niske razine. Novi kod posebno se usredotočuje na određene zadatke poput analize određenog glasa u aplikaciji za prepoznavanje govora, rekao je Patterson u intervjuu u srijedu. Kôd se upisuje pomoću OpenMP ili MPI sučelja aplikacijskog programiranja dizajniranog za pisanje paralelnih aplikacija na razini stroja.
Stručnjaci trebaju napisati visoko specijalizirani paralelni kod, rekao je Patterson. Smanjuje vrijeme razvoja programera koji inače koriste Python i Ruby on Rails, što olakšava razvoj aplikacija, ali se ne usredotočuje na paralelizam, rekao je Patterson u intervjuu. Laboratorij je pokazao određeni skok izvršenja zadataka faktorom 20 s niskom razinom strojnog koda.
Koncept paralelizma nije nova, a uglavnom je domena računalnih performansi visokih performansi. Niske razine paralelizma uvijek su bile moguće, ali programeri su se suočili s zastrašujućom zadaćom, uz nedostatak softverskih alata i stalno mijenjajućih hardverskih okruženja.
"Teme se moraju točno sinkronizirati", izjavio je Christos Kozyrakis, profesor elektrotehnike i računalne znanosti na Sveučilištu Stanford, tijekom prezentacije prije rasprave. Kôd mora biti napisan u obliku koji se predvidljivo ponaša i vaga dok se više jezgri postaju dostupni.
Skicači također trebaju biti pametniji i biti dovoljno oprezni da raspadaju niti na vrijeme, tako da se rezultati dobivaju u ispravnom slijedu, izjavio je Kozyrakis., Neispravni pokušaji izgradnje paralelizma u kodu mogli bi stvoriti softver koji se zadaje ako se određeni izračuni ne izvode u određenom poretku. To je problem koji se obično naziva uvjetima utrke. Koderi također trebaju naučiti kako koristiti više alata za programiranje kako bi se postigla finija razina paralelizma, rekao je panelist.
"Ne postoji lijeni dječak pristup programiranju", rekao je Patterson na konferenciji. "Memorija i latencija u mreži stvorili su uska grla u propusnosti podataka, što bi moglo negirati izvedbu ostvarenu paralelnim izvršavanjem zadataka. Postoje i različiti alati za programiranje različitih arhitektura, što otežava iskorištavanje svih raspoloživih hardvera.
Mnogi dostupni suvišni alati dizajnirani su kako bi iskoristili paralelne mogućnosti obrade procesora i jedinica za obradu grafike kako bi poboljšali performanse sustava. Apple, Intel, Nvidia i Advanced Micro Devices su među tvrtkama koje promiču OpenCL, paralelno programsko okruženje koje će biti podržano u Appleovom nadolazećem operacijskom sustavu Mac OS X 10.6, koji se također zove Snow Leopard, koji je trebao biti objavljen u petak. OpenCL se natječe s Microsoftom, koji promovira svoje vlastite DirectX paralelne alate za programiranje i Nvidia, koja nudi CUDA okvir.
OpenCL uključuje C-sličan programski jezik s API-jima (sučelja za programiranje aplikacija) za upravljanje distribucijom jezgri preko hardvera kao jezgru procesora i drugih resursa.
Svi postojeći alati usmjereni su prema različitim softverskim okruženjima i iskorištavaju različite resurse, rekao je Patterson. OpenCL mogao bi pomoći Mac OSu dekodiranju videa brže distribucijom obrade piksela na više CPU i grafičkih procesora u sustavu. Na primjer, OpenCL se usmjerava više na izvršavanje zadataka na GPU-ima. Neki modeli kao što je DirectX teško se primjenjuju u heterogenim računalnim okruženjima, dok se neki modeli poput OpenCL-a prilagođavaju samo specifičnim okruženjima koja se oslanjaju na GPU-ove.
"Mislim da se [OpenCL] neće prihvatiti u svim arhitekturama." Rekao je Patterson. "Potrebno nam je u međuvremenu težiti drugim stvarima", poput pokušaja poboljšanja na programskim modelima s uobičajenim razvojnim alatima, kao što je Ruby on Rails.
Dok su članovi publike istaknuli da je paralelizam problem za desetljeća, panelisti su rekli da sveučilišta sada vode novi pristup radu na više programskih alata kako bi se omogućio paralelizam. Nakon višegodišnjeg financiranja razvoja čipova, vlada također posvećuje više pozornosti paralelnoj obradi financiranjem programa povezanih s njima.
Kozyrakis je rekao da je Stanford uspostavio laboratorij koji ima za cilj "učiniti usporedni razvoj aplikacija praktičnim za" masu "do 2012. godine Istraživači rade s tvrtkama kao što su Intel, AMD, IBM, Sun, Hewlett-Packard i Nvidia.
Neposredni test zadataka za razvojne programere mogao bi biti pokušati pretvoriti postojeće naslijeđene kodove paralelno za izvršenje na suvremenim čipovima, Berkeley's Patterson rekao je. Nekoliko tvrtki nudi automatsku paralelizaciju, no prepisivanje i sastavljanje naslijeđenog koda, izvorno napisane za sekvencijalno izvršenje, može biti veliki izazov. "
" Postoji nešto novca u tim područjima ", rekao je Patterson.
Microsoft predstavio ubojicu Google dokumenata: Office 14
Microsoft je danas najavio planove za uvođenje web-baziranih verzija svojih osnovnih Office aplikacija koje će se bez problema integrirati tradicionalne inačice stolnog računala. Kombinacija može dati ozbiljnu konkurenciju Google Docs-u i njegovoj braći.
Ako imate puno loše nazvanih datoteka na računalu, preimenovanje ih je izuzetno dosadno, u najmanju ruku. Stoga pronalaženje izgovora da to ne učinite postaje stvarno lako. Ono što vam treba je alat za preimenovanje serije koji će vam sve to učiniti za samo nekoliko sekundi, a prikladno nazvan File Renamer nastoji biti alat za go-to na ovom području. Sve što vam treba je vaš unos da mu kažete što treba mijenjati u svakoj datoteci i sekundama kasnije, to je učinjeno. Onda se možete pitati što je
File Renamer nije besplatan program, ali možete isprobati značajku ograničenu demo. Ako vam se sviđa, možete kupiti otključanu neograničenu verziju za 20 USD. Web-lokacija aplikacije tvrdi da je File Renamer intuitivan i jednostavan za upotrebu, no istina, morate se neko vrijeme igrati s njim i primiti objesiti svako pravilo koje program upotrebljava za izmjenu prije nego što izvrši veleprodajne promjene vaših datoteka.
Freeware za masovno ili masovno preimenovanje datoteka u sustavu Windows 10/8/7
File Renamer Osnovni, Skupno preimenovanje uslužni program, datoteka Preimenovanje Turbo, ContextReplace & Advanced Renamer su najbolji besplatni programi za masovno preimenovanje ili skupno preimenovanje datoteka na Windows računalu.