VDMA Robotik + Automation

VDMA Robotik + Automation

Volkswirtschaft und Statistik

VDMA Robotik + Automation

Der Fachverband VDMA Robotik + Automation freut sich über ein außerordentlich gutes Geschäftsjahr 2011: Mit 35 Prozent verbuchen die deutschen Hersteller das stärkste Umsatzwachstum aller Zeiten auf 10,2 Mrd. Euro. Damit ist der Rekord aus dem Jahr 2008 mit 9,3 Mrd. Euro Umsatz eingestellt.

Hannover Messe 2012

Hannover Messe 2012
Hannover Messe 2012

Sie haben die Hannover Messe 2012 verpasst? Hier können Sie News und Produktneuheiten von der HMI noch einmal nachlesen.

Auf den Fersen der Kanzlerin

Auf den Fersen der Kanzlerin

Spaziergang über die Hannover Messe 2012

Auf den Fersen der Kanzlerin

Die Hannover Messe zieht auch in diesem Jahr wieder zahlreiche Besucher an. Diejenigen, die nicht nach Hannover fahren konnten, laden wir nun auf einen Rundgang über die Hannover Messe 2012 ein. Klicken Sie sich durch!

Messeneuheiten 2012

Messeneuheiten 2012

Produkte auf der Hannover Messe 2012

Messeneuheiten 2012

Auf der Hannover Messe waren wieder zahlreiche Produktneu- und weiterentwicklungen zus ehen. Machen Sie sich einen schnellen Überblick!

Technik & Know-how

Technik & Know-how

Unternehmensnachrichten

Unternehmensnachrichten

Jahresrückblick 2011

Jahresrückblick 2011

Das passierte in der Automatisierung

Jahresrückblick 2011

Das Jahr 2011 bot der Automatisierung von allem etwas: Übernahmen, Pleiten, Umsatzrekorde, Kooperationen und Innovationen. Lassen Sie das Jahr Revue passieren!

Event Benchmark Forum / HMI

2. Energie&Technik Smart Home & Metering Summit

Call for Papers!

2. Energie&Technik Smart Home & Metering Summit

Auf dem 2. Energie&Technik Smart Home & Metering Summit am 16. -17. Oktober 2012 in Ludwigsburg dreht sich alles um die Themen Smart Home, Smart Metering, Smart Grid.

Senden Sie uns jetzt Ihre Beiträge!

Faszination Technik

Faszination Technik

Fotoausstellung Deutsche Technikstraße

Faszination Technik

Seit Anfang April gastiert die Fotoausstellung "Deutsche Technikstraße" der VDI-Initiative "Sachen Machen" an der RWTH in Aachen. Die Motive der Aufnahmen des mehrfach ausgezeichneten Fotografen Thomas Ernsting zeigen technische Errungenschaften, Innovationen und neue Verfahren. Sehen Sie hier Auszüge aus der Ausstellung.

Produkte des Jahres

Forschungsstadt PlanIT Valley

Forschungsstadt PlanIT Valley

Eine Stadt - 100 Millionen Sensoren

Forschungsstadt PlanIT Valley

PlanIT Valley - so lautet der Name einer intelligente Forschungsstadt, die in der Nähe von Porto in Portugal entstehen soll, ihr Zweck: In einer realistischen Umgebung Lösungen zeigen, mit denen sich mittels moderner Elektronik und IT Energieverschwendung deutlich reduzieren und die Lebensqualität steigern lässt - ohne zusätzliche Kosten.

Videos

Videos

Marktübersichten aus der Automation

Marktübersichten aus der Automation
12. November 2010
Multicore-Prozessoren »safe« zu machen, ist nach wie vor mit Problemen verbunden

special Safety und Multicore – ein schwieriges Verhältnis

Multicore-Prozessoren ermöglichen es, in einem Baustein unterschiedliche Funktionen parallel ablaufen zu lassen, ein und dieselbe Funktion redundant ablaufen zu lassen oder eine Funktion verteilt zu berechnen. Je nach Baustein-interner Datenbus-/Datenkommunikations-Architektur resultieren daraus jedoch Safety- und Determinismus-Probleme.

Anzeige

Andreas Raabe, Fortiss
Fortiss 
zoom
Andreas Raabe, Fortiss: »Bei der verteilten Berechnung einer Funktion ist die Gefahr von Programmierfehlern deutlich erhöht, weil der Entwickler berücksichtigen muss, kein nicht-deterministisches Verhalten entstehen zu lassen.«

Worin sie bestehen und wie sie sich eventuell vermeiden lassen, darüber informiert Andreas Raabe, Leiter der Gruppe »Parallele Architekturen« der gemeinnützigen Fortiss GmbH.

Markt&Technik: Welche Safety-Probleme können sich bei der Verwendung von Multicore-Prozessoren in sicherheitsgerichteten Automatisierungs-Systemen ergeben?

Andreas Raabe: Grundsätzlich sind hier zwei Arten des Einsatzes zu unterscheiden: Integration verschiedener Funktionen auf einem Prozessor, aber verschiedenen Kernen (vor allem zur Kostenersparnis), und verteilte Berechnung einer Funktion zur Erhöhung der Rechenleistung oder zur Senkung des Energieverbrauchs. Vorhersagbarkeit im Hinblick auf Laufzeiten ist in beiden Szenarien wichtig. Besonders bei der verteilten Berechnung einer Funktion ist die Gefahr von Programmierfehlern deutlich erhöht, weil der Entwickler nun berücksichtigen muss, kein nicht-deterministisches Verhalten entstehen zu lassen. Hier ist vor allem das Vermeiden und Diagnostizieren von Race- Conditions sowie Dead- und Livelocks zu nennen. Bei der Integration von Funktionen ist vor allem auf Komponierbarkeit und Fehlereindämmung zu achten. Je nach Prozessortyp kann spezialisierte Hardware manche Probleme vermeiden. Darüber hinaus gilt, dass die Eignung eines Multicore- Prozessors stark von der Anwendung abhängt. Der eine Multicore- Prozessor kann beispielsweise für eine bestimmte sicherheitskritische Anwendung sehr gut geeignet, für andere dagegen ungeeignet sein. So eignen sich beispielsweise manche Plattformen besonders zum Aufbau einer Software-Pipeline, während andere bei erratischen Speicherzugriffen Stärken haben.

Welche Multicore-Architekturen können welche Safety-Probleme verursachen? Welche Rolle spielt dabei die bausteininterne Datenbus-Architektur?

Prinzipiell sind im Hinblick auf Vorhersagbarkeit und Determiniertheit alle geteilten Ressourcen problematisch, auf die anders als über einen rein zeitgesteuerten Bus zugegriffen wird. Die Vorhersage bzw. Beschränkbarkeit der Laufzeit ist hier ein Schlüsselkriterium für die Einsetzbarkeit in harten Echtzeitsystemen und damit praktisch in allen Safety-relevanten Bereichen. Besondere Schwierigkeiten entstehen bei der Beschränkung der Laufzeit bei Speicherzugriffen oder Zugriffen auf die Peripherie. Hier kann die Buskommunikation anderer (nebenläufiger/ konkurrierender) Tasks das Zeitverhalten praktisch unvorhersagbar machen. Dies gilt immer dann, wenn nicht ausschließlich Prozessorkerne zum Einsatz kommen, die eine exakte Laufzeitvorhersage erlauben. Letzteres ist jedoch ein signifikanter Nachteil im Hinblick auf die Rechenleistung.

Nicht-deterministisches Verhalten kann sowohl aus Nicht-Vorhersagbarkeit als auch aus der Verwendung geteilter Ressourcen mit einem inneren Zustand resultieren. Hierzu zählen insbesondere alle Formen geteilten Speichers.

Inwieweit ist es sinnvoll, in Multicore-Prozessoren redundante Prozesse ablaufen zu lassen?

Dies ist insofern sinnvoll, als dass sich so die Fehlerwahrscheinlichkeit reduzieren lässt. Ein Problem ist hier natürlich, dass eine Abhängigkeit der einzelnen Implementierungen wohl nicht vollständig zu vermeiden ist. Dies gilt für allgemeine Faktoren wie mögliche konzeptuelle Fehler (beispielsweise in einer Steuerlogik) oder Fehler in der Implementierung, aber auch für mehrkernspezifische Abhängigkeiten wie etwa Übertragungsfehler innerhalb des Chips.

Ein neu hinzukommendes Problem ist, dass die Laufzeit des Verfahrens nun der maximalen Laufzeit der redundanten Auslegungen entspricht, die auch in einem Mehrkernsystem nicht unbedingt identisch sein müssen. Im Gegenteil können zeitliche Unterschiede durch zeitliche Abhängigkeiten (Cache-Verdrängung, Buszugriffe) signifikant zunehmen oder sogar erst entstehen. Das identische Programm auf identischen Prozessorkernen auszuführen, erfordert daher einen deutlichen Implementierungs-Mehraufwand, nicht zuletzt weil der Entwickler hier die zeitliche Unabhängigkeit garantieren muss. Daher rechtfertigt das Kosten-Nutzen-Verhältnis eine solche Umsetzung selten.

Bei besonders hohen Safety-Anforderungen sollte stattdessen die zwar teurere, aber sicherste Lösung eingesetzt werden. Dies ist der Einsatz unterschiedlicher Entwicklungsteams, die ihre Implementierungen auf unterschiedliche (heterogene) Prozessorkerne abbilden. So lassen sich sowohl Hardware-Fehler als auch Fehler in der Implementierung nahezu vollständig erkennen.

Eine kostengünstigere Lösung ist die Verwendung von Lockstep-Architekturen. Hier wird die identische Implementierung auf zeitlich völlig voneinander separierten Prozessorkernen ausgeführt und miteinander verglichen. Sind die Ausgaben nicht identisch, so folgt im Falle einfach redundanter Auslegung (zwei Kerne) ein fail-silent-Verhalten. Sind drei oder mehr Kerne beteiligt, stimmen die Kerne über das richtige Ergebnis ab. Dies erfolgt rein Hardware-gestützt und ohne dass der Programmierer dies explizit vorsehen muss. Abfangen lassen sich so natürlich ausschließlich Fehler, die durch Hardware-Versagen hervorgerufen werden. Allerdings erfordert diese Art der redundanten Auslegung praktisch keinen zusätzlichen Entwicklungsaufwand; Zusatzkosten entstehen nur für die Hardware.

Ein Kompromiss ist die Verwendung von Watchdogs. Hier wird parallel zum eigentlichen Berechnungs-Task ein zweiter Task betrieben, der die Ausgabe des ersten einer Plausibilitätsprüfung unterzieht. So lassen sich Fehler erkennen und fehlerhafte Ausgaben unterdrücken. Weil der Plausibilisierungs-Algorithmus häufig eine wesentlich geringere Flexibilität aufweist, ist seine Implementierung wesentlich weniger fehleranfällig. Nachteil im Vergleich zu Lockstep- Lösungen ist, dass immer ein manueller Aufwand zur Implementierung der Plausibilisierungsfunktion erforderlich ist.

1. Teil: Safety und Multicore – ein schwieriges Verhältnis
2. Teil: Multicore-Architekturen sicher machen