MULTICUBE

Last updated
MULTICUBE
Information
Framework Programme FP7
Project TypeSpecific Targeted Research Project (STReP)
Participants Politecnico di Milano, DS2, STMicroelectronics (Italy & China), IMEC, ESTECO, ALaRI, University of Cantabria, ICT
StartJanuary, 2008
EndJune, 2010
Website http://www.multicube.eu

MULTICUBE ("Multi-objective Design Space Exploration of MultiProcessor-SoC Architectures for Embedded Multimedia Applications") is a Seventh Framework Programme (FP7) project aimed to define innovative methods for the design optimization of computer architectures for the embedded system domain.

Contents

Background

Embedded systems are specialized computing systems for wide domain of applications ranging from mobile phones and wearable electronics for military applications to control systems for automobile, factories and home automation. Even if all these domains are different, they are all characterized by their computational and programmability needs. All these applications need an underlying computing platform specially designed to cater to the application needs.

The improvements in Very Large Scale Integrations technology (VLSI) and the availability of the high computational power provided by System-on-a-Chip (SoC) has enabled development of highly sophisticated embedded applications. [1] [2] Today, the computer architectures are often designed in a multi-core paradigm, where more processors are integrated onto the same chip/die. This type of computer architecture can also be referred to as Chip-MultiProcessors (CMP), MultiProcessor-SoC (MPSoC) or, Network On Chip (NoC) where different processors communicate via a network infrastructure.

Challenges in MPSoC Design Optimization

Designing complex systems on chip many platform parameters has to be tuned. This is done in order to maximize platform performances while minimizing non functional costs such as the power consumption. This tuning phase is called Design Space Exploration (DSE). This process can be formalized as a multiobjective optimization problem where non-commensurable objectives have to be maximized (or minimized).

In the context of MPSoC design, the problem is twofold:

Approach

With the aim to reduce the design time of future embedded systems, the MULTICUBE project faces the problems related to multiobjective DSE of MPSoC platforms. [3] The MULTICUBE project defines an automatic framework for DSE providing advanced methodologies for heuristic optimization and techniques for analyzing the effects of platform parameters in order to restrict the search space to the crucial ones enabling an efficient optimization.

To have a trade-off between exploration speed and solution accuracy, the MULTICUBE project proposes a multilevel modeling methodology. [4] [5] The underlying idea is that the expensive simulations with a detailed low-level system model are not always needed. Rather, for obtaining sufficient number of design points, approximate but faster evaluation methods are acceptable. [6] Thus, the multilevel system modeling enables quick analysis of many design points using high level models. The final configuration is obtained by performing a more accurate low level simulations on the most promising candidates obtained from the high level approximation methods.

Among other activities, the MULTICUBE project develops open source tools for MPSoC modeling and optimization providing to the research and engineering communities the above-mentioned methodologies.

Related Research Articles

Processor design is the design engineering task of creating a processor, a key component of computer hardware. It is a subfield of computer engineering and electronics engineering (fabrication). The design process involves choosing an instruction set and a certain execution paradigm and results in a microarchitecture, which might be described in e.g. VHDL or Verilog. For microprocessor design, this description is then manufactured employing some of the various semiconductor device fabrication processes, resulting in a die which is bonded onto a chip carrier. This chip carrier is then soldered onto, or inserted into a socket on, a printed circuit board (PCB).

Embedded system computer system with a dedicated function within a larger mechanical or electrical system

An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electrical system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use today. Ninety-eight percent of all microprocessors manufactured are used in embedded systems.

System on a chip type of integrated circuit

A system on chip is an integrated circuit that integrates all components of a computer or other electronic system. These components typically include a central processing unit (CPU), memory, input/output ports and secondary storage – all on a single substrate or microchip, the size of a coin. It may contain digital, analog, mixed-signal, and often radio frequency signal processing functions, depending on the application. As they are integrated on a single substrate, SoCs consume much less power and take up much less area than multi-chip designs with equivalent functionality. Because of this, SoCs are very common in the mobile computing and edge computing markets. Systems-on-chip are typically fabricated using metal–oxide–semiconductor (MOS) technology, and are commonly used in embedded systems and the Internet of Things.

Multi-core processor Microprocessor with more than one processing unit

A multi-core processor is a computer processor integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions, as if the computer had several processors. The instructions are ordinary CPU instructions but the single processor can run instructions on separate cores at the same time, increasing overall speed for programs that support multithreading or other parallel computing techniques. Manufacturers typically integrate the cores onto a single integrated circuit die or onto multiple dies in a single chip package. The microprocessors currently used in almost all personal computers are multi-core. A multi-core processor implements multiprocessing in a single physical package. Designers may couple cores in a multi-core device tightly or loosely. For example, cores may or may not share caches, and they may implement message passing or shared-memory inter-core communication methods. Common network topologies to interconnect cores include bus, ring, two-dimensional mesh, and crossbar. Homogeneous multi-core systems include only identical cores; heterogeneous multi-core systems have cores that are not identical. Just as with single-processor systems, cores in multi-core systems may implement architectures such as VLIW, superscalar, vector, or multithreading.

Network on a chip communication subsystem on an integrated circuit

A network on a chip or network-on-chip is a network-based communications subsystem on an integrated circuit ("microchip"), most typically between modules in a system on a chip (SoC). The modules on the IC are typically semiconductor IP cores schematizing various functions of the computer system, and are designed to be modular in the sense of network science. The network on chip is a router-based packet switching network between SoC modules.

Meta-scheduling or Super scheduling is a computer software technique of optimizing computational workloads by combining an organization's multiple Distributed Resource Managers into a single aggregated view, allowing batch jobs to be directed to the best location for execution.

Multi-objective optimization is an area of multiple criteria decision making that is concerned with mathematical optimization problems involving more than one objective function to be optimized simultaneously. Multi-objective optimization has been applied in many fields of science, including engineering, economics and logistics where optimal decisions need to be taken in the presence of trade-offs between two or more conflicting objectives. Minimizing cost while maximizing comfort while buying a car, and maximizing performance whilst minimizing fuel consumption and emission of pollutants of a vehicle are examples of multi-objective optimization problems involving two and three objectives, respectively. In practical problems, there can be more than three objectives.

A multiprocessor system-on-chip is a system-on-a-chip (SoC) which includes multiple microprocessors. As such, it is a multi-core System-on-Chip.

ECJ is a freeware evolutionary computation research system written in Java. It is a framework that supports a variety of evolutionary computation techniques, such as genetic algorithms, genetic programming, evolution strategies, coevolution, particle swarm optimization, and differential evolution. The framework models iterative evolutionary processes using a series of pipelines arranged to connect one or more subpopulations of individuals with selection, breeding (such as crossover, and mutation operators that produce new individuals. The framework is open source and is distributed under the Academic Free License. ECJ was created by Sean Luke, a computer science professor at George Mason University, and is maintained by Sean Luke and a variety of contributors.

Ne-XVP was a research project executed between 2006-2008 at NXP Semiconductors. The project undertook a holistic approach to define a next generation multimedia processing architecture for embedded MPSoCs that targets programmability, performance scalability, and silicon efficiency in an evolutionary way. The evolutionary way implies using existing processor cores such as NXP TriMedia as building blocks and supporting industry programming standards such as POSIX threads. Based on the technology-aware design space exploration, the project concluded that hardware accelerators facilitating task management and coherency coupled with right dimensioning of compute cores deliver good programmability, scalable performance and competitive silicon efficiency.

Design Automation usually refers to electronic design automation, or Design Automation which is a Product Configurator. Extending Computer-Aided Design (CAD), automated design and Computer-Automated Design (CAutoD) are more concerned with a broader range of applications, such as automotive engineering, civil engineering, composite material design, control engineering, dynamic system identification and optimization, financial systems, industrial equipment, mechatronic systems, steel construction, structural optimisation, and the invention of novel systems.

OptiY is a design environment providing modern optimization strategies and state of the art probabilistic algorithms for uncertainty, reliability, robustness, sensitivity analysis, data-mining and meta-modeling.

MLDesigner is an integrated modeling and simulation tool for the design and analysis of complex embedded and networked systems. MLDesigner speeds up modeling, simulation and analysis of discrete event, discrete time and continuous time systems concerning architecture, function and performance. The tools is based on ideas of the "Ptolemy Project", done at the University if California Berkeley. MLDesigner is developed by MLDesign Technologies Inc. Palo Alto, CA, USA in collaboration with Mission Level Design GmbH, Ilmenau, Germany.

For several years parallel hardware was only available for distributed computing but recently it is becoming available for the low end computers as well. Hence it has become inevitable for software programmers to start writing parallel applications. It is quite natural for programmers to think sequentially and hence they are less acquainted with writing multi-threaded or parallel processing applications. Parallel programming requires handling various issues such as synchronization and deadlock avoidance. Programmers require added expertise for writing such applications apart from their expertise in the application domain. Hence programmers prefer to write sequential code and most of the popular programming languages support it. This allows them to concentrate more on the application. Therefore, there is a need to convert such sequential applications to parallel applications with the help of automated tools. The need is also non-trivial because large amount of legacy code written over the past few decades needs to be reused and parallelized.

OVPsim is a multiprocessor platform emulator used to run unchanged production binaries of the target hardware. OVPsim uses dynamic binary translation technology to achieve high simulation speeds. It has public APIs allowing users to create their own processor, peripheral and platform models. Various models are available as open source. OVPsim is a key component of the Open Virtual Platforms initiative (OVP), an organization created to promote the use of open virtual platforms for embedded software development. OVPSim requires OVP registration to download.

Design Space Exploration (DSE) refers to systematic analysis and pruning of unwanted design points based on parameters of interest. While the term DSE can apply to any kind of system, we refer to electronic and embedded system design in this article.

pSeven

pSeven is a design space exploration software platform developed by DATADVANCE, extending design, simulation and analysis capabilities and assisting in smarter and faster design decisions. It provides a seamless integration with third party CAD and CAE software tools, powerful multi-objective and robust optimization algorithms, data analysis and uncertainty quantification tools.

VisualSim Architect

VisualSim Architect is an electronic system-level software for modeling and simulation of electronic systems, embedded software and semiconductors. VisualSim Architect is a commercial version of the Ptolemy II research project at University of California Berkeley. The product was first released in 2003. VisualSim is a graphical tool that can be used for performance trade-off analyses using such metrics as bandwidth utilization, application response time and buffer requirements. It can be used for architectural analysis of algorithms, components, software instructions and hardware/ software partitioning.

References

  1. Nan Yuan, Yongbin Zhou, Guangming Tan, Junchao Zhang, Dongrui Fan. "High Performance Matrix Multiplication on Many Cores." In proceedings of the 15th international Euro-Par conference on Parallel Processing. 2009-12.
  2. Giovanni Mariani, Vittorio Zaccaria, Gianluca Palermo, Prabhat Avasare, Geert Vanmeerbeeck, Chantal Ykman-Couvreur, Cristina Silvano. "An industrial design space exploration framework for supporting run- time resource management on multi-core systems". In DATE 2010 - International Conference on Design, Automation and Test in Europe. Dresden, Germany. March 2010.
  3. C. Kavka, L. Onesti, P. Avasare, G. Vanmeerbeeck, M. Wouters and H. Posadas. "Design Space Exploration for Embedded Parallel System-on-Chip Platforms using modeFRONTIER" at the Second Mini Conference on Theoretical Computer Science, 12th International Information Society Multiconference, Koper, Slovenia, October 2009.
  4. Giovanni Mariani, Gianluca Palermo, Cristina Silvano, Vittorio Zaccaria. "Multiprocessor System-on-Chip Design Space Exploration based on Multi-level Modeling Techniques" In Proceedings of IEEE IC- SAMOS'09 - International Conference on Embedded Computer Systems: Architectures, MOdeling, and Simulation, Samos, Greece, July 2009, pp. 118-124.
  5. Gianluca Palermo, Cristina Silvano and Vittorio Zaccaria. "ReSPIR: A Response Surface-based Pareto Iterative Refinement for Application-Specific Design Space Exploration " In IEEE Transactions on Computer- Aided Design of Integrated Circuits and Systems. Volume 28 Issue 12, December 2009 pp. 1816-1829
  6. H. Posadas, E. Villar, G. de Miguel. "Automatic generation of modifiable platform models in SystemC for Automatic System Architecture Exploration " In DCIS2009 - XXIV Conference on Design of Circuits and Integrated Systems, Zaragoza, Spain. 2009-11

Further reading