Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Martijn Martijn Koedam is active.

Publication


Featured researches published by Martijn Martijn Koedam.


ACM Sigbed Review | 2013

Virtual execution platforms for mixed-time-criticality systems: the CompSOC architecture and design flow

Kees Goossens; Arnaldo Azevedo; Karthik Chandrasekar; Manil Dev Gomony; Sven Goossens; Martijn Martijn Koedam; Yonghui Li; Davit Davit Mirzoyan; Anca Mariana Molnos; Ashkan Beyranvand Nejad; Andrew Nelson; Ss Shubhendu Sinha

Systems on chip (SOC) contain multiple concurrent applications with different time criticality (firm, soft, non real-time). As a result, they are often developed by different teams or companies, with different models of computation (MOC) such as dataflow, Kahn process networks (KPN), or time-triggered (TT). SOC functionality and (real-time) performance is verified after all applications have been integrated. In this paper we propose the CompSOC platform and design flows that offers a virtual execution platform per application, to allow independent design, verification, and execution. We introduce the composability and predictability concepts, why they help, and how they are implemented in the different resources of the CompSOC architecture. We define a design flow that allows real-time cyclo-static dataflow (CSDF) applications to be automatically mapped, verified, and executed. Mapping and analysis of KPN and TT applications is not automated but they do run composably in their allocated virtual platforms. Although most of the techniques used here have been published in isolation, this paper is the first comprehensive overview of the CompSOC approach. Moreover, three new case studies illustrate all claimed benefits: 1) An example firm-real-time CSDF H.263 decoder is automatically mapped and verified. 2) Applications with different models of computation (CSDF and TT) run composably. 3) Adaptive soft-real-time applications execute composably and can hence be verified independently by simulation.


design, automation, and test in europe | 2014

Exploiting expendable process-margins in DRAMs for run-time performance optimization

Karthik Chandrasekar; Slm Sven Goossens; Christian Weis; Martijn Martijn Koedam; Benny Akesson; Norbert Wehn; Kgw Kees Goossens

Manufacturing-time process (P) variations and runtime voltage (V) and temperature (T) variations can affect a DRAMs performance severely. To counter these effects, DRAM vendors provide substantial design-time PVT timing margins to guarantee correct DRAM functionality under worst-case operating conditions. Unfortunately, with technology scaling these timing margins have become large and very pessimistic for a majority of the manufactured DRAMs. While run-time variations are specific to operating conditions and as a result, their margins difficult to optimize, process variations are manufacturing-time effects and excessive process-margins can be reduced at run-time, on a per-device basis, if properly identified. In this paper, we propose a generic post-manufacturing performance characterization methodology for DRAMs that identifies this excess in process-margins for any given DRAM device at runtime, while retaining the requisite margins for voltage (noise) and temperature variations. By doing so, the methodology ascertains the actual impact of process-variations on the particular DRAM device and optimizes its access latencies (timings), thereby improving its overall performance. We evaluate this methodology on 48 DDR3 devices (from 12 DIMMs) and verify the derived timings under worst-case operating conditions, showing up to 33.3% and 25.9% reduction in DRAM read and write latencies, respectively.


design, automation, and test in europe | 2014

CoMik: A predictable and cycle-accurately composable real-time microkernel

Andrew Nelson; Ashkan Beyranvand Nejad; Anca Mariana Molnos; Martijn Martijn Koedam; Kees Goossens

The functionality of embedded systems is ever increasing. This has lead to mixed time-criticality systems, where applications with a variety of real-time requirements co-exist on the same platform and share resources. Due to inter-application interference, verifying the real-time requirements of such systems is generally non trivial. In this paper, we present the CoMik microkernel that provides temporally predictable and composable processor virtualisation. CoMiks virtual processors are cycle-accurately composable, i.e. their timing cannot affect the timing of co-existing virtual processors by even a single cycle. Real-time applications executing on dedicated virtual processors can therefore be verified and executed in isolation, simplifying the verification of mixed time-criticality systems. We demonstrate these properties through experimentation on an FPGA prototyped hardware platform.


international conference on embedded computer systems: architectures, modeling, and simulation | 2012

Towards future adaptive multiprocessor systems-on-chip: An innovative approach for flexible architectures

Fabrice Lemonnier; Philippe Millet; Gabriel Marchesan Almeida; Michael Hübner; Juergen Becker; Sébastien Pillement; Oivier Sentieys; Martijn Martijn Koedam; Ss Shubhendu Sinha; Kgw Kees Goossens; Christian Piguet; Marc-Nicolas Morgan; Romain Lemaire

This paper introduces adaptive techniques targeted for heterogeneous manycore architectures and introduces the FlexTiles platform, which consists of general purpose processors with some dedicated accelerators. The different components are based on low power DSP cores and an eFPGA on which dedicated IPs can be dynamically configured at run-time. These features enable a breakthrough in term of computing performance while improving the on-line adaptive capabilities brought from smart heuristics. Thus, we propose a virtualisation layer which provides a higher abstraction level to mask the underlying heterogeneity present in such architectures. Given the large variety of possible use cases that these platforms must support and the resulting workload variability, offline approaches are no longer sufficient because they do not allow coping with time changing workloads. The upcoming generation of applications include smart cameras, drones, and cognitive radio. In order to facilitate the architecture adaptation under different scenarios, we propose a programming model that considers both static and dynamic behaviors. This is associated with self adaptive strategies endowed by an operating system kernel that provides a set of functions that guarantee quality of service (QoS) by implementing runtime adaptive policies. Dynamic adaptation will be mainly used to reduce both overall power consumption and temperature and to ease the problem of decreasing yield and reliability that results from submicron CMOS scales.


Proceedings of the 10th FPGAworld Conference on | 2013

The CompSOC design flow for virtual execution platforms

Slm Sven Goossens; Benny Akesson; Martijn Martijn Koedam; Ashkan Beyranvand Nejad; Andrew Nelson; Kgw Kees Goossens

Designing a SoC for applications with mixed time-criticality is a complex and time-consuming task. Even when SoCs are built from components with known real-time properties, they still have to be combined and configured correctly to assert that these properties hold for the complete system, which is non trivial. Furthermore, applications need to be mapped to the available hardware resources and correctly integrated with the SoCs software stack, such that the realtime requirements of the applications are guaranteed to be satisfied. However, as systems grow in complexity, the design and verification effort increases, which makes it difficult to satisfy the tight time-to-market constraint. Design tools are essential to speed up the development process and increase profit. This paper presents the design flow for the CompSOC FPGA platform: a template for SoCs with mixed time-criticality applications. This work outlines how the development time of such a platform instance is reduced by means of its comprehensive tool flow, that aids a system designer in creating hardware, the associated software stack, and application mapping.


digital systems design | 2014

Composable and Predictable Dynamic Loading for Time-Critical Partitioned Systems

Ss Shubhendu Sinha; Martijn Martijn Koedam; Rob van Wijk; Andrew Nelson; Ashkan Beyranvand Nejad; Marc Geilen; Kees Goossens

In time-critical systems such as in avionics, for safety and timing guarantees, applications are isolated from each other. Resources are partitioned in time and space creating a partition per application. Such isolation allows fault containment and independent development, testing and verification of applications. Current partitioned systems do not allow dynamically adding applications. Applications are statically loaded in their respective partitions. However dynamic loading can be useful or even necessary for scenarios such as on-board software updates, dynamic reconfiguration or re-loading applications in case of a fault. In this paper we propose a software architecture to dynamically create and manage partitions and a method for compostable dynamic loading which ensures that loading applications do not affect the running applications and vice versa. Furthermore the loading time is also predictable i.e. the loading time can be bounded a priori. We achieve this by splitting the loading process into parts, wherein only a small part which reserves minimum required resources is executed in the system partition and the other parts are executed in the allocated application partition which ensures isolation from other applications. We implement the software architecture for a SoC prototype on an FPGA board and demonstrate its composability and predictability properties.


international conference on embedded computer systems architectures modeling and simulation | 2015

Designing applications for heterogeneous many-core architectures with the FlexTiles Platform

Benedikt Janssen; Fynn Schwiegelshohn; Martijn Martijn Koedam; Francois Duhem; Leonard Masing; Stephan Werner; Christophe Huriaux; Antoine Courtay; Emilie Wheatley; Kees Goossens; Fabrice Lemonnier; Philippe Millet; Jürgen Becker; Olivier Sentieys; Michael Hübner

The FlexTiles Platform has been developed within a Seventh Framework Programme project which is co-funded by the European Union with ten participants of five countries. It aims to create a self-adaptive heterogeneous many-core architecture which is able to dynamically manage load balancing, power consumption and faulty modules. Its focus is to make the architecture efficient and to keep programming effort low. Therefore, the concept contains a dedicated automated tool-flow for creating both the hardware and the software, a simulation platform that can execute the same binaries as the FPGA prototype and a virtualization layer to manage the final heterogeneous many-core architecture for run-time adaptability. With this approach software development productivity can be increased and thus, the time-to-market and development costs can be decreased. In this paper we present the FlexTiles Development Platform with a many-core architecture demonstration. The steps to implement, validate and integrate two use-cases are discussed.


digital systems design | 2011

Exploiting Inter and Intra Application Dynamism to Save Energy

Martijn Martijn Koedam; Sander Sander Stuijk; Henk Corporaal

The dynamism inside applications can be exploited to save energy. A proactive scheduler that exploits this dynamism through Dynamic Frequency and Voltage Scaling (DVFS) has been presented in [1][2]. So far, the claimed energy savings of this scheduler have never been demonstrated on a real hardware platform. In this paper, we show for the first time that the proactive scheduler from [1][2] is able to realize the claimed energy savings. Our experimental results show that this scheduler reduces the energy consumption of a MP3 decoder running on a TI Omap3530 board by 18%. The proactive scheduler from [1][2] can only be used on a system that is running a single application. In this paper, we extend this scheduler such that it can deal with multiple applications that are running concurrently. Our scheduler exploits both inter and intra application dynamism to save energy while providing timing guarantees to all applications. Experimental results show that our scheduler is able to achieve the same energy savings, 38%, as an optimized version of the Linux on demand scheduler when running two H.263 decoders concurrently. However, our scheduler achieves this result without any deadline misses, the on demand scheduler fails 10% of its deadlines leading to a substantial quality loss.


european conference on circuit theory and design | 2015

Run-time middleware to support real-time system scenarios

Kgw Kees Goossens; Martijn Martijn Koedam; Ss Shubhendu Sinha; Andrew Nelson; Mcw Marc Geilen

Systems on Chip (SOC) are powerful multiprocessor systems capable of running multiple independent applications, often with both real-time and non-real-time requirements. Scenarios exist at two levels: first, combinations of independent applications, and second, different states of a single application. Scenarios are dynamic since applications can be started and stopped independently, and a single applications behaviour can depend on its inputs, on different stages in processing, and so on. In this paper we describe how the CompSOC platform offers system integrators and application writers the capability to implement multiple scenarios.


Microprocessors and Microsystems | 2015

Composable and predictable dynamic loading for time-critical partitioned systems on multiprocessor architectures

Ss Shubhendu Sinha; Martijn Martijn Koedam; Gd Gabriela Breaban; Andrew Nelson; Ashkan Beyranvand Nejad; Marc Geilen; Kees Goossens

In time-critical systems such as in avionics, for safety and timing guarantees, applications are isolated from each other. Resources are partitioned in time and space creating a partition per application. Such isolation allows fault containment and independent development, testing and verification of applications. Current partitioned systems do not allow dynamically adding applications. Applications are statically loaded in their respective partitions. However dynamic loading can be useful or even necessary for scenarios such as on-board software updates, dynamic reconfiguration or re-loading applications in case of a fault. In this paper we propose a software architecture to dynamically create and manage partitions and a method for compostable dynamic loading which ensures that loading applications do not affect the running applications and vice versa. Furthermore the loading time is also predictable i.e. the loading time can be bounded a priori. We achieve this by splitting the loading process into parts, wherein only a small part which reserves minimum required resources is executed in the system partition and the other parts are executed in the allocated application partition which ensures isolation from other applications. We implement the software architecture for a SoC prototype on an FPGA board and demonstrate its composability and predictability properties.

Collaboration


Dive into the Martijn Martijn Koedam's collaboration.

Top Co-Authors

Avatar

Andrew Nelson

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Kgw Kees Goossens

Eindhoven University of Technology

View shared research outputs
Top Co-Authors

Avatar

Ashkan Beyranvand Nejad

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Kees Goossens

Eindhoven University of Technology

View shared research outputs
Top Co-Authors

Avatar

Ss Shubhendu Sinha

Eindhoven University of Technology

View shared research outputs
Top Co-Authors

Avatar

Anca Mariana Molnos

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Benny Akesson

Czech Technical University in Prague

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Karthik Chandrasekar

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Sander Sander Stuijk

Eindhoven University of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge