oru.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Nemati, Farhang, Senior LecturerORCID iD iconorcid.org/0000-0003-0316-7124
Publications (10 of 19) Show all publications
Nemati, F. & Nolte, T. (2013). Resource Sharing among Real-Time Components under Multiprocessor Clustered Scheduling. Real-time systems, 49(5), 580-613
Open this publication in new window or tab >>Resource Sharing among Real-Time Components under Multiprocessor Clustered Scheduling
2013 (English)In: Real-time systems, ISSN 0922-6443, E-ISSN 1573-1383, Vol. 49, no 5, p. 580-613Article in journal (Refereed) Published
Abstract [en]

In this paper we propose a general synchronization protocol for resource sharing among independently-developed real-time applications (components) on multi-core platforms. This protocol is a generalization of a previously proposed synchronization protocol (MSOS). In our proposed protocol, each component is statically allocated on a dedicated subset of processors (called cluster). A component has its own internal scheduler by which its tasks are scheduled. In this paper we focus on multiprocessor global fixed-priority preemptive scheduling algorithms to be used to schedule the tasks inside each component. Sharing the local resources is handled by the Priority Inheritance Protocol (PIP). For sharing the global resources (inter-component resource sharing) we have studied usage of FIFO and Round-Robin queues for access the resources across the components and usage of FIFO and prioritized queues inside the components. We have derived schedulability analysis for the different queue handling alternatives and compared their performance by using experimental evaluations. Finally, we have shown that the integration phase can be formulated in the form of a nonlinear integer programming problem where solution techniques in this domain can be used to minimize the total number of processors required to guarantee the schedulability of all components. As a proof of concept we have only provided the formulation for FIFO queues.

Place, publisher, year, edition, pages
Springer, 2013
Keywords
Multiprocessor scheduling, Resource sharing, Clustered scheduling, Open systems on multi-cores
National Category
Computer Sciences
Identifiers
urn:nbn:se:oru:diva-77164 (URN)10.1007/s11241-013-9180-6 (DOI)000321960800002 ()2-s2.0-84880324623 (Scopus ID)
Funder
Swedish Foundation for Strategic Research Swedish Research Council
Note

Funding Agency:

Mälardalen Real-Time Research Centre (MRTC)/Mälardalen University

Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-17Bibliographically approved
Nemati, F. & Nolte, T. (2012). Resource Sharing among Prioritized Real-Time Applications on Multi-cores. Västerås: Mälardalen Real-Time Research Centre, Mälardalen University
Open this publication in new window or tab >>Resource Sharing among Prioritized Real-Time Applications on Multi-cores
2012 (English)Report (Other academic)
Abstract [en]

MSOS (Multiprocessors Synchronization protocol for real-time Open Systems) is a synchronization protocol for handling resource sharing among independently-developed realtime applications (components) on multi-core platforms. MSOS does not consider any priority setting among applications. To handle resource sharing based on the priority of applications, in this paper we propose a new protocol that allows for resource sharing among prioritized real-time applications on a multi-core platform. We propose an optimal priority assignment algorithm which assigns unique priorities to the applications based on information in their interfaces. We have performed experimental evaluations to compare the proposed protocol (called MSOS-Priority) to the existing MSOS as well as to the current state of the art locking protocols under multiprocessor partitioned scheduling, i.e., MPCP, MSRP, FMLP and OMLP. The evaluations show that MSOS-Priority mostly performs significantly better than alternative approaches.

Place, publisher, year, edition, pages
Västerås: Mälardalen Real-Time Research Centre, Mälardalen University, 2012. p. 12
Series
MRTC report, ISSN 1404-3041
National Category
Computer Sciences
Identifiers
urn:nbn:se:oru:diva-77162 (URN)MDH-MRTC-265/2012-1-SE (ISRN)
Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-17Bibliographically approved
Nemati, F. (2012). Resource Sharing in Real-Time Systems on Multiprocessors. (Doctoral dissertation). Västerås: Mälardalen University
Open this publication in new window or tab >>Resource Sharing in Real-Time Systems on Multiprocessors
2012 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

In recent years multiprocessor architectures have become mainstream, and multi-core processors are found in products ranging from small portable cell phones to large computer servers. In parallel, research on real-time systems has mainly focused on traditional single-core processors. Hence, in order for real-time systems to fully leverage on the extra capacity offered by new multi-core processors, new design techniques, scheduling approaches, and real-time analysis methods have to be developed.

In the multi-core and multiprocessor domain there are mainly two scheduling approaches, global and partitioned scheduling. Under global scheduling each task can execute on any processor at any time while under partitioned scheduling tasks are statically allocated to processors and migration of tasks among processors is not allowed. Besides simplicity and efficiency of partitioned scheduling protocols, existing scheduling and synchronization techniques developed for single-core processor platforms can more easily be extended to partitioned scheduling. This also simplifies migration of existing systems to multi-cores. An important issue related to partitioned scheduling is the distribution of tasks among the processors, which is a bin-packing problem.

In this thesis we propose a blocking-aware partitioning heuristic algorithm to distribute tasks onto the processors of a multi-core architecture. The objective of the proposed algorithm is to decrease the blocking overhead of tasks, which reduces the total utilization and has the potential to reduce the number of required processors.

In industrial embedded software systems, large and complex systems are usually divided into several components (applications) each of which is developed independently without knowledge of each other, and potentially in parallel. However, the applications may share mutually exclusive resources when they co-execute on a multi-core platform which introduce a challenge for the techniques needed to ensure predictability. In this thesis we have proposed a new synchronization protocol for handling mutually exclusive resources shared among real-time applications on a multi-core platform. The schedulability analysis of each application is performed in isolation and parallel and the requirements of each application with respect to the resources it may share are included in an interface. The protocol did not originally consider any priorities among the applications. We have proposed an additional version of the protocol which grants access to resources based on priorities assigned to the applications. We have also proposed an optimal priority assignment algorithm to assign unique priorities to the applications sharing resources. Our evaluations confirm that the protocol together with the priority assignment algorithm outperforms existing alternatives in most cases.

In the proposed synchronization protocol each application is assumed to be allocated on one dedicated core. However, in this thesis we have further extended the synchronization protocol to be applicable for applications allocated on multiple dedicated cores of a multi-core platform. Furthermore, we have shown how to efficiently calculate the resource hold times of resources for applications. The resource hold time of a resource for an application is the maximum duration of time that the application may lock the resource whenever it requests the resource. Finally, the thesis discusses and proposes directions for future work.

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2012. p. 61
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 124
National Category
Engineering and Technology
Research subject
Computer Science
Identifiers
urn:nbn:se:oru:diva-77148 (URN)978-91-7485-063-5 (ISBN)
Public defence
2012-05-25, Gamma, Mälardalens högskola, Västerås, 14:00 (English)
Opponent
Supervisors
Available from: 2019-10-16 Created: 2019-10-10 Last updated: 2019-10-16Bibliographically approved
Afshar, S., Nemati, F. & Nolte, T. (2012). Resource Sharing under Multiprocessor Semi-Partitioned Scheduling. In: 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications: Proceedings. Paper presented at 18th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2012), Seoul, South Korea, August 19-22, 2012 (pp. 290-299). IEEE
Open this publication in new window or tab >>Resource Sharing under Multiprocessor Semi-Partitioned Scheduling
2012 (English)In: 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications: Proceedings, IEEE, 2012, p. 290-299Conference paper, Published paper (Refereed)
Abstract [en]

Semi-partitioned scheduling has become the subject of recent interest for multiprocessors due to better utilization results, compared to conventional global and partitioned scheduling algorithms. Under semi-partitioned scheduling, a major group of tasks are assigned to fixed processors while a low number of tasks are allocated to more than one processor. Various task assigning techniques have recently been proposed in a semi-partitioned environment. However, a synchronization mechanism for resource sharing among tasks in semi-partitioned scheduling has not yet been investigated. In this paper we propose and evaluate two methods for handling resource sharing under semi-partitioned scheduling in multiprocessor platforms. The main challenge addressed in this paper is to serve the resource requests of tasks that are assigned to different processors.

Place, publisher, year, edition, pages
IEEE, 2012
Series
IEEE Symposium on Embedded Systems for Real-Time Multimedia, ISSN 2325-1271, E-ISSN 2325-1301
National Category
Computer Sciences
Identifiers
urn:nbn:se:oru:diva-77143 (URN)10.1109/RTCSA.2012.25 (DOI)2-s2.0-84869032347 (Scopus ID)978-1-4673-3017-6 (ISBN)978-0-7695-4824-1 (ISBN)
Conference
18th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2012), Seoul, South Korea, August 19-22, 2012
Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-21Bibliographically approved
Afshar, S., Nemati, F. & Nolte, T. (2012). Towards Resource Sharing under Multiprocessor Semi-Partitioned Scheduling. In: 7th IEEE International Symposium on Industrial Embedded Systems (SIES'12): Conference Proceedings. Paper presented at 7th IEEE International Symposium on Industrial Embedded Systems (SIES'12), Karlsruhe, Germany, June 20-22, 2012 (pp. 315-318). IEEE
Open this publication in new window or tab >>Towards Resource Sharing under Multiprocessor Semi-Partitioned Scheduling
2012 (English)In: 7th IEEE International Symposium on Industrial Embedded Systems (SIES'12): Conference Proceedings, IEEE, 2012, p. 315-318Conference paper, Published paper (Refereed)
Abstract [en]

Semi-partitioned scheduling has been the subject of recent interest, compared with conventional global and partitioned scheduling algorithms for multiprocessors, due to better utilization results. In semi-partitioned scheduling most tasks are assigned to fixed processors while a low number of tasks are split up and allocated to different processors. Various techniques have recently been proposed to assign tasks in a semi-partitioned environment. However, an appropriate resource sharing mechanism for handling the resource requests between tasks in semi-partitioned scheduling has not yet been investigated. In this paper we propose two methods for handling resource sharing under semi-partitioned scheduling in multiprocessor platforms. The main challenge is to handle the resource requests of tasks that are split over multiple processors.

Place, publisher, year, edition, pages
IEEE, 2012
Series
Symposium on Industrial Embedded Systems proceedings, ISSN 2150-3109, E-ISSN 2150-3117
National Category
Computer Sciences
Identifiers
urn:nbn:se:oru:diva-77144 (URN)10.1109/SIES.2012.6356605 (DOI)2-s2.0-84871604362 (Scopus ID)978-1-4673-2683-4 (ISBN)978-1-4673-2685-8 (ISBN)
Conference
7th IEEE International Symposium on Industrial Embedded Systems (SIES'12), Karlsruhe, Germany, June 20-22, 2012
Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-21Bibliographically approved
Nemati, F., Behnam, M. & Nolte, T. (2011). Independently-Developed Real-Time Systems on Multi-Cores with Shared Resources. In: 2011 23rd Euromicro Conference on Real-Time Systems: Proceedings. Paper presented at 23rd Euromicro Conference on Real-Time Systems (ECRTS 2011), Porto, Portugal, July 5-8, 2011 (pp. 251-261). IEEE
Open this publication in new window or tab >>Independently-Developed Real-Time Systems on Multi-Cores with Shared Resources
2011 (English)In: 2011 23rd Euromicro Conference on Real-Time Systems: Proceedings, IEEE, 2011, p. 251-261Conference paper, Published paper (Refereed)
Abstract [en]

In this paper we propose a synchronization protocol for resource sharing among independently-developed real-time systems on multi-coreplatforms. The systems may use different scheduling policies and they may have their own local priority settings. Each system is allocated on a dedicated processor (core). In the proposed synchronization protocol, each system is abstracted by an interface which abstracts the information needed for supporting global resources. The protocol facilitates the composability of various real-time systems with different scheduling and priority settings on a multi-core platform. We have performed experimental evaluations and compared the performance of our proposed protocol (MSOS) against the two existing synchronization protocols MPCP and FMLP. The results show that the new synchronization protocol enables composability without any significant loss of performance. In fact, in most cases the new protocol performs better than at least one of the other two synchronization protocols. Hence, we believe that the proposed protocol is a viable solution for synchronization among independently-developedreal-time systems executing on a multi-core platform.

Place, publisher, year, edition, pages
IEEE, 2011
Series
Euromicro Conference on Real-Time Systems (ECRTS), ISSN 1068-3070, E-ISSN 2377-5998
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:oru:diva-77151 (URN)10.1109/ECRTS.2011.31 (DOI)000323257300023 ()2-s2.0-80053001354 (Scopus ID)978-1-4577-0643-1 (ISBN)
Conference
23rd Euromicro Conference on Real-Time Systems (ECRTS 2011), Porto, Portugal, July 5-8, 2011
Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-17Bibliographically approved
Nemati, F. & Nolte, T. (2011). Resource Hold Times under Multiprocessor Static-Priority Global Scheduling. In: 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications. Volume 1: Proceedings. Paper presented at 17th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2011), Toyama, Japan, August 28-31, 2011 (pp. 197-206). IEEE Computer Society
Open this publication in new window or tab >>Resource Hold Times under Multiprocessor Static-Priority Global Scheduling
2011 (English)In: 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications. Volume 1: Proceedings, IEEE Computer Society , 2011, p. 197-206Conference paper, Published paper (Refereed)
Abstract [en]

Recently there has been a lot of interest in coexisting of multiple independently-developed real-time applications on a shared open platform. On the other hand, emerging of multi-core platforms and the performance and possibilities they offer has attracted a lot of attention in multiprocessor real-time analysis, protocols and techniques. Co-executing independently- developedreal-time applications on a shared multiprocessor system, where each application executes on a dedicated sub set of processors, requires to overcome the problem of handling mutually exclusive shared resources among those applications. To handle resource sharing, it is important to determine the Resource Hold Time (RHT), i.e., the maximum duration of time that an application locks a shared resource.

In this paper, we study resource hold times under multiprocessor static-priority global scheduling. We present how to compute RHT's for each resource in an application. We also show how to decrease the RHT's without compromising the schedulability of the application. We show that decreasing all RHT's for all shared resources is a multiobjective optimization problem and there can exist multiple Paretooptimal solutions.

Place, publisher, year, edition, pages
IEEE Computer Society, 2011
Series
IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, ISSN 2325-1271, E-ISSN 2325-1301
National Category
Computer Systems
Identifiers
urn:nbn:se:oru:diva-77161 (URN)10.1109/RTCSA.2011.34 (DOI)000410200400022 ()2-s2.0-84855558902 (Scopus ID)978-0-7695-4502-8 (ISBN)
Conference
17th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2011), Toyama, Japan, August 28-31, 2011
Funder
Swedish Foundation for Strategic Research Swedish Research Council
Note

Funding Agency:

Mälardalen Real-Time Research Centre (MRTC)/Mälardalen University 

Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-17Bibliographically approved
Nemati, F., Behnam, M. & Nolte, T. (2011). Sharing Resources among Independently-developed Systems on Multi-cores. ACM SIGBED Review, 8(1), 46-53
Open this publication in new window or tab >>Sharing Resources among Independently-developed Systems on Multi-cores
2011 (English)In: ACM SIGBED Review, ISSN 1551-3688, Vol. 8, no 1, p. 46-53Article in journal (Refereed) Published
Abstract [en]

In this paper we propose a synchronization protocol for resource sharing among independently-developed real-time systems on multi-core platforms. The systems may use different scheduling policies and they may have arbitrary priority settings. When using this synchronization protocol each processor is abstracted by an interface which consists of a set of requirements. A requirement depends only on the worst-case time the processor may wait for resources, i.e., the maximum number of times that the resources can be blocked by other processors. We have derived schedulability conditions for each processor and based on the analysis we extract the interface of the processor. In this paper, we focus on the cases when each system is allocated on a dedicated processor.

Place, publisher, year, edition, pages
New York: ACM SIGBED, 2011
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:oru:diva-77154 (URN)10.1145/1967021.1967027 (DOI)
Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-17Bibliographically approved
Behnam, M., Nemati, F., Nolte, T. & Grahn, H. (2011). Towards an Efficient Approach for Resource Sharing in Real-Time Multiprocessor Systems. In: 2011 6th IEEE International Symposium on Industrial and Embedded Systems: Conference Proceedings. Paper presented at 6th IEEE International Symposium on Industrial Embedded Systems (SIES 2011), Västerås, Sweden, June 15-17, 2011 (pp. 99-102). IEEE
Open this publication in new window or tab >>Towards an Efficient Approach for Resource Sharing in Real-Time Multiprocessor Systems
2011 (English)In: 2011 6th IEEE International Symposium on Industrial and Embedded Systems: Conference Proceedings, IEEE , 2011, p. 99-102Conference paper, Published paper (Refereed)
Abstract [en]

Supporting resource sharing in multiprocessor architectures is one of the problems which may limit the benefits that can be archived using this type of architecture. Many approaches and algorithms have been proposed to support resource sharing, however, most of them impose either high blocking times on tasks or require a large memory size. In this paper we investigate the possibility of combining the lock-based approaches and wait-free approaches (using multiple buffers) in order to decrease both the blocking time that may affect the schedulability of tasks and the required memory. To achieve this, we propose a solution based on evaluating the maximum allowed blocking time on each task according to the schedulability analysis, and then find the minimum memory requirement for each resource such that it limits the blocking times on tasks to be less than the maximum allowed blocking times.

Place, publisher, year, edition, pages
IEEE, 2011
Series
Symposium on Industrial Embedded Systems proceedings, ISSN 2150-3109, E-ISSN 2150-3117
National Category
Computer Sciences
Identifiers
urn:nbn:se:oru:diva-77145 (URN)10.1109/SIES.2011.5953690 (DOI)2-s2.0-80051957053 (Scopus ID)978-1-61284-818-1 (ISBN)978-1-61284-819-8 (ISBN)
Conference
6th IEEE International Symposium on Industrial Embedded Systems (SIES 2011), Västerås, Sweden, June 15-17, 2011
Funder
Knowledge Foundation
Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-18Bibliographically approved
Nemati, F., Inam, R., Nolte, T. & Sjödin, M. (2011). Towards Resource Sharing by Message Passing among Real-Time Components on Multi-cores. In: Mammeri, Z (Ed.), IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2011: . Paper presented at 16th Conference on Emerging Technologies and Factory Automation (ETFA 2011), Toulouse, France, September 5-9, 2011. IEEE
Open this publication in new window or tab >>Towards Resource Sharing by Message Passing among Real-Time Components on Multi-cores
2011 (English)In: IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2011 / [ed] Mammeri, Z, IEEE, 2011Conference paper, Published paper (Refereed)
Abstract [en]

In this paper we propose a message passing synchronization protocol for resource sharing among real-time applications on multi-core platforms where each application is allocated on a cluster of cores. In this protocol the resources that are only used within an application (local resources) are handled by shared memory synchronization while the resources shared cross applications (global resources) are accessed by means of message passing. In our protocol the global resources are safely accessed without requiring to lock the resources explicitly. The goal is to avoid resource locking using shared memory, since accessing shared memory in multi-cores is very time consuming, whereas message passing has the potential to be much more efficient in systems with deep memory hierarchies.

Place, publisher, year, edition, pages
IEEE, 2011
Series
International Conference on Emerging Technologies and Factory Automation (ETFA), ISSN 1946-0740, E-ISSN 1946-0759
National Category
Computer Systems
Identifiers
urn:nbn:se:oru:diva-77156 (URN)10.1109/ETFA.2011.6059191 (DOI)000297542900209 ()2-s2.0-80655132017 (Scopus ID)978-1-4577-0017-0 (ISBN)978-1-4577-0016-3 (ISBN)
Conference
16th Conference on Emerging Technologies and Factory Automation (ETFA 2011), Toulouse, France, September 5-9, 2011
Available from: 2019-10-10 Created: 2019-10-10 Last updated: 2019-10-17Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0003-0316-7124

Search in DiVA

Show all publications