Skip to main content

Wat is gedistribueerde programmering?

Gedistribueerde programmering is een vorm van parallel programmeren of parallel computergebruik.Parallelle programmering omvat computers en computereenheden binnen computers die gelijktijdig werken aan een bepaald probleem, zoals het voorspellen van het weer van tomorrows.De rekeneenheden kunnen zeer nauw worden gelegen en gecoördineerd of kunnen worden uit elkaar.Wanneer de rekeneenheden uit elkaar zijn, wordt dit gedistribueerde programmering genoemd.In een dergelijk scenario verschillen de rekeneenheden heel vaak van elkaar, en het besturingssysteem en de netwerkopstelling verschilt ook, waardoor de computeractiviteit bijzonder uitdagend is.

Bij het oplossen van een probleem op een gedistribueerde manier moet het programma zijnOpgesplitst zodat delen van het programma kunnen worden uitgevoerd op de verschillende computereenheden;Deze onderdelen worden vaak processen genoemd.De processen worden tegelijkertijd uitgevoerd, maar moeten inputs en resultaten met elkaar communiceren.Als de processen op verschillende hardware worden uitgevoerd, zoals een deel dat op Intel draait en een andere actief op zon, dan moeten de programma's anders worden samengesteld en geoptimaliseerd.

Een manier om een voldoende moeilijk probleem op te lossen, is om de invoeronderdelen te verbrekenen laten de verschillende computereenheden werken op de verschillende delen met behulp van hetzelfde algoritme, de set regels of stappen voor probleemoplossing.Om bijvoorbeeld een genoom van 10.000 paren te kraken, konden de eerste 1.000 paren worden toegewezen aan de eerste computereenheid, de tweede 1.000 paren toegewezen aan de tweede computereenheid, enzovoort, allemaal met hetzelfde algoritme.Met gedistribueerde programmering is een voordeel dat de verschillende computereenheden verschillende algoritmen kunnen uitvoeren om hetzelfde probleem op te lossen, waardoor leidt tot een aanzienlijk betere oplossing.Dit lijkt op het oplossen van een puzzel met sommige mensen die de grens samenstellen, terwijl anderen stukken van een bepaalde kleur samenstellen.

Coördinatie van de gedistribueerde computerprocessen kan een bijzonder moeilijke taak zijn.Sommige computereenheden kunnen falen of kunnen worden onderbroken om ander werk te verwerken.Berichten met de ingangen of de resultaten van de berekening kunnen hun bestemmingen niet bereiken.Als de programma's op een NA #239; VEE manier worden geschreven, kan het verlies van een computereenheid of sommige berichten ervoor zorgen dat de hele set computers hangen.

In gedistribueerde programmering kan één proces het controleproces zijn, in wezen krijgenWerk gedaan door de andere processen, of alle processen kunnen op een peer-to-peer manier werken zonder dat het de meester is.Enkele voorbeelden van problemen die geprobeerd zijn met gedistribueerde programmering zijn het analyseren van geologische gegevens voor bronnen zoals petroleum, het modelleren van eiwitten en biologische moleculen, het kraken van gecodeerde berichten en militaire simulaties.Het SETI-project om te zoeken naar intelligent buitenaardse levensduur van de radioberichten die door de aarde zijn ontvangen, is misschien een van de bekendste voorbeelden.