Many-Core Platforms in the Real-Time Embedded Computing Domain

Over the past few decades, the technological advancements made our lives increasingly permeated by and dependent on embedded systems. At the present day, these devices account for more than 98% of all produced computing systems, with applications that span over a wide range of areas, from medicine to avionics. Some embedded systems interact with the physical environment and have to guarantee not only that a certain action will be performed correctly, but also that the action will complete within a certain time. These devices are called real-time embedded systems, and some notable examples are medical pacemakers, airbags in cars and autopilots in airplanes. The process of analysing the temporal behaviour of a real-time embedded system is calledreal-time analysis. In many cases, the purpose of the analysis is to derive guarantees that a devicewill perform its functions correctly, while at the same time meeting all timing requirements. Areal-time analysis is mostly performed at design-time, thus its efficiency highly depends on theamount of predictability of the entire system, whereas any nondeterministic aspect of the systembehaviour has to be accounted for in the analysis with a certain degree of pessimism. A pessimisticanalysis may cause a significant resource over-provisioning in the design phase, and consequentlylead to a severe underutilisation of available resources at runtime. Therefore, reducing the analysispessimism is one of the ever-present objectives in the real-time embedded computing domain. The first real-time embedded systems were predominantly single-core devices with limitedsets of functionalities. However, constantly increasing demands for more advanced and sophisticatedfunctionalities required more powerful computational devices. When faced with the samechallenge, the other computing areas (e.g. generalpurpose or high-performance computing) optedfor platforms consisting of several cores – multi-cores and more than a dozen of cores – manycores.It comes as no surprise that the same trends, although with an offset, are noticeable in theevolution of the real-time embedded systems, where many-core platforms present the new frontiertechnology. Besides giving the options to implement more advanced functionalities, many-core platformsoffer other beneficial possibilities as well. For instance, multiple functionalities, that were previouslyimplemented on a set of single-core devices, can be integrated within fewer many-coreplatforms with significant design-cost reductions. Moreover, the abundance of available cores allowsto implement efficient thermal and power management strategies by deliberately performingtemporary shutdowns of idle cores. At the same time, the existence of idle cores, which can beused if necessary, makes these devices more resilient to hardware failures.Yet, despite the aforementioned benefits, the integration of many-cores into the real-time embeddeddomain is a big challenge. The most notable reasons are (i) increasingly complex designsof hardware components, promoting performance, often at the expense of predictability,and (ii) more significant and hard-to-analyse contention patterns for accesses to shared resources.These facts may contribute to a non-deterministic system behaviour, while, as explained above,every non-deterministic aspect of the system behaviour has to be accounted for in the real-timeanalysis with a certain degree of pessimism. In this dissertation, the focus is on the analysis of real-time embedded systems deployed onmany-core platforms. Specifically, a comprehensive collection of techniques and design choicesis presented, with the common objective to make many-cores more amenable to the real-timeanalysis, and consequently more suitable and applicable to the real-time embedded domain. Theproposed methods achieve this end in several ways: (i) by extending the state-of-the-art approachesin order to reduce the analysis pessimism, (ii) by exploiting novel hardware features, as well asenforcing constraints which cause a more deterministic and analysable system behaviour, and(iii) by PhD Thesis CISTER-TR-150603 Many-Core Platforms in the Real-Time Embedded Computing . © CISTER Research Center www.cister. isep.ipp. pt 2 elaborating on promising OS and workload paradigms, which have not been previouslyconsidered in the real-time embedded computing domain. The contributions of this dissertation can be classified into two groups. In the first set ofcontributions the focus is on the interconnect medium, which is one of the most complex-toanalyseresources in many-core platforms. Initially, the target interconnect is the network-on-chipwith a 2-D mesh topology, which utilises the wormhole switching mechanism and the XY routingtechnique. For such a generic model, which is present in the most of contemporary many-cores,a novel worst-case communication delay analysis is proposed, and subsequently compared withthe state-of-the-art method. Then, assuming the additional hardware support in the form of virtualchannels, improvements over the state-of-the-art approaches are proposed, which, not only reducethe analysis pessimism, but also significantly reduce the requirements for hardware resources.Finally, a novel arbitration policy for NoC routers is proposed. In the second set of contributions the focus is on a novel paradigm in the real-time embeddeddomain, called the Limited Migrative Model. This model is inspired by the latest trends in thehigh-performance and general-purpose computing. First, the model is introduced and the cost ofmaintaining it is analytically estimated, both in terms of computational and interconnect resources,where, for the later aspect, the findings from the first set of contributions are used (see the previousparagraph). Then, three aspects of the application workload are studied, namely: (i) communicationrequirements, (ii) memory requirements, and (iii) computation requirements. Thefirst aspect is addressed by imposing several constraints, which make the communication patternsmore predictable, and subsequently allow to derive a communication delay analysis. Moreover,the workload assignment to computational resources is investigated, but only from the communicationperspective, with the objective to spatially distribute the workload in such a way that alltiming constraints posed on communication delays are met. Then, the focus is shifted towards thememory requirements, and a set of analysis techniques are proposed, which can be used to checkwhether the memory traffic requirements are also fulfilled. In the final part, the computation requirementsof the application workload are studied. However, for this aspect only a coarse-grainedanalysis with several simplifying assumptions is presented. The proposed method represents aninitial step towards the complete analysis related to the computation requirements. Subsequently,assuming this initial analysis, the problem of the workload assignment to computational resourcesis revisited, but this time with an orthogonal objective, which is to assure that the computationalrequirements of the workload are fulfilled. The findings suggest that the first set of contributions significantly improves over the state-ofthe-artmethods in the real-time analysis of interconnects. The improvements are manifested withthe reduced analysis pessimism, as well as reduced hardware requirements. Both these aspectsare essential for mitigating the resource overprovisioning effects when designing a new system.Additionally, the findings suggest that the Limited Migrative Model has a lot of potential, andrepresents a promising step towards the application of many-core platforms into the real-timeembedded computing domain PhD Thesis CISTER-TR-150603 Many-Core Platforms in the Real-Time Embedded Computing . © CISTER Research Center www.cister. isep.ipp. pt 3 FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Many-Core Platforms in the Real-Time Embedded Computing Domain