Modern CPP
Posts 1-4 of 4
-
George Kotorlis Premium MemberThe company name is only visible to registered members.Eine Multicore-Bibliothek
Hallo!
Folgenden Text habe ich in der "Softwareentwickler"-Gruppe geschrieben. Da das Projekt mit C++ und teilweise in Assembler programmiert wurde, passt das hier auch gut rein.
Guten Abend!
Im Rahmen meiner Forschungen im Bereich Parallelisierung von Anwendungen habe ich eine C++-Bibliothek implementiert, mit der es möglich ist, skalierbare Anwendungen zu entwickeln.
Informationen, Downloads und Dokumentation finden Sie unter
http://www.fiberpool.de (der Browser muss die Verarbeitung von XML/XSLT unterstützen).
Im Gegensatz zu anderen Bibliotheken wie der Intel TBB, mit denen die Parallelisierung möglichst unabhängiger Tasks unterstützt wird, liegt der Fokus hier in der Parallelisierung (massiv) voneinander abhängiger Tasks wie z.B. Erzeuger-Verbraucher-Probleme.
Realisiert wird die Synchronisation zwischen Tasks, indem diese nicht direkt auf Threads, sondern auf Fibers ausgeführt werden. Die Bibliothek stellt Synchronisationsprimitiven wie CriticalSection, Semaphore oder Event für Fibers bereit, die alle als Quellcode verfügbar sind.
Der Scheduler kann leider nur als Binary bereitgestellt werden, da er ein zum Patent angemeldetes Verfahren verwendet.
Es handelt sich um ein Ein-Mann-Projekt, sodass es unter Umständen zu Problemen mit bestimmten Prozessoren/Betriebssystemen kommen kann. Seien Sie nachsichtig und betrachten Sie Version 1 als Teaser...
Unterstützte Systeme sind Windows XP 32-Bit, Windows Vista 32-/64-Bit, möglicherweise auch darauf basierende Server-Systeme. Erfolgreich getestet auf Intel Core2 Quad (Q9450), Intel Core2 (6330) und Intel Pentium 4 HT.
Viele Grüße und schöne Weihnachtstage
George Kotorlis
- 19 Dec 2008, 8:56 pm
-
George Kotorlis Premium MemberThe company name is only visible to registered members.Re: Eine Multicore-Bibliothek
Für die oder den Interessierten habe ich auf
http://www.fiberpool.de/de/research.html
weitere Informationen bereitgestellt.
Gruß
George
- 07 Jan 2009, 10:55 pm
-
Herbert Danzinger Premium Member Group moderatorThe company name is only visible to registered members.Re: Eine Multicore-Bibliothek
George Kotorlis schrieb:
Im Rahmen meiner Forschungen im Bereich Parallelisierung von Anwendungen habe ich eine C++-Bibliothek implementiert, mit der es möglich ist, skalierbare Anwendungen zu entwickeln.
Hi George,
ich habe gerade die Doku durchgelesen.
Es wird erwähnt, dass die in der Bibliothek verwendeten Fibers keine OS Fibers sind. Heisst das, du hast dir deine eigenen Fibers gestrickt?
LG
HD
- 08 Jan 2009, 10:57 am
-
George Kotorlis Premium MemberThe company name is only visible to registered members.Re^2: Eine Multicore-Bibliothek
Hallo Herbert,
ja, das sind eigene Fibers. Der Hauptgrund für die Eigenentwicklung war, dass die OS Fibers mir zu viel Stack reserviert haben und somit unter Win32 nur etwas mehr als 1000 Fibers möglich sind. Desweiteren existieren einige eher willkürliche Unzulänglichkeiten bei den OS Fibers, wofür wohl die stiefmütterliche Behandlung durch MS verantwortlich ist (nach dem Motto: Hauptsache SQL Server geht).
Mit der eigenen Implementierung bin ich zudem flexibel, wenn es um speziell zugeschnittene Versionen geht. Und für eine mögliche Linux-Portierung hätte ich sie eh' entwickeln müssen.
Gruß
George
- 08 Jan 2009, 11:41 am
