PhD seminar - Hany Kashif

Thursday, July 30, 2015 1:00 pm - 1:00 pm EDT (GMT -04:00)


Hany Kashif


Deployment of Real-Time Applications on Multicore Architectures


Sebastian Fischmeister and Hiren Patel


Of all computers, 98% are embedded systems and plenty of those are real-time control systems (DARPA, 2000). There are two problems that exist in the field of real-time embedded systems. The first problem is debugging of embedded software. In general, corrective costs of software are more than two folds the development costs (NASA, Bohem). Therefore, it is important to spend efforts in finding various means of debugging to reduce costs and increase productivity. The second problem is scalability. Modern chip-multiprocessors (CMPs) connect a large number of embedded processing elements using a pipelined communication interconnect. While the use of CMPs is becoming widespread in general purpose computing, its adoption for hard real-time systems has been cautious at best. This is because of the need to provide provable guarantees that the hard real-time software always meets its timing requirements. My main research focus is, thus, (1) providing solutions to debugging real-time embedded software and (2) providing solutions to the usability of CMPs as a platform for real-time systems.

Addressing the first problem:
One method for debugging real-time software is through tracing. Instrumentation is the process of inserting code in programs to allow tracing. Instrumentation modifies the program code and, hence, causes perturbation. Perturbation is especially harmful for safety-critical real-time applications as these applications have stringent timing requirements and small deviations can easily lead to altered behaviour during testing and certification. Hence, I investigate mechanisms to instrument programs without affecting their original behaviour. Currently, I investigate time-aware instrumentation. The underlying idea is to instrument programs while honouring their timing constraints.

Addressing the second problem:
Analyzing the worst-case latencies of the communication in CMPs is difficult and pessimistic. Therefore, the deployment and worst-case latency analysis of hard real-time software on CMPs remains a prominent challenge, and an impediment to adopting CMPs for hard real-time systems. To address this challenge, researchers propose the use of resource reservation, and run-time arbitration as potential solutions. Resource reservation allocates resources before the start of the communication to ensure that there is no contention between any two packets for a resource. Run-time arbitration on the other hand, uses routers that arbitrate access to links at run-time. Hence, contention is expected, and the analysis accounts for these contentions to produce the worst-case latencies. I contend that for successful adoption of CMPs for hard real- time systems, we must provide tight analysis techniques that also facilitate other aspects of software deployment such as path selection and and buffer space analysis.