Modern CPP

Modern CPP

Posts 1-4 of 4
  • George Kotorlis
    George Kotorlis    Premium Member
    The 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
  • George Kotorlis
    George Kotorlis    Premium Member
    The 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
  • Herbert Danzinger
    Herbert Danzinger    Premium Member   Group moderator
    The 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
  • George Kotorlis
    George Kotorlis    Premium Member
    The 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