Forum: PC Hard- und Software Synchronisation von Multiprozessor Systemen


von __Peter__ (Gast)


Lesenswert?

Guten Tag,

Ich möchte zwei (oder mehrere ) Microprozessoren software mäßig 
synchronisieren. Am besten ohne Interrupts zu verwenden.

Ich weiß, dass dies ein schwieriges Unterfangen werden kann.

Kennt jemand entsprechende Literatur zu diesem Thema.

Hab ein paar gefunden, aber die sind doch recht alt ( 1986 -1994 )


Danke für die Antworten


Euer Peter

von (prx) A. K. (prx)


Lesenswert?

Wenn dir die Grundlagen zu altbacken sind, wie wärs mit Modernem:
http://www.realworldtech.com/haswell-tm/
http://www.realworldtech.com/haswell-tm-alt/

Grundlagen ändern sich nicht so schnell wie die Fab-Technik. Was dazu 
vor Jahrzehnten geschrieben wurde ist deshalb nicht veraltet. Und dürfte 
als Basis zum Verständnis von TM und dessen Motivation nicht völlig 
unwichtig sein.

von Andreas B. (andreas_b77)


Lesenswert?

Was soll denn "software mäßig synchronisieren" genau heißen? Mutex, 
Spinlock, sind CPUs mit Write Reordering und Caches im Spiel?

Davon abgesehen bist du auch mit "alter" Literatur gut versorgt, 
wirklich grundlegend ändert sich da nicht so viel in der Zeit. Höchstens 
verlagern sich die Schwerpunkte bei der Optimierung.

von (prx) A. K. (prx)


Lesenswert?

Andreas B. schrieb:
> sind CPUs mit Write Reordering und Caches im Spiel?

Da er das nach "PC Hard- und Software" gestellte hat...

von Edi M. (Gast)


Lesenswert?

Da müsste man schon die Aufgabe im Detail näher beleuchten. geht es um 
resource sharing oder nur um parallels Arbeiten mit Daten und 
Signalaustausch?

Ein Tipp von mir: Bevor Du zu akademische idealisierte und komplexe 
Lösungen favorisierst, bedenke, dass die ganze Sosse auch getestet und 
validiert werden muss und je komplexer der mögliche Handlungsablauf, 
desto schlimmer wird das.

Erfahrungsgemäss sind die akademisch perfekten Lösungen, die zum besten 
Datendurchsatz führen hernach ein Killer in der IB und der Zulassung.

Einfacher ist oft besser! Will heissen:

Strenge Aufteilung der Aufgaben der CPUs / DSPs, wenige Überschneidung, 
keine zu klein gehacketen Prozesse mit viel ausdrücklichem 
Synchronisationsaufwand. Das BEste ist da immer noch C mit seiner 
impliziten Synch druch den vorgegeben Ablauf.


Wenn Du dann ein System beisammen hast, klicke Dir mal die gesamtem 
Szenrien an möglichen Fehlern und Verschachtelungen zusammen und 
überlege Dir, wie man das Testen kann.

von __Peter__ (Gast)


Lesenswert?

Entschuldigt meine ungenauen Angaben.

Ich habe zwei Boards mit jeweils einem MPC drauf. Die sind über sRio 
verbunden. Ich schreibe einen Treiber, der einer Applikation die 
validierung von Daten auf Gültigkeit erlauben soll. D.h er gibt den 
Daten einen Timestamp.

Es muss hierbei der Drift der beiden Boards ausgeglichen werden.

Es wär einfach mit dem NTP oder PTP, Ich möchte aber eine Lösung die 
möglichst ohne interrupts auskommt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.