Distcc
| 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 kerneliä. Distcc on oikeastaan GCC:n edusta (front-end), jolla käännösprosessi saadaan hajautettua verkkoon. Kun distcc-palvelimet on asennettu, voit kääntää ohjelmia seuraavasti:
Laitetaan ensin käytettävien käännöspalvelimien hostnamet tai IP-osoitteet ympäristömuuttujaan:
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.
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ä.