COMPUTER SYSTEM AND METHOD FOR MULTI-PROCESSOR COMMUNICATION

A compiler system (160), computer-implemented method and computer program product for optimizing a program for multi-processor system execution. The compiler includes an interface component (170) configured to load from a storage component (110) program code (111) to be executed by one or more proce...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Stripf, Timo, Meyer, Johannes, Oey, Oliver, Becker, Jürgen
Format: Patent
Sprache:eng ; fre ; ger
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A compiler system (160), computer-implemented method and computer program product for optimizing a program for multi-processor system execution. The compiler includes an interface component (170) configured to load from a storage component (110) program code (111) to be executed by one or more processors (P1 to Pn) of a multi-processor system (190). Through the interface one or more optimized program codes (111-1 to 111-n) are provided to the storage component (110) wherein each optimized program code is configured to be executed by a particular processor of the one or more processors (P1 to Pn). The compiler further includes a static analysis component (120) configured to generate from the program code (111) a control flow graph (300, 400, 500) representing all paths that can be traversed through the execution of the respective program. It determines data dependencies (321, 421, 422, 521, 522, 523, 524) within the program code (111), and further determines all basic blocks of the control flow graph providing potential insertion positions along paths where communication statements can be inserted to enable data flow between different processors at runtime. An evaluation function component of the compiler is configured to evaluate each potential insertion position with regards to its impact on program execution on the multi-processor system (190) at runtime by using a predefined execution evaluation function. A code modification component (150) of the compiler is configured to obtain the one or more optimized program codes (111-1 to 111-n) by inserting coupled send and receive communication instructions statements in each relevant path of the control flow graph at one or more insertion positions wherein each insertion position has an evaluation value which indicates optimal runtime execution for the program when executed on the multi-processor system (190).