Hvad er en aktiv besked?
En aktiv meddelelse (AM) er en type interproces-kommunikation, der bruges til computing, hvorved et computerprograms subroutine eller -funktion kan udføres af en helt anden computer end hvor den ligger. Denne type meddelelser er af et sådant grundlæggende format, at det giver mulighed for større udnyttelse af netværksbåndbredde over standard internetprotokoller (IP). Det betragtes også som et asynkront meddelelsesafgivelsessystem, idet det aktiveres med det samme i stedet for at vente på et bestemt tidspunkt for at synkronisere med programmet.
Med den aktive meddelelseskommunikationsmodel sker meget af arbejdet på hardwareniveau, hvor hardware interagerer med operativsystemets drivere. Da dette lavere niveau normalt er forbeholdt operativsystemets forretning, er meddelelserne konstrueret på en sådan måde, at de er i stand til at bære instruktioner til adgang til en række af brugerfunktioner på øverste niveau. Inde i overskriften på en AM er adressen på det, der omtales som en handler. Håndtereren er en særlig instruktion på brugerniveau, der gør det muligt for meddelelseskroppen at blive behandlet ved en beregning, der løber gennem processoren. Organet af en aktiv meddelelse er derefter funktionens argument eller de data, som beregningen skal handle på.
I betragtning af den essentielle karakter af konstruktionen af en aktiv meddelelse er den i stand til at videregive eksisterende IP-netværkskommunikationsprotokoller. Den primære forskel er imidlertid, at det handles øjeblikkeligt efter modtagelse, i modsætning til at kræve en flerfaset, sende, bekræfte modtagelse, leveringsmetode. På denne måde betragter en aktiv meddelelse netværket blot et åbent rør til gennemgang. Dets eneste begrænsninger er det fysiske netværk, hvor afstanden mellem knudepunkter kan være af betydning for meddelelsens latenstid.
Den måde, et aktivt meddelelsessystem fungerer på, er af en afsender, der fylder netværket med meddelelser. Der er ingen buffering på den modtagende ende, hvis eneste reaktion på en AM er at kort afbryde dens beregning for meddelelsens handler, gribe beskeden fra netværket og fortsætte med dets forretning. Den eneste gang, at beskedbuffering sker, er ved afsenderens ende, hvor meddelelser holdes på baggrund af, om netværket når sine grænser. En polling-metode holder faner på netværket, så systemet ved, hvornår der skal injiceres flere meddelelser. Aktive meddelelser muliggør derved kontinuerlig overlapning af meddelelser, der sendes med beregningerne, der forekommer på eksterne maskiner, samt holder dem alle koordinerede.
Selvom metoden med aktiv besked kan være enkel af karakter, står den over for et par problemer med hensyn til implementering. Selvom de er af en sådan primitiv konstruktion, er brugerdefinerede designede interfacedrivere ofte påkrævet for at håndtere meddelelserne til et computersystem. De aktive meddelelser er også designet til at fungere blandt computernoder, der alle kører det samme program. På denne måde er instruktionerne sendt og modtaget specifikke for det program, der allerede kører på destinationscomputeren.
På grund af deres art har aktive meddelelser fundet udstrakt anvendelse i parallelle computermiljøer, såsom applikationer med én proces, multiple data (SPMD). Disse programmer kører på store netværk af computersystemer, hvor aktive meddelelser bruges til at videregive instruktioner og data mellem maskinerne. Sådanne distribuerede systemer bruger metoden til effektivt at behandle store mængder data, der ellers ville tage for lang tid på en enkelt maskine.