Ero sivun ”Distcc” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
Teksturi (keskustelu | muokkaukset)
pEi muokkausyhteenvetoa
päivitys
 
(5 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
[[Kuva:Distccmon.png|thumb|right|200px|Distccmon näyttää työpöydällä graafisesti hajautetun käännöksen edistymisen.]]
{{Ohjelma
Distcc on avoin ja nopea hajautettu [[C]]/[[C plus plus|C++]] kääntäjä. Sen avulla voit valjastaa verkossasi olevien koneiden prosessoritehot [[Kernelin kääntäminen|kääntämään vaikkapa kerneliä]]. Distcc on oikeastaan [[GCC|GCC:n]] edusta (front-end), jolla käännösprosessi saadaan hajautettua verkkoon. Kun distcc-palvelimet on asennettu, voit kääntää ohjelmia seuraavasti:
| nimi          = Distcc
| logo          =
| kuva          = [[Kuva:Distccmon.png|200px]]
| kuvateksti    = Distccmon näyttää työpöydällä graafisesti hajautetun käännöksen edistymisen.
| tekijä        = Andrew Tridgell
| kehittäjä      = Distcc-yhteisö
| moottori      = [[GCC]], [[G++]], [[Clang]]
| ensijulkaisu  = 2002
| vakaaversio    = 3.4
| vakaapvm      = 11. toukokuuta 2021
| kehitysversio  =
| kehityspvm    =
| ohjelmoitu    = [[C]]
| käyttöliittymä = Komentorivi (CLI) ja GUI (Distccmon)
| tyyppi        = Hajautettu käännösjärjestelmä
| lisenssi      = [[GPLv2]]
| kotisivu      = [https://distcc.github.io/ distcc.github.io]
| lähdekoodi    = [https://github.com/distcc github.com/distcc]<br>[https://github.com/distcc github.com/distcc]
}}
'''Distcc''' on avoin ja nopea hajautettu [[C]]/[[C++]]-kääntäjä. Sen avulla voit valjastaa verkossasi olevien koneiden prosessoritehot kääntämään vaikkapa kernelin. Distcc on oikeastaan [[GCC|GCC:n]] edusta (front-end), jolla käännösprosessi saadaan hajautettua verkkoon.
 
== Toimintaperiaate ==
Distcc toimii asentamalla proxy-kääntäjän (distcc) jokaiseen käännökseen osallistuvaan tietokoneeseen.
 
* '''1. Hajautus:''' Kun käännös aloitetaan pääkoneella, Distcc ottaa kääntämistehtävät vastaan, mutta lähettää jokaisen yksittäisen lähdekooditiedoston käännöksen (yleensä esikäsiteltynä) verkossa oleville apukoneille suoritettavaksi.
* '''2. Käytön optimointi:''' Työasemien prosessorikuorma on yleensä erittäin vähäinen. Tämän avulla verkon päässä työttömänä oleva laskentavoima saadaan klusteroitua käännöskäyttöön.
* '''3. Käyttöystävällisyys:''' Kun distcc-prosessien [[prioriteetti]] asetetaan matalaksi, työasemakäyttäjälle hyötykäyttöön otettu tyhjäkäyntiteho ei edes näy koneen tahmaisuuden lisääntymisenä.
 
== Käyttö ==
Käyttö on suoraviivaista. Palvelimet on asennettava ensin, ja käännösympäristö määritellään kahdella askeleella.
 
'''1. Palvelimien määritys'''<br>
Käytettävien käännöspalvelimien hostname-nimet tai [[IP]]-osoitteet määritellään ympäristömuuttujaan:


Laitetaan ensin käytettävien käännöspalvelimien hostnamet tai [[IP]]-osoitteet ympäristömuuttujaan:
  export DISTCC_HOSTS='localhost red green blue'
  export DISTCC_HOSTS='localhost red green blue'


Ja sitten kääntämään (mitä sitten käännätkin). -j-parametrin perässä oleva numero tarkoittaa yhtäaikaisten säikeiden määrää. Tätä kannattaa tietysti soveltaa myös moniprosessorikoneilla.
'''2. Kääntäminen'''<br>
Tämän jälkeen käännös käynnistetään asettamalla C-kääntäjäksi (CC) distcc ja määrittelemällä rinnakkaisten säikeiden määrä (''-j''-parametri):
 
  make -j8 CC=distcc
  make -j8 CC=distcc


Työasemien prosessorikuorma on yleensä erittäin vähäinen, tämän avulla verkon päässä työttömänä oleva laskentavoima saadaan klusteroitua käännöskäyttöön. Kun distcc-prosessien [[prioriteetti]] asetetaan matalaksi, työasemakäyttäjälle hyötykäyttöön otettu tyhjäkäyntiteho ei edes näy koneen tahmaisuuden lisääntymisenä. Varsinkin [[Gentoo]]-käyttäjille distcc on hyödyllinen, sillä lähdekoodipohjaisena jakeluna Gentoon asentaminen vaatii paljon kääntämistä.
-j-parametrin perässä oleva numero tarkoittaa yhtäaikaisten säikeiden määrää. Tätä kannattaa tietysti soveltaa myös moniprosessorikoneilla.


==Aiheesta muualla==
== Soveltuvuus ==
*[http://distcc.samba.org/index.html Distcc:n kotisivu]
Varsinkin [[Gentoo]]-käyttäjille Distcc on hyödyllinen, sillä lähdekoodipohjaisena jakeluna Gentoon asentaminen vaatii paljon kääntämistä. Distcc mahdollistaa näiden pitkien käännösaikojen merkittävän lyhentämisen. Työasemien prosessorikuorma on yleensä erittäin vähäinen, tämän avulla verkon päässä työttömänä oleva laskentavoima saadaan klusteroitua käännöskäyttöön. Kun distcc-prosessien [[prioriteetti]] asetetaan matalaksi, työasemakäyttäjälle hyötykäyttöön otettu tyhjäkäyntiteho ei edes näy koneen tahmaisuuden lisääntymisenä.  
*[http://distcc-livecd.sourceforge.net/ Distcc-livecd]


[[Luokka:Kehitystyökalut]]
[[Luokka:Kehitystyökalut]]
[[Luokka:Komentorivi]]
[[Luokka:Komentorivin erikoisohjelmat]]

Nykyinen versio 15. marraskuuta 2025 kello 00.57

Distcc

Distccmon näyttää työpöydällä graafisesti hajautetun käännöksen edistymisen.
Tekijä(t) Andrew Tridgell
Kehittäjä(t) Distcc-yhteisö
Moottori GCC, G++, Clang
Ensijulkaisu 2002
Vakaa versio 3.4  / 11. toukokuuta 2021
Ohjelmoitu C
Käyttöliittymä Komentorivi (CLI) ja GUI (Distccmon)
Tyyppi Hajautettu käännösjärjestelmä
Lisenssi GPLv2
Kotisivu distcc.github.io
Lähdekoodi github.com/distcc
github.com/distcc

Distcc on avoin ja nopea hajautettu C/C++-kääntäjä. Sen avulla voit valjastaa verkossasi olevien koneiden prosessoritehot kääntämään vaikkapa kernelin. Distcc on oikeastaan GCC:n edusta (front-end), jolla käännösprosessi saadaan hajautettua verkkoon.

Toimintaperiaate

[muokkaa]

Distcc toimii asentamalla proxy-kääntäjän (distcc) jokaiseen käännökseen osallistuvaan tietokoneeseen.

  • 1. Hajautus: Kun käännös aloitetaan pääkoneella, Distcc ottaa kääntämistehtävät vastaan, mutta lähettää jokaisen yksittäisen lähdekooditiedoston käännöksen (yleensä esikäsiteltynä) verkossa oleville apukoneille suoritettavaksi.
  • 2. Käytön optimointi: Työasemien prosessorikuorma on yleensä erittäin vähäinen. Tämän avulla verkon päässä työttömänä oleva laskentavoima saadaan klusteroitua käännöskäyttöön.
  • 3. Käyttöystävällisyys: Kun distcc-prosessien prioriteetti asetetaan matalaksi, työasemakäyttäjälle hyötykäyttöön otettu tyhjäkäyntiteho ei edes näy koneen tahmaisuuden lisääntymisenä.

Käyttö

[muokkaa]

Käyttö on suoraviivaista. Palvelimet on asennettava ensin, ja käännösympäristö määritellään kahdella askeleella.

1. Palvelimien määritys
Käytettävien käännöspalvelimien hostname-nimet tai IP-osoitteet määritellään ympäristömuuttujaan:

export DISTCC_HOSTS='localhost red green blue'

2. Kääntäminen
Tämän jälkeen käännös käynnistetään asettamalla C-kääntäjäksi (CC) distcc ja määrittelemällä rinnakkaisten säikeiden määrä (-j-parametri):

make -j8 CC=distcc

-j-parametrin perässä oleva numero tarkoittaa yhtäaikaisten säikeiden määrää. Tätä kannattaa tietysti soveltaa myös moniprosessorikoneilla.

Soveltuvuus

[muokkaa]

Varsinkin Gentoo-käyttäjille Distcc on hyödyllinen, sillä lähdekoodipohjaisena jakeluna Gentoon asentaminen vaatii paljon kääntämistä. Distcc mahdollistaa näiden pitkien käännösaikojen merkittävän lyhentämisen. Työasemien prosessorikuorma on yleensä erittäin vähäinen, tämän avulla verkon päässä työttömänä oleva laskentavoima saadaan klusteroitua käännöskäyttöön. Kun distcc-prosessien prioriteetti asetetaan matalaksi, työasemakäyttäjälle hyötykäyttöön otettu tyhjäkäyntiteho ei edes näy koneen tahmaisuuden lisääntymisenä.