Gedistribueerd programmeren: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
kortere titel en spelling
Regel 1:
'''Gedistribueerd programmeren''' (ook wel '''parallel programmeren''') is een [[techniek]] van [[Programmeren (computer)|programmeren]] en [[computerprogramma|programma]]-ontwerp, waarbij een computerprogramma bestaat uit meerdere deelprogramma's die al dan niet gelijktijdig uitgevoerd kunnen worden. Multiprocessor-machines zijn in staat om betere prestaties te behalen door dit soort programmering.
 
== Werking ==
Bij gedistribueerd programmeren wordt een enkele taak opgesplitst in meerdere ''subtaken'' die relatief onafhankelijk berekend en achteraf weer samengevoegd kunnen worden tot een enkel resultaat. Dit kan binnen een enkele computer zijn, of verspreid over meerdere systemen. In het tweede geval is de term ''distributed computing'' van toepassing. Gedistribueerd programmeren is het meest effectief bij taken die gemakkelijk in stukken opgedeeld kunnen worden zoals puur wiskundige problemen.
 
Regel 7 ⟶ 8:
Pioniers in het gebied van gedistribueerd programmeren zijn oa: [[Edsger Dijkstra]] en [[Tony Hoare]].
 
== GedistribueerdVergelijking programmeren ten opzichte vanmet sequentieel programmeren ==
 
Een vaak voorkomende beschrijving van de werking van een [[computer]] is die waarin een programma een recept is: een lijst van instructies die één voor één, van begin tot eind door de computer uitgevoerd worden (zie ook [[Von Neumann-cyclus]]). Dit model van programma's uitvoeren door een computer staat bekend als sequentiële uitvoering van een programma.
 
Regel 128:
Bij het uitvoeren van gedistribueerde programma's is het mogelijk gebruik te maken van één enkele processor, dan wel van meerdere. In het geval van meerdere is ieder aantal mogelijk tussen 2 en het aantal deelprogramma's dat uitgevoerd moet worden (meer processoren dan dat kan ook, maar is niet nuttig) -- in dit geval spreekt men vaak van ''parallel programmeren'', omdat deelprogramma's dan zeker parallel aan elkaar uitgevoerd worden. In het geval er meer deelprogramma's zijn dan processoren, is het nodig dat een onderliggend systeem (zie [[besturingssysteem]]) ervoor zorgt dat ieder deelprogramma regelmatig toegang verkrijgt tot een processor (zie [[task switching]], [[load balancing]], besturingssysteem).
 
In het geval van meerdere processoren zijn er ook weer variaties mogelijk -- te denken valt aan meerdere [[Processor (ICTcomputer)|processor]]en verbonden met een [[bus (elektronica)|bus]], maar ook processoren verbonden via een netwerk zijn mogelijk. In dit laatste geval is het mogelijk dat er een speciaal ingericht netwerk met een specifieke vorm wordt gebruikt, of een generiek netwerk. In het eerste geval kan met de vorm van het netwerk rekening worden gehouden bij het ontwerp van het parallelle programma om zo optimale rekensnelheden te bereiken; bekende vormen van netwerken zijn het lineaire netwerk (processoren in een rij geschakeld), het cykel-netwerk (een uitbreiding van het lineaire netwerk waarbij er een cirkel gevormd wordt) en de taurus (een vierkant van processoren, waarbij iedere processor verbonden is met buren links, rechts boven en onder). In het tweede geval gaat het vaak over netwerken waarvan de samenstelling niet specifiek voor één taak bedoeld is, zoals een [[Local Area Network|LAN]], [[Wide Area Network|WAN]] of het [[Internetinternet]] (zie [[Distributed computing]] en [[grid computing]]).
 
==== Geheugens ====
Regel 153:
 
== Zie ook ==
* [[Filosofenprobleem]]
 
== Externe links ==