A design flow for supporting component-based software development in multiprocessor real-time systems

Component-based software development established as an effective technique to cope with the increasing complexity of modern computing systems. In the context of real-time systems, the M-BROE framework has been recently proposed to efficiently support component-based development of real-time applications on multiprocessor platforms in the presence of shared resources. The framework relies on a two-stage approach where software components are first partitioned upon a virtual multiprocessor platform and are later integrated upon the physical platform by means of component interfaces that abstract from the internal details of the applications. This work presents a complete design flow for the M-BROE framework. Starting from a model of software components, a first method is proposed to partition applications to virtual processors and perform a synthesis of multiple component interfaces. Then, a second method is proposed to support the integration of the components by allocating virtual processors to physical processors. Both methods take resource sharing into account. Experimental results are also presented to evaluate the proposed methodology.

[1]  Giuseppe Lipari,et al.  Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[2]  Giorgio C. Buttazzo,et al.  Schedulability Analysis of Hierarchical Real-Time Systems under Shared Resources , 2016, IEEE Transactions on Computers.

[3]  Sanjoy Baruah Partitioning real-time tasks among heterogeneous multiprocessors , 2004 .

[4]  Yifan Wu,et al.  Partitioning Real-Time Applications Over Multicore Reservations , 2011, IEEE Transactions on Industrial Informatics.

[5]  Giorgio C. Buttazzo,et al.  Optimal Design for Reservation Servers under Shared Resources , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[6]  Sanjoy K. Baruah,et al.  Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor , 1990, Real-Time Systems.

[7]  Alexander Wieder,et al.  Efficient partitioning of sporadic real-time tasks with shared resources and spin locks , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[8]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[9]  Sanjoy K. Baruah,et al.  Partitioning real-time tasks among heterogeneous multiprocessors , 2004, International Conference on Parallel Processing, 2004. ICPP 2004..

[10]  Alessandro Biondi,et al.  Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors , 2016, 2016 28th Euromicro Conference on Real-Time Systems (ECRTS).

[11]  Stefan Savage,et al.  Processor Capacity Reserves for Multimedia Operating Systems , 1993 .

[12]  Sanjoy K. Baruah,et al.  Resource Sharing in EDF-Scheduled Systems: A Closer Look , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[13]  Giorgio C. Buttazzo,et al.  Supporting Component-Based Development in Partitioned Multiprocessor Real-Time Systems , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[14]  Giorgio C. Buttazzo,et al.  Resource Reservation in Dynamic Real-Time Systems , 2004, Real-Time Systems.

[15]  Sanjoy K. Baruah,et al.  Algorithms for Determining the Demand-Based Load of a Sporadic Task System , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[16]  Thomas Nolte,et al.  On Component-Based Software Development for Multiprocessor Real-Time Systems , 2015, 2015 IEEE 21st International Conference on Embedded and Real-Time Computing Systems and Applications.

[17]  Qi Zhu,et al.  Task placement and selection of data consistency mechanisms for real-time multicore applications , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[18]  Sanjoy K. Baruah,et al.  Resource-Sharing Servers for Open Environments , 2009, IEEE Transactions on Industrial Informatics.

[19]  Giorgio C. Buttazzo,et al.  Partitioning and Interface Synthesis in Hierarchical Multiprocessor Real-Time Systems , 2016, RTNS '16.

[20]  Insik Shin,et al.  Overrun Methods and Resource Holding Times for Hierarchical Scheduling of Semi-Independent Real-Time Systems , 2010, IEEE Transactions on Industrial Informatics.

[21]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[22]  Alberto L. Sangiovanni-Vincentelli,et al.  Moving From Federated to Integrated Architectures in Automotive: The Role of Standards, Methods and Tools , 2010, Proceedings of the IEEE.

[23]  Sanjoy K. Baruah,et al.  Resource holding times: computation and optimization , 2009, Real-Time Systems.

[24]  Alan Burns,et al.  Resource Sharing in Hierarchical Fixed Priority Pre-Emptive Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[25]  Alexander Wieder,et al.  On Spin Locks in AUTOSAR: Blocking Analysis of FIFO, Unordered, and Priority-Ordered Spin Locks , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[26]  Marko Bertogna,et al.  Hard Constant Bandwidth Server: Comprehensive formulation and critical scenarios , 2014, Proceedings of the 9th IEEE International Symposium on Industrial Embedded Systems (SIES 2014).

[27]  Insik Shin,et al.  SIRAP: a synchronization protocol for hierarchical resource sharingin real-time open systems , 2007, EMSOFT '07.

[28]  Baruah Sanjoy,et al.  Partitioned Scheduling of Sporadic Task Systems: an ILP-based approach , 2008 .

[29]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.