Laboratory of Parallel, Embedded architectures and Intensive Computing

L A P E C I

y

Parallel, distributed and real-time systems

Advances in semiconductor technology make it technically possible to integrate complex systems on a single chip. This solution increases computing power by integrating hundreds of processors on MPSoC Multiprocessor Chip Systems. The latter are widely used in embedded systems (such as MPDAs, control of mobile machines, etc.), where once used in a domain they execute the same applications. The optimal allocation and scheduling of the tasks constituting them can be obtained statically (off-line). In order to design these systems we must master certain concepts, some of which are new and very important such as: co-design, MDE approach, design flow, multi-criteria optimization. In addition, these systems are frequently found in mobile machines or means of transport such as cars, trains, planes, etc... The majority of applications running on these systems are real time or intensive computing applications. Systematic and intensive processing applications are more and more present in several domains. They can be found both in the field of scientific computing and in the field of intensive signal processing (telecommunications, multimedia processing, image and video processing, etc.). The development of software systems relies heavily on these applications, which occupy an important place in the scientific research community. The main characteristics of these applications are that they perform a large amount of regular computations, they operate under real-time conditions, and are generally complex and critical. This project consists of participating in a stream of SoC design and development. In particular we aim at participating in the design flow known as GASPARD2, which is part of the classical "Y" methods for SoCs. This stream has been designed and implemented by the INRIA DaRT team with whom we have had research links for several years. The applications considered in this type of flow are called hierarchical where some parts use task parallelism while other parts use data parallelism. In the early 1970s, mankind became aware of Marcian Hoff's design of the first commercial Intel 4004 microprocessor. Although many technologies have since been proposed, microprocessors are almost all based on the same execution principle, says Von Newman. The complexity of these devices has grown from 2250 transistors for the Intel 4004 to hundreds of thousands for today's microprocessors. The processing power has increased during the same period from 6000 instructions executed per second to several billion for the most powerful processors. This rapid evolution of computer technology represents one of the most important technical phenomena in several decades. It is what triggered the race, which we are now experiencing, to the miniaturization of all electronic devices. The most illustrative example of this phenomenon is mobile telephony. The first systems offering mobile phone service were introduced in the early 1950s. At that time they were often quite large and had a fairly large antenna. They were limited by limited mobility, low capacity, reduced service and poor sound quality in addition to their often very high price. Nowadays, with the digital revolution, the world is being transformed by the creation of smaller, lighter and better performing digital mobile phones. These phones are also increasingly multimedia and provide better quality and a wide range of services. This has enabled them to be used in a wide variety of fields: to make calls of course, to take photos, to listen to music, and even to view videos. In addition, today they offer impressive image processing functions that require computing power similar to that of computers. This unbridled pace of evolution stems from the technological advances in integrated circuits and their architectures, which have made it possible to develop smaller, more compact and faster computer systems, thanks in large part to the ever-increasing integration capacity. One type of these systems that has benefited greatly from this evolution is the embedded system. The design techniques of these systems now allow heterogeneous systems to be grouped together on the same electronic chip, thus giving rise to a new paradigm in embedded systems: Systems on Chip (SoC). Because of their high integration capacity, SoCs offer high levels of reliability and reliability. As a result of these advantages, SoCs are often integrated into embedded systems to replace certain IT resources. But we cannot talk about advantages without mentioning disadvantages, the most important of which is the complexity of their design. The risk that the final product will not match the specification and the production lead times that make them obsolete even before they reach the market, not to mention the ever-increasing demand for computing power, make their design extremely complicated. This disadvantage, which is a major one, should not slow down industrialists and researchers. They have to keep up with this technological revolution at the cost of enormous efforts in research and development. It is with this in mind that several research teams have formed in order to propose a methodology for the easy design and development of these systems. The INRIA DaRT project is one of them. Our work is part of this project. One of the main objectives of this team is the implementation of a methodology and a development environment for high-performance systems-on-chip. That is to say, a unified framework for the development of these systems from their modeling at the highest level of abstraction to the generalization of the code. Our objective is to participate in this design flow by proposing solutions to the problems of assigning, allocating and scheduling real-time and computationally intensive applications on embedded architectures.

+ Permanent members

+ PhD students

+ Publications