Embedded Software Development for the Dependability Management of a Xentium Based Many-Core Architecture

Type: Master's Assignment
Contacts: Xiao ZhangHans Kerkhoff
Project: CRISP
Location: CAES, University of Twente


Without the yield problem of the cell processor of PS3 in its early days or the “three red light” (ring of death) problem of XBOX 360, the new generation of gaming consoles could have arrived upon us earlier and served us better no matter you are a fan of Microsoft or Sony.

Both the Cell processor of PS3 and Xenon processor of XBOX 360 were designed based on the latest multi-core architecture and the problems they suffered invoked the following thinking: is it possible to keep a multi-core processor still running when one or more cores have become faulty or even physically defected due to various reasons?

This question is one of the questions to be answered in the CRISP (Cutting-Edge Reconfigurable ICs for Stream Processing) project. The CRISP project aims to explore the optimal utilization, efficient programming and dependability of the reconfigurable many-core architecture. The basic “core” in this architecture is the “Xentium” tile processor from Recore Systems. One potential application will use an SoC with 54 Xentium tile processors together as the powerhouse for stream signal processing. It is of key importance to ensure the correctness of the SoC because of the special tasks it needs to perform.

In the dependability theme of the CRISP project, we propose to include a dedicated infrastructural IP into the system to monitor the “correctness” of each individual tile processor at run-time (Built-in Self-Test). When a “core” is tested and found faulty, it will be marked as an unusable resource and excluded from the system thanks to the run-time mapping software (Built-in Self-Repair). The Quality of Service (QoS) of the system will go down inevitably due to the lose of computing resource but the system can still be considered as fault-free before the system QoS drops below the the threshold.

The infrastructural IP will function as the Dependability Manager in the system. It will coordinate the activity of sub components to carry out the run-time test task. More importantly, it needs to communicate with the dependability management software running in the central general purpose processor (an ARM series processor).


You will need to design the dependability management software. The software is a process of the Linux OS running on an ARM7 general purpose processor.

The following research questions will be raised for this assignment:

  • How to manage the overall system Quality of Service according to the report from the dependability manager?
  • How to cooperate with the run-time mapping software to ensure a dependable system?
  • How to monitor the dependability manager activity and guarantee the timing specifications are met?

You should be familiar with the C/C++ programming language, understand the real-time operating system and multi-tasking programming concept. Knowledge/experience of developing software on an embedded platform is also preferable.

Free Joomla Templates designed by Web Hosting Top