Parallelle verwerkingssoftware

Parallelle verwerkingssoftware beheert de uitvoering van een programma op parallelle verwerkingshardware met als doel het verkrijgen van onbeperkte schaalbaarheid (in staat zijn om een toenemend aantal interacties tegelijk af te handelen) en het verminderen van de uitvoeringstijd. Toepassingen die baat hebben bij parallelle verwerking kunnen grofweg worden onderverdeeld in zakelijke gegevensverwerking en technische/wetenschappelijke verwerking.

Zakelijke gegevensverwerkingstoepassingen worden gekenmerkt door recordverwerking, en de omvang van de gegevens levert doorgaans aanzienlijke I/O-prestatieproblemen op, evenals de behoefte aan snelle berekeningen. Software voor parallelle verwerking helpt zakelijke toepassingen op twee belangrijke manieren:

Frameworks - Dataflow-frameworks bieden de beste prestaties en de eenvoudigste methode voor het uitdrukken van recordverwerkingstoepassingen, zodat ze een hoge schaalbaarheid en totale verwerkingscapaciteit kunnen bereiken. Dataflow frameworks liggen ten grondslag aan de internals van de meeste relationele database management systemen (RDBMS s) en zijn beschikbaar voor direct gebruik bij de bouw van data warehouse , business intelligence , en analytische CRM (customer relationship management) applicaties. Raamwerken verbergen de meeste of alle details van de communicatie tussen processen en tussen processoren voor de ontwikkelaars van toepassingen, waardoor het eenvoudiger wordt om deze toepassingen te maken dan wanneer berichten op een laag niveau worden doorgegeven.

RDBMS - RDBMS-systemen zijn de meest gebruikte opslagplaatsen voor commerciële recordgeoriënteerde gegevens en zijn zo geëvolueerd dat de gestructureerde querytaal (SQL) die wordt gebruikt om ze te benaderen, in parallel wordt uitgevoerd. De aard van de SQL-taal leent zich voor een snellere verwerking met behulp van parallelle technieken.

Technische en wetenschappelijke toepassingen hebben de neiging "reken-gebonden" te zijn (zij vergen veel rekenkracht van de processor) en worden meestal geassocieerd met de supercomputer. Er zijn twee primaire technieken die worden gebruikt bij het maken van de meeste van deze toepassingen - message passing en parallelizing compiler s.

Message Passing - Toepassingsprogramma's kunnen worden gebouwd met behulp van mechanismen voor communicatie tussen een processor die gelijktijdig met andere processoren werkt. Dit is het beschikbare mechanisme op het laagste niveau en kan leiden tot de hoogst mogelijke prestaties tegen de grootste implementatiekosten en complexiteit. (Merk op dat message passing voor parallelle berekeningen niet moet worden verward met de term messaging, die ook wordt gebruikt om transactionele communicatiesystemen voor gedistribueerde client-to-server en inter-server bedrijfstoepassingen te beschrijven.)

Parallelizing Compilers - Voor technische en wiskundige toepassingen die worden gedomineerd door matrixalgebra , zijn er compilers die parallelle uitvoering kunnen creëren uit schijnbaar sequentiële programmabroncode. Deze compilers kunnen een programma decomponeren en automatisch de noodzakelijke structuren voor het doorgeven van berichten en andere parallelle constructies invoegen.