Cloud & Microservice Blog

Unser Blog hilft Cloud Computing, Machine Learning, Microservices und viele weitere Hypes zu verstehen...

Reaktive Programmierung mit Aktoren

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 

Reaktive Systeme sind Computersysteme die kontinuierlich auf ihre Umgebung reagieren. Der in diesem Zusammenhang geprägte Begriff des Aktorenmodells wurde erstmals in den frühen 1970er Jahren von Carl Hewitt verwendet. Sein mathematisches Model beschreibt ein universales Verfahren zur parallelen Programmierung.  Er war seiner Zeit weit voraus, da zu diesem Zeitpunkt die Rechner noch nicht leistungsfähig genug waren. Das Modell wurde erstmals 1987 in der Programmiersprache Erlang von Ericsson verwendet. Durch den Einsatz der Technologie konnte Ericsson einen Switch mit einer Zuverlässigkeit von 99,999999999% bauen. Dies entspricht einer Ausfallzeit von unter 0.65 Sekunden in 20 Jahren. In den nachfolgenden Jahrzehnten stieg die Leistung der Computer immer weiter an. Anfang des neuen Jahrtausends erreichten die Prozessoren mit den eingesetzten Materialien ihre maximale Taktfrequenz. Prozessorhersteller, wie Intel und AMD, bauten fortan Prozessoren mit mehreren Prozessorkernen bei gleichbleibender Taktfrequenz. Einerseits kann die Hitzeentwicklung bei noch höheren Taktraten mit herkömmlichen Mitteln nicht mehr bewältigt werden. Andererseits kommt es bei immer kleineren Transistoren zu quantenmechanischen Seiteneffekten. Heute erhöhen die Hersteller die Anzahl der Kerne pro CPU, um dennoch eine Leistungssteigerung der CPUs zu erreichen. Dadurch steigt die Relevanz von paralleler Programmierung, da die Berechnung der Algorithmen auf mehrere CPU-Kerne verteilt werden muss. Die Entwicklung von Software mit mehreren Threads, oder über mehrere Rechner hinweg, ist für Entwickler mit vielen Problemen verbunden und kompliziert. Dies ist unter anderem auf die Speicherverwaltung der Threads und Prozesse zurückzuführen. Als Folge entstehen in den letzten Jahren immer mehr reaktive Frameworks für moderne Programmiersprachen, wie zum Beispiel akka für Scala und Java. Reaktive Frameworks bieten dem Entwickler aber weitaus mehr, als nur einfache Parallelisierung über mehrere Prozesse und physikalische Knoten. Mithilfe der Frameworks lassen sich hochskalierbare, fehlertolerante Systeme entwerfen. In diesem Blogbeitrag, wollen wir das Aktorenmodell genauer betrachten.

Kategorien

  • Neuigkeiten
  • Gastbeiträge
  • Data Science & Engineering
  • Softwareentwicklung
  • Innovationen aus aller Welt
  • Microservices & Cloud Computing

Blogbeiträge

Microservice Blog

Die Buzzwords Digitalisierung und Industrie 4.0 sind in aller Munde, aber was bedeutet das für die Unternehmer? Unser Blog hilft dabei, die Cloud, Machine Learning, die Blockchain und viele weitere Hypes und Trends zu verstehen. Unser Schwerpunkt liegt dabei klar auf dem Cloud Computing und der Programmierung von verteilten Softwarelösungen, da unsere Expertise dort am Größten ist.