Kirjoittaja Aihe: Useampia prosesseja käyntiin samaan aikaan  (Luettu 1712 kertaa)

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Useampia prosesseja käyntiin samaan aikaan
« : 27.03.13 - klo:18.44 »
Lainaus
Voisitko hieman valottaa tuota rinnakkaisprosessointia ? Xarg:illa toteutuksen teorian arvostelua olen joskus nähnyt, mutta en yhtään toimivaa esimerkkiä. Eikä minulla ole edes käsitystä, kuinka edullista sitä on BASH:issa käyttää.

Tuo idea on hyvin yksinkertainen, and-merkki "&" heittää ohjelman taustalle ja voit käynnistää heti toisen ohjelman jälleen "&" merkillä taustalle odottelematta että tuo edellinen valmistuu  ja niin edelleen kunnes haluttu määrä prosesseja on käynnissä.   Toki pitää suunnitellä miten tehtävä pilkotaan rinnakkain suoritettavaksi.  

Tästä tavasta on on hyötyä erityisesti ohjelmoinnissa jos pitää tehdä iso määrä aikaa vieviä samankaltaisia toimenpiteitä jotka eivät kuitenkaan kuormita raskaasti.  Jos ajatellaan vaikka että pitää tehdä 1000 kpl toimenpiteitä jotka kukin vievät sekunnin aikaa niin peräkkäin tehtynä tuossa menee 1000 s. mutta rinnakkain tehtynä  valmista on erittäin nopeasti mutta ei kuitenkaan yhdessä sekunnissa.

Jos aikaa vievät peräkkäiset tehtävät pystyy pilkkomaan jotenkin niin että niitä voi ajaa rinnakkain niin siitä on vaihtelevassa määrin hyötyä nopeutumisena.    

 


« Viimeksi muokattu: 27.03.13 - klo:18.51 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Postimies

  • Käyttäjä
  • Viestejä: 2619
    • Profiili
Vs: Useampia prosesseja käyntiin samaan aikaan
« Vastaus #1 : 27.03.13 - klo:20.41 »
Käännöksissä nopeuttaa make -j5 (hyvä arvo jos 4 prosessoria). Merkitys kasvaa jos hidas kone. Esim. kernelin käännösaika voi puolittua kun käännös jaetaan rinnakkaisiin prosesseihin. Skriptien teossa suoritusteho voi parantua kun ohjelman kutsun perään lisätään &. Aina toki ei mahdollista. Nykyään terminaaliin voi avata useita välilehtiä jolloin rinnakkain suorittaminen onnistuu helposti.  Skriptit sitten taas toinen juttu.

welmar

  • Käyttäjä
  • Viestejä: 1582
    • Profiili
Vs: Useampia prosesseja käyntiin samaan aikaan
« Vastaus #2 : 27.03.13 - klo:22.20 »
Käännöksissä nopeuttaa make -j5 (hyvä arvo jos 4 prosessoria).
Funtoossa tuon voi laittaa make.confiin mutta miten Ubuntussa? Ei ole tosin paljon ollut tarvetta kääntää mitään ubuntussa kun lähes kaiken saa jos ei virallisista lähteistä niin jostain ppa:sta tai valmiista deb-paketista.

Postimies

  • Käyttäjä
  • Viestejä: 2619
    • Profiili
Vs: Useampia prosesseja käyntiin samaan aikaan
« Vastaus #3 : 29.03.13 - klo:14.11 »
Funtoossa tuon voi laittaa make.confiin mutta miten Ubuntussa?
Käsittääkseni make.conf asetus vaikuttaa vain paketinhallintaan. Jos lataat gitillä vaikka uusimman xbmc version voit testata nopeuseroa make ja make -j5 välillä (tee make clean välissä. Ubuntussa monia suhteellisen vanhoja softia. Mitäs muita softia on joissa voi vaikuttaa komentorivillä miten työt suoritetaan? Monet vidopakkaajat taitavat olla sellaisia. Töitä voi jakaa myös grafiikkakortin suorittimelle jos ajuri/softa mahdollistaa. Voisi olla kätevää vaikka fraktaalien laskennassa.