Ero sivun ”Distcc” versioiden välillä
Siirry navigaatioon
Siirry hakuun
kuva |
päivitys |
||
| (6 välissä olevaa versiota 6 käyttäjän tekeminä ei näytetä) | |||
| Rivi 1: | Rivi 1: | ||
[[Kuva:Distccmon.png | {{Ohjelma | ||
Distcc on avoin ja nopea hajautettu [[C]]/[[ | | 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: | |||
export DISTCC_HOSTS='localhost red green blue' | export DISTCC_HOSTS='localhost red green blue' | ||
'''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 | ||
-j-parametrin perässä oleva numero tarkoittaa yhtäaikaisten säikeiden määrää. Tätä kannattaa tietysti soveltaa myös moniprosessorikoneilla. | |||
== | == Soveltuvuus == | ||
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ä. | |||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] | ||
[[Luokka: | [[Luokka:Komentorivin erikoisohjelmat]] | ||