© Ingram Image, © S&S Media
Teil 1: Grundlagen der parallelen Verarbeitung

Parallel geht schnell


Seitdem die Geschwindigkeitssteigerung über eine Erhöhung der Taktfrequenz an ihre physikalischen Grenzen gestoßen ist, ist die Verteilung der Aufgaben auf mehrere Prozesse und Threads, also die Parallelprogrammierung, State of the Art. Moderne Rechner enthalten Prozessoren mit mindestens vier Kernen. Um die Verarbeitungsgeschwindigkeit des Anwendungsprogramms tatsächlich zu steigern, muss aber auch die Software entsprechend programmiert werden.

Video: Anforderungen haben immer Schuld

Neue Computersysteme, vom Smartphone bis hin zur Workstation, verfügen heutzutage über Prozessoren (CPU) mit mindestens vier Kernen. Diese Rechentechnik kann eine Vielzahl von Aufgaben gleichzeitig (parallel) erledigen. Mussten sich die Prozesse des Betriebssystems und der Anwendungen bis vor wenigen Jahren noch die Rechenleistung einer einzelnen CPU teilen, kann heute eine Aufteilung der Aufgaben auf die Prozessorkerne erfolgen. Diese Entwicklung ergibt sich aus dem Umstand, dass man mit den heutigen Möglichkeiten der Herstellung von elektronischen Bauteilen bezüglich der Taktfrequenz an physikalische Grenzen geraten ist. Zu dieser Annahme kam man in der Vergangenheit zwar schon öfter, dennoch scheint das technisch Machbare und vor allem auch das wirtschaftlich Vertretbare in diesem Bereich nahezu erreicht zu sein. Leistungsfähige PC- und Notebooksysteme werden mit Taktfrequenzen von maximal knapp über 4 GHz angeboten. Im Gegensatz dazu legen die anderen Bestandteile eines Computers weiterhin erheblich an Leistung zu. Ein Beispiel sind die Fortschritte der Massenspeichertechnologie mit der Einführung der Solid State Disk. Eine Erhöhung der Rechenkapazität wird nunmehr dadurch erreicht, dass immer mehr Prozessorkerne innerhalb einer CPU verbaut werden. Damit ist es möglich, mehrere Aufgaben wirklich parallel zu erledigen. Alle modernen Betriebssysteme sind schon seit Langem in der Lage, die Systemaufgaben und auch mehrere Anwendungen automatisiert auf die Prozessorkerne zu verteilen. Nutzt man also mehrere Anwendungen parallel auf einem Rechner, so profitiert man automatisch von diesem Leistungszuwachs.

Artikelserie

Teil 1: Grundlagen der parallelen Verarbeitung

Teil 2: Möglichkeiten der Parallelprogrammierung mit .NET

Während der Programmentwicklung muss genau das berücksichtigt werden, wenn die Leistung der eigenen Software ebenfalls durch diese Technik gesteigert werden. Das Stichwort lautet Parallelprogrammierung. Neuere Versionen der modernen Programmiersprachen ha...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang