Parallel Real-time Support for Distributed Adaptive Embedded Applications
www.hurray.isep.ipp.pt
Technical Report
HURRAY-TR-120101 Version:
Date: 1/24/2012
Ricardo Garibay-Martinez Luis Lino Ferreira
Luis Miguel Pinho
Technical Report HURRAY-TR-120101 Parallel Real-time Support for Distributed Adaptive Embedded Applications
© IPP Hurray! Research Group
www.hurray.isep.ipp.pt 1
Parallel Real-time Support for Distributed Adaptive Embedded Applications
Ricardo Garibay-Martinez, Luis Lino Ferreira, Luis Miguel Pinho
IPP-HURRAY!
Polytechnic Institute of Porto (ISEP-IPP) Rua Dr. António Bernardino de Almeida, 431 4200-072 Porto
Portugal
Tel.: +351.22.8340509, Fax: +351.22.8340509
E-mail: rgmz@isep.ipp.pt, llf@isep.ipp.pt, lmp@isep.ipp.pt http://www.hurray.isep.ipp.pt
Abstract
Real-time embedded applications require to process large amounts of data within small time windows. Parallelize and distribute workloads adaptively is suitable solution for computational demanding applications. The purpose of the Parallel Real-Time Framework for distributed adaptive embedded systems is to guarantee local and distributed processing of real-time applications. This work identifies some promising research directions for parallel/distributed real-time embedded applications.
Parallel Real-time Support for Distributed Adaptive Embedded Applications
Parallel Real-time Support for Distributed Adaptive Embedded Applications
Motivation and Objectives
Ricardo Garibay-Martinez, Luis Lino Ferreira and Luís Miguel Pinho Ricardo Garibay-Martinez, Luis Lino Ferreira and Luís Miguel Pinho
•Target applications characteristics:
• Embedded real-time applicationswhich require processing large amounts of data within a deadline,
• Parallelizable,
• Resource constrained nodes.
•Objectives:
• Parallelizeanddistributethe workloadadaptively to more powerful nodes in the network,
• Guaranteeapplicationtimeliness.
•Target applications characteristics:
• Embedded real-time applicationswhich require processing large amounts of data within a deadline,
• Parallelizable,
• Resource constrained nodes.
•Objectives:
• Parallelizeanddistributethe workloadadaptively to more powerful nodes in the network,
• Guaranteeapplicationtimeliness.
Research Challenges
•ProposeLibrary/run-time extensionson existing programming models (e. g. OpenMP, MPI, etc.) forsupporting real-time.
•Develop adequate models and architectures for resource reservations handlingin distributed real-time systems.
•Design and analyzedistributed algorithmsthatguarantee real- time propertiesinheterogeneous embedded systems.
•ProposeLibrary/run-time extensionson existing programming models (e. g. OpenMP, MPI, etc.) forsupporting real-time.
•Develop adequate models and architectures for resource reservations handlingin distributed real-time systems.
•Design and analyzedistributed algorithmsthatguarantee real- time propertiesinheterogeneous embedded systems.
Parallel Adaptive Real-Time Distributed Framework Architecture
•Parallel Distributed RT Interface: represents the interface between the application and the framework
•Distributed RT Libraries and Run-time: provides the libraries and adaptive run-time support for parallel and distributed execution.
•Local RT Scheduler: schedules workloads and applies admission control real-time tests
•Local Resource Manager: monitors local resources usage and grants resources when available
•Allocation Optimizer:applies adaptive policies for enhancement of performance during distributed processing
•Allocation Manager: plans and executes the distribution of the workload through the system
•Global Resource Manager: monitors global resources by updating the system’s state
•Parallel Distributed RT Interface: represents the interface between the application and the framework
•Distributed RT Libraries and Run-time: provides the libraries and adaptive run-time support for parallel and distributed execution.
•Local RT Scheduler: schedules workloads and applies admission control real-time tests
•Local Resource Manager: monitors local resources usage and grants resources when available
•Allocation Optimizer:applies adaptive policies for enhancement of performance during distributed processing
•Allocation Manager: plans and executes the distribution of the workload through the system
•Global Resource Manager: monitors global resources by updating the system’s state
Distributed Parallel Execution
Node1
Core 1
Core 2
Shared Memory
Dual-core
Noden
Core n Core
2 Core
1
Shared Memory
…
Core 3
Multi-core
On-node Framework
Applications Applications
Local RT Scheduler Local RT Scheduler
Local Resource Manager
Local Resource Manager
Allocation Optimizer Allocation Optimizer
Allocation Manager Allocation
Manager
Communication Manager Communication Manager
Distributed RT Libraries and Run-Time Distributed RT Libraries and Run-Time
Parallel Distributed RT Interface Parallel Distributed RT Interface
Global Resource Manager Global Resource Manager
Local and Distributed RT Scheduling
•Local RT Scheduler:
• Applications and their deadlines are considered and locally scheduled
• The local scheduler triggers distributed execution whenever deadlines cannot be guaranteed locally
•Allocation Manager:
• Takes care of distributed real-time scheduling
• Distributesdata and aggregatethe results
•Local RT Scheduler:
• Applications and their deadlines are considered and locally scheduled
• The local scheduler triggers distributed execution whenever deadlines cannot be guaranteed locally
•Allocation Manager:
• Takes care of distributed real-time scheduling
• Distributesdata and aggregatethe results
OpenMP: Distributed Real-Time Scheduler
#pragma omp parallel for schedule(dist-rt) deadline(200)
for (i=0; i<n; i++) {
printf(“Parallel Distributed Execution“);
… }
/*-- End of parallel for using distributed real-time scheduler--*/
#pragma omp parallel for schedule(dist-rt) deadline(200)
for (i=0; i<n; i++) {
printf(“Parallel Distributed Execution“);
… }
/*-- End of parallel for using distributed real-time scheduler--*/
Schedule kind ‘dist-rt’ (distributed real-time) in OpenMP Schedule kind ‘dist-rt’ (distributed real-time) in OpenMP Parallel Distributed Real-time Embedded Applications Parallel Distributed Real-time Embedded Applications Workstations and Servers
Distributed Parallel Execution
Embedded Computing
Platforms
Network
Cloud Computing
Cloud Parallel Distributed
Support Parallel Distributed
Support
Parallel Distributed Support
Parallel Distributed
Support
Node 1 Node 2
P11
P12 P13
P22 P23
P21
Acknowldgements
This work was supported by National Funds through FCT (Portuguese Foundation for Science and Technology) and by ERDF (European Regional Development Fund) through COMPETE (Operational Programme 'Thematic Factors of Competitiveness'), within projects ref. FCOMP-01-0124-FEDER-015006 (VIPCORE) and Ref. FCOMP-01-0124-FEDER- 022701 (CISTER Research Unit); also by FCT and the EU ARTEMIS JU funding, within ENCOURAGE project, ref. ARTEMIS/0002/2010, JU grant nr. 269354.
This work was supported by National Funds through FCT (Portuguese Foundation for Science and Technology) and by ERDF (European Regional Development Fund) through COMPETE (Operational Programme 'Thematic Factors of Competitiveness'), within projects ref. FCOMP-01-0124-FEDER-015006 (VIPCORE) and Ref. FCOMP-01-0124-FEDER- 022701 (CISTER Research Unit); also by FCT and the EU ARTEMIS JU funding, within ENCOURAGE project, ref. ARTEMIS/0002/2010, JU grant nr. 269354.