Forum: Digitale Signalverarbeitung / DSP / Machine Learning Multi-DSP-System Infoquellen


von Gast (Gast)


Lesenswert?

Hallo Experten ;-)

Ich werde mich in der nächsten Zeit etwas intensiver mit (einem) 
Multi-DSP-System beschäftigen. Das Ziel ist eine Art Framework inklusive 
Betriebssystem für ein Multi-DSP-System. Da ich in diesem Gebiet noch 
Anfänger bin, will ich mich erstmal informieren.

Nun meine Fragen...
Was ist in dieser Richtung auf dem Markt vorhanden? (Welche Produkte 
oder Projekte)
Kennt ihr passende Informationsquellen? (Internetseiten oder Literatur) 
(zum Thema Betriebssystem für DSP oder Multi-DSP-System oder Framework 
für DSP...)

Würde mich über jeden kleinsten Tipp sehr freuen.

Vielen Dank!

von 6645 (Gast)


Lesenswert?

Mit einem Betriebssystem ist die Leistung eines DSP im Keller, ist das 
gewuenscht ?

von Gast (Gast)


Lesenswert?

Das ist noch nicht ganz klar ob das gewünscht ist ;)
Erklärst du mir wieso das so ist? (Wo kann ich das nachlesen?)

Vielen Dank

von Martin S. (strubi)


Lesenswert?

Moin,

> Mit einem Betriebssystem ist die Leistung eines DSP im Keller, ist das
> gewuenscht ?

Das muss nicht unbedingt so sein. Bei den "Hybriden" wie z.B. dem 
Blackfin ist der Overhead - je nach System - nicht immens. Was eher 
leiden kann, ist die Echtzeitfaehigkeit, der Begriff ist allerdings auch 
wieder dehnbar. Kommt halt wirklich auf die Anwendung an..

Was soll das System denn leisten? Komplette Parallelverarbeitung, oder 
auch intensiven Datenaustausch unter den CPUs?

Ich persoenlich weiss von verschiedenen Ansaetzen bzgl. 
Multi-DSP-Boards:

* Multi-DSP-Board mit 4 single-core BF533, unabhängige 
Parallelverarbeitg
* Dual-Core BF561 boards mit uClinux auf Core A und pur-DSP-Routinen auf 
Core B

Mit den guten alten Motorola 56k(96k) DSPs wurden einige 
Multi-DSP-Projekte umgesetzt (am besten mal googeln) aber das ist schon 
ne geraume Weile her, den Chip gibts in der Variante nicht mehr. An der 
Architektur dieser Boards kann man sich allerdings heute noch 
orientieren.

Ein wichtiger Punkt sind die Entwicklungstools. 
Multicore-Debugging-Tools sind oft schweineteuer, besonders spassig 
wird's bei Prozessoren, die Cores unterschiedlicher Architekturen 
vereinen, wie die DaVinci-Prozessoren von TI. Eventuell kann man sich da 
tuechtig ins Knie schiessen, man hat zwar einen leistungsfaehigen 
Prozessor, aber wendet beim Debugging unverhaeltnismaessig viel Zeit 
auf.

Gruss,

- Strubi

von Gast (Gast)


Lesenswert?

Genau... Es stellt sich erstmal die Frage: Wie sinnvoll ist 
Parallelverarbeitung bzw. "Pipeverarbeitung" für die Digitale Signal 
Verarbeitung? Welche Verfahren lassen sich parallelisieren?

Und dann noch die Frage, welche Boards kann ich dazu nutzen? Was ist bei 
so einem Board alles dabei? Nur die reine Hardware? Framework? Wie gut 
sind die vorhandenen Frameworks?

Mein Ziel ist erstmal der Aufbau eines Multi-DSP-Systems mit Konzeption 
und Entwicklung eines Frameworks welches Digitale Signal Verarbeitung 
vereinfachen soll. Und am besten natürlich ein Framework das sich von 
vorhanden etwas unterscheidet, indem es bestimmte Aspekte besser löst. 
Ob da ein Betriebssystem wirklich grosse Vorteile bringt weiss ich noch 
nicht. Schätze den Aufwand dafür sehr hoch ein. Und wenn es dann nur 
leicht was vereinfacht, dann lohnt es sich kaum.

Vielen Dank für eure Meinungen und Tipps. Die sind mir eine große Hilfe!

von Strubi (Gast)


Lesenswert?

Hi,

willst du das Ganze akademisch angehen, oder hast du ein bestimmes 
Projekt im Sinn?
Es duerfte recht teuer werden, "mal eben so" ein Multi-DSP-Board zu 
besorgen. Koennte dir schon Quellen nennen, aber das Thema ist so 
komplex und oft derart spezialisiert, dass keiner ein 
Multiprozessorboard mal eben so zum evaluieren anbietet. Die mir 
bekannten Kunden haben alle ihre eigenen, dedizierten Systeme 
entwickelt.
Von der akademischen Seite her gibts einige Ansaetze aus der 
Transputerzeit (man erinnere sich), die mit Occam und anderen Exoten wie 
Erlang laufen.
Ist meiner Meinung aber alles eben immer noch akademisch und scheint 
sich deshalb auch bisher zur Loesung konkreter Entwicklungsaufgaben 
nicht wirklich durchgesetzt zu haben (lasse mich gern eines bessern 
belehren).

Wenn Du wirklich mit Multi-Core experimentieren willst, wuerde ich mir 
entweder einen ganz normalen Multicore-AMD i86 besorgen, oder wenn's in 
Richtung embedded gehen muss, mal den Blackfin BF561 anschauen. Der Chip 
hat z.B. an jedem Core einen schnellen Parallelport angebaut, ueber den 
sich per DMA Daten einlesen und simultan verarbeiten lassen.

Viele DSP-Projekte lassen sich auch mit einer effizienten Kombination 
aus FPGA und DSP erschlagen - damit hat man dann serielle und parallele 
Verarbeitung sauber getrennt. Haengt halt wirklich alles von der 
Aufgabenstellung ab.

Gruss,

- Strubi

von Gast (Gast)


Lesenswert?

Hallo Strubi.
Ja das ganze soll akademisch angegangen werden. (Also kein all zu 
komplexes System!)
Deswegen wollte ich mich zu Anfang auch erstmal in das Thema 
einarbeiten.
Könntest du mir ein paar Quellen du aktuellen Projekten nennen?
Es wird wahrscheinlich so sein, dass ich zwei einzelne DSP-Boards 
zusammenbringe und somit schonmal ein Multi-DSP-System habe. Dafür werde 
ich auf jeden Fall ein Framework entwickeln. Was würde mir ein 
Betriebssystem für Vorteile bringen und wie umfangreich ist die 
Entwicklung?

Vielen Dank soweit! :)
Es ist immer wieder ein Erstaunen wenn Leute (einfach so) helfen.

von Martin S. (strubi)


Lesenswert?

Hi 'Gast',

Zu dem genannten Multi-DSP-Projekt gibts folgende Links:

Uebersicht:

http://soma.mit.edu/browser/DSPboard/trunk/docs/overview/overview.svg

Generell findet sich die Projektseite:

http://soma.mit.edu/

Momentan ist noch nicht viel Dokumentation verfuegbar, das kann sich 
aber aendern. Das Projekt ist mitten in der Entwicklung, Hardware laeuft 
schon.
Das System ist allerdings eher vom Hardware-Aspekt interessant, da 
simultane Verarbeitung auf allen DSPs erfolgt, ohne massive 
Kommunikation zwischen den DSPs.

Sonst einfach mal bei Fraunhofer nachgoogeln, die hatten auch mal was 
mit 56k-Derivaten, inzwischen duerften es TI-DSPs sein.

Zum Thema OS: Fragt sich, wie parallel die Verarbeitung sein muss. Wenn 
die DSPs untereinander (womoeglich synchron) kommunizieren muessen, 
brauchst Du irgend eine Art Message Pipe oder "time domain slots". Da 
mir kein Multi-DSP-Betriebssystem bekannt ist, das simpel, generisch und 
groesstenteils plattformunabhängig ist, wuerde ich mal fast behaupten: 
Du wirst das "Betriebssystem" selber schreiben muessen.
Wenn Du bereits die Boards hast, ist das ev. kein schlechter Ansatz, mal 
die moeglichen Datenkanaele zur Kommunikation (SPORT, Microwire/TDM, und 
wie sie alle heissen) zusammenzuhaengen und ganz unten anzufangen. Sei 
es akademisch oder praktisch, ich vermute mal, man wird sich hier kaum 
jemals in ein gemachtes Nest setzen koennen.
Ist fuer mich auch schwer, dir sinnvolle Tips geben zu koennen, da mir 
halt die Anwendung / Idee nicht klar ist.
Hoffe, das hilft dennoch weiter.

Gruss,

- Strubi

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.