@PhdThesis{Derin.PhD, author = "{Onur Derin}", school = {Faculty of Informatics, University of Lugano}, title = "{Self-adaptivity of Applications on Network on Chip Multiprocessors: The Case of Fault-tolerant Kahn Process Networks}", note = "{PhD thesis}", month = {May}, year = {2015}, researcharea = "Fault tolerance", filelink = "http://doc.rero.ch/record/257421/files/2015INFO010.pdf", url = "http://doc.rero.ch/record/257421?ln=en", keywords = "kahn process networks (KPN), networks-on-chip (NoC), reliability, fault tolerance, self-adaptivity, no remote memory access (NORMA), high performance, embedded computing systems", abstract = "{Technology scaling accompanied with higher operating frequencies and the ability to integrate more functionality in the same chip has been the driving force behind delivering higher performance computing systems at lower costs. Embedded computing systems, which have been riding the same wave of success, have evolved into complex architectures encompassing a high number of cores interconnected by an on-chip network (usually identified as Multiprocessor System-on-Chip). However these trends are hindered by issues that arise as technology scaling continues towards deep submicron scales. Firstly, growing complexity of these systems and the variability introduced by process technologies make it ever harder to perform a thorough optimization of the system at design time. Secondly, designers are faced with a reliability wall that emerges as age-related degradation reduces the lifetime of transistors, and as the probability of defects escaping post-manufacturing testing is increased. In this thesis, we take on these challenges within the context of streaming applications running in network-on-chip based parallel (not necessarily homogeneous) systems-on-chip that adopt the no-remote memory access model. In particular, this thesis tackles two main problems: (1) fault-aware online task remapping, (2) application-level self-adaptation for quality management. For the former, by viewing fault tolerance as a self-adaptation aspect, we adopt a cross-layer approach that aims at graceful performance degradation by addressing permanent faults in processing elements mostly at system-level, in particular by exploiting redundancy available in multi-core platforms. We propose an optimal solution based on an integer linear programming formulation (suitable for design time adoption) as well as heuristic-based solutions to be used at run-time. We assess the impact of our approach on the lifetime reliability. We propose two recovery schemes based on a checkpoint-and-rollback and a rollforward technique. For the latter, we propose two variants of a monitor-controller-adapter loop that adapts application-level parameters to meet performance goals. We demonstrate not only that fault tolerance and self-adaptivity can be achieved in embedded platforms, but also that it can be done without incurring large overheads. In addressing these problems, we present techniques which have been realized (depending on their characteristics) in the form of a design tool, a run-time library or a hardware core to be added to the basic architecture.}" } @misc{Derin.DAC14.MISC, author = "Onur Derin and Poorna C. S. Alamanda and Karim M. A. Ali and Giuseppe Tuveri and Emanuele Cannella and Leandro Fiorin and Paolo Meloni and Mariagiovanna Sami", title = "A Roll-forward Fault Recovery Technique based on Remapping of PPN Applications on NoC-based Multiprocessors", howpublished = "Poster presentation at the Design Automation Conference (DAC)", month = "June 4", year = "2014", address= {San Francisco, USA}, researcharea = "Fault tolerance", poster = "http://www.alari.ch/people/derino/Research/publications/20140604-Derin-DAC-poster.pdf" } @inproceedings{DeFi.VERFE.2014, author= "Onur Derin and Leandro Fiorin", title= "Towards a Reliability-aware Design Flow for Kahn Process Networks on NoC-based Multiprocessors", booktitle= "Proceedings of the 10th Workshop on Dependability and Fault Tolerance (ARCS/VERFE'14)", year= "2014", address= {L\"{u}beck, Germany}, month= "February 25-26", pages = "1-8", filelink = "http://www.alari.ch/people/derino/Research/publications/20140226-DeFi-ARCS-VERFE.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20140226-DeFi-ARCS-VERFE-presentation.pdf", abstract = "In order to satisfy performance and low power requirements of applications, embedded systems are becoming increasingly complex and highly integrated with various types of cores. As complexity increases and CMOS technology scales down into the deep-submicron domain, the rate of hard and soft faults in such systems increases. Such trend requires the reliability aspect to be incorporated as a design goal along with the more conventional goals such as performance, cost and power. In this paper, we investigate the reliability achieved by two system-level fault tolerance techniques, namely online task remapping and N-modular redundancy. By means of an analytical model of applications represented as Kahn Process Networks running on heterogeneous multiprocessors based on Networks-on-Chip, we evaluate these techniques with respect to the obtained level of reliability (mean-time-to-failure) and the overhead in computation (execution time) and communication (amount of data transfer on the network). By presenting a reliability estimation method, we enable a reliability-aware design flow on NoC-based MPSoCs.", keywords = "kahn process networks (KPN), networks-on-chip (NoC), reliability, fault tolerance", researcharea = "Fault tolerance", } @article{madness.MICPRO, author = "Onur Derin and Emanuele Cannella and Giuseppe Tuveri and Paolo Meloni and Todor Stefanov and Leandro Fiorin and Luigi Raffo and Mariagiovanna Sami", title = "A System-level Approach to Adaptivity and Fault tolerance in NoC-based MPSoCs: the MADNESS Project", journal = "Microprocessors and Microsystems", issue_date = "", volume = "37", number = "6-7", month = "August", year = 2013, issn = {0141-9331}, pages = "515--529", filelink = {http://www.sciencedirect.com/science/article/pii/S0141933113000975}, doi = {http://dx.doi.org/10.1016/j.micpro.2013.07.007}, publisher = "Elsevier Science Publishers B. V.", address = "Amsterdam, The Netherlands, The Netherlands", keywords = "embedded systems, MPSoCs, networks-on-chip (NoC), task migration, fault tolerance", researcharea = "Fault tolerance", abstract="Modern embedded systems increasingly require adaptive run-time management of available resources. One method for supporting adaptivity is to implement run-time application mapping. The system may adapt the mapping of the applications in order to accommodate the current workload conditions, to balance the computing load for efficient resource utilization, to meet quality of service agreements, to avoid thermal hot-spots, and to reduce power consumption. As the possibility of experiencing run-time faults becomes increasingly relevant with deep-sub-micron technology nodes, in the scope of the MADNESS project, we focused particularly on the problem of graceful degradation by dynamic remapping in presence of run-time faults. In this paper, we summarize the major results achieved in the MADNESS project regarding the system adaptivity and fault-tolerant processing. We report the results of the integration between platform level and middleware level support for adaptivity and fault tolerance. Two case studies demonstrate the survival ability of the system via a low-overhead process migration mechanism and by taking near optimal remapping decisions at run-time." } @techreport{madness-d54, author="Onur Derin and Leandro Fiorin and Mariagiovanna Sami", title="Report on the integration of fault tolerance", institution="EU FP7 STREP Project MADNESS", year="2013", month="February", number="Deliverable D5.4", researcharea = "Fault tolerance" } @misc{Derin.DATE13.MISC, author = "Onur Derin", title = "Self-adaptivity of Applications on Network on Chip Multiprocessors: The Case of Fault-tolerant Kahn Process Networks", howpublished = "Poster presentation at the ACM SIGDA / EDAA PhD Forum at the Conference on Design, Automation, and Test in Europe (DATE)", month = "March 18", year = "2013", researcharea = "Fault tolerance", poster = "http://www.alari.ch/people/derino/Research/publications/20130318-Derin-DATE_PhD_Forum-poster.pdf" } @inproceedings{DeRaMeTu.PECCS.2013, author= "Onur Derin and Prasanth Kuncheerath Ramankutty and Paolo Meloni and Giuseppe Tuveri", title= "A Low Overhead Self-adaptation Technique for KPN Applications on NoC-based MPSoCs", booktitle= "Proceedings of the 3rd International Conference on Pervasive and Embedded Computing and Communication Systems (PECCS) - Special Session on Self-Adaptive Networked Embedded Systems (SANES)", year= "2013", address= "Barcelona, Spain", month= "February 19-21", pages = "262--269", filelink = "http://www.alari.ch/people/derino/Research/publications/20130220-DeRaMeTu-PECCS-SANES.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20130220-DeRaMeTu-PECCS-SANES-presentation.pdf", abstract = "Self-adaptive systems are able to adapt themselves to mutating internal/external conditions so as to meet their goals. One of the challenges to be tackled when designing such systems is the overhead introduced in making the system monitorable and adaptable. A large overhead can easily compensate the benefits of adaptation. In this work, we are addressing this challenge within the context of KPN applications on NoC-based MPSoCs. In particular, parametric adaptations at the application level are considered. We present a low overhead technique for the implementation of the monitor-controller-adapter loop, which is present in self-adaptive systems. The technique is fundamentally based on an extended network interface which provides the ability to interrupt remote tiles on a NoC-based multiprocessor platform. Results from the MJPEG case study show that the proposed interrupt-based approach incurs an overhead as low as 0.4\% without compromising the quality of the adaptation control. Our new technique provides an improvement of approximately 6.25\% compared to another state-of-the-art technique that interacts with the application using KPN semantics (i.e., blocking channels). Moreover, the sensitivity of the overhead to the complexity of the adaptation controller is much lower in case of our interrupt-based technique as compared to the blocking channel based scheme.", keywords = "kahn process networks (KPN), networks-on-chip (NoC), self-adaptation, event-based control", researcharea = "Self-adaptation", } @article{163.DeRaMeCa12.ASE, author= "Onur Derin and Prasanth Kuncheerath Ramankutty and Paolo Meloni and Emanuele Cannella", title= "Towards Self-adaptive KPN Applications on NoC-based MPSoCs", journal= "Advances in Software Engineering", year= "2012", volume= "2012", number= "Article ID 172674", pages = "16 pages", issn = "", publisher = "Hindawi", month= "September", doi = "http://dx.doi.org/10.1155/2012/172674", abstract= "{Self-adaptivity is the ability of a system to adapt itself dynamically to internal and external changes. Such a capability helps systems to meet the performance and quality goals, while judiciously using available resources. In this paper, we propose a framework to implement application level self-adaptation capabilities in KPN applications running on NoC-based MPSoCs. The monitor-controller-adapter mechanism is used at the application level. The monitor measures various parameters to check whether the system meets the assigned goals. The controller takes decisions to steer the system towards the goal, which are applied by the adapters. The proposed framework requires minimal modifications to the application code and offers ease of integration. It incorporates a generic adaptation controller based on fuzzy logic. We present the MJPEG encoder as a case study to demonstrate the effectiveness of the approach. Our results show that even if the parameters of the fuzzy controller are not tuned optimally, the adaptation convergence is achieved within reasonable time and error limits. Moreover, the incurred steady-state overhead due to the framework is 4\% for average frame-rate, 3.5\% for average bit-rate, and 0.5\% for additional control data introduced in the network.}", keywords = "kahn process networks (KPN), networks-on-chip (NoC), quality-of-service (QoS), self-adaptivity", researcharea = "Self-adaptation", filelink = "{http://downloads.hindawi.com/journals/ase/2012/172674.pdf}", } @inproceedings{madness.dsd.2012, author= "Paolo Meloni and Giuseppe Tuveri and Luigi Raffo and Emanuele Cannella and Todor Stefanov and Onur Derin and Leandro Fiorin and Mariagiovanna Sami", title= "System Adaptivity and Fault tolerance in NoC-based MPSoCs: the MADNESS Project Approach", booktitle= "Proceedings of the 15th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools (DSD'12)", year= "2012", address= "Izmir, Turkey", month= "September 5-8", abstract = "Modern embedded systems increasingly require adaptive run-time management. The system may adapt the mapping of the applications in order to accommodate the current workload conditions, to balance load for efficient resource utilization, to meet quality of service agreements, to avoid thermal hot-spots and to reduce power consumption. As the possibility of experiencing run-time faults becomes increasingly relevant with deep-sub-micron technology nodes, in the scope of the MADNESS project, we focus particularly on the problem of graceful degradation by dynamic remapping in presence of run-time faults. In this paper, we summarize the major results achieved in the MADNESS project until now regarding the system adaptivity and fault tolerant processing. We report the first results of the integration between platform level and middleware level support for adaptivity and fault tolerance. A case study demonstrates the survival ability of the platform via a low-overhead process migration mechanism and a near-optimal online remapping heuristic.", keywords = "fault tolerance, kahn process networks (KPN), middleware, networks-on-chip (NoC), process migration, system adaptivity", researcharea = "Fault tolerance", filelink = "http://www.alari.ch/people/derino/Research/publications/201209-MADNESS-DSD.pdf" } @misc{CaDeSt11MISC, author = "Emanuele Cannella and Onur Derin and Todor Stefanov", title = "Middleware Approaches for Adaptivity of Kahn Process Networks on Networks-on-Chip", howpublished = "Poster at the ICT.OPEN Conference, Veldhoven, The Netherlands", month = "November 14-15", year = "2011", keywords = "kahn process networks (KPN), middleware, networks-on-chip (NoC), system adaptivity", poster = "http://www.liacs.nl/~cannella/publications/ICT.OPEN.pdf", abstract = "", researcharea = "Fault tolerance" } @article{CaDeMeTuSt12.VLSI, author= "Emanuele Cannella and Onur Derin and Paolo Meloni and Giuseppe Tuveri and Todor Stefanov", title= "Adaptivity Support for MPSoCs based on Process Migration in Polyhedral Process Networks", journal= "VLSI Design", year= "2012", volume= "2012", number= "Article ID 987209", pages = "15 pages", issn = "", publisher = "Hindawi", doi = "http://dx.doi.org/10.1155/2012/987209", month= "February", note= "Special issue on Application-Driven Design of Processor, Memory, and Communication Architectures for MPSoCs", abstract= "{System adaptivity is becoming an important feature of modern embedded multiprocessor systems. To achieve the goal of system adaptivity when executing Polyhedral Process Networks (PPNs) on a generic tiled Network-on-Chip (NoC) MPSoC platform, we propose an approach to enable the run-time migration of processes among the available platform resources. In our approach, process migration is allowed by a middleware layer which comprises two main components. The first component concerns the inter-tile data communication between processes. We develop and evaluate a number of different communication approaches which implement the semantics of the PPN model of computation on a generic NoC platform. The presented communication approaches do not depend on the mapping of processes, and have been implemented on a Network-on-Chip multiprocessor platform prototyped on an FPGA. Their comparison in terms of the introduced overhead is presented in two case studies with different communication characteristics. The second middleware component allows the actual run-time migration of PPN processes. To this end, we propose and evaluate a process migration mechanism which leverages the PPN model of computation to guarantee a predictable and efficient migration procedure. The efficiency and applicability of the proposed migration mechanism is shown in a real-life case study.}", keywords = "system adaptivity, polyhedral process networks (PPN), process migration, middleware, networks-on-chip (NoC)", researcharea = "Fault tolerance", filelink = "{http://downloads.hindawi.com/journals/vlsi/2012/987209.pdf}", } @techreport{madness-d53, author="Onur Derin and Leandro Fiorin and Mariagiovanna Sami", title="Report on advancements in continuity of service support", institution="EU FP7 STREP Project MADNESS", year="2011", month="December", number="Deliverable D5.3", researcharea = "Fault tolerance", } @inproceedings{CaDeSt11.DASIP, author = "Emanuele Cannella and Onur Derin and Todor Stefanov", title = "Middleware Approaches for Adaptivity of Kahn Process Networks on Networks-on-Chip", booktitle = "DASIP'11: Proceedings of the Conference on Design and Architectures for Signal and Image Processing", isbn = "", pages = "1--8", month = "November 2-4", year = "2011", location = "", publisher = "", address = "Tampere, Finland", researcharea = "Fault tolerance", keywords = "kahn process networks (KPN), middleware, networks-on-chip (NoC), self-adaptivity", filelink = "http://www.alari.ch/people/derino/Research/publications/20111102-CaDeSt-DASIP.pdf", abstract = "{We investigate and propose a number of different middleware approaches, namely virtual connector, virtual connector with variable rate, and request-based, which implement the semantics of Kahn Process Networks on Network-on-Chip architectures. All of the presented solutions allow for run-time system adaptivity. We implement the approaches on a Network-on-Chip multiprocessor platform prototyped on an FPGA. Their comparison in terms of the introduced overhead is presented on two case studies with different communication characteristics. We found out that the virtual connector mechanism outperforms other approaches in the communication-intensive application. In the other case study, which has a higher computation/communication ratio, the middleware approaches show similar performance.}" } @misc{Derin.HIPEACinfo27MISC, author= "Onur Derin and Emanuele Cannella and Todor Stefanov", title= "HiPEAC Collaboration Grant Report", howpublished= "HiPEACinfo newsletter no. 27", year=2011, month=July, filelink="http://www.hipeac.net/node/4315", abstract="Thanks to the HiPEAC collaboration grant that I received in winter 2010, I worked with Emanuele Cannella and Todor Stefanov at LIACS, University of Leiden on the implementation of a task-aware middleware for fault-tolerant and adaptive KPN applications on an FPGA-based NoC platform. This is a summary of my collaboration. The complexity of multiprocessor systems on chip (MPSoCs) is rapidly increasing, driven by the technology improvement and the adoption of more and more complex applications in consumer electronics. Programming such complex systems at a low level of abstraction is extremely difficult and error-prone. A promising way to raise the level of abstraction is using models of computation (MoCs) to specify applications. Among these MoC, Kahn Process Networks (KPNs) have been widely studied and used for streaming/multimedia applications. A favorable feature of the KPN MoC is that its simple operational semantics allows for the easy adoption of system adaptivity mechanisms such as run-time resource management. System adaptivity is becoming increasingly important in the MPSoC domain for several reasons, such as dynamic variation of quality of service requirements, fault tolerance, or power efficiency. Networks-on-Chip (NoCs) are emerging communication infrastructures for MPSoCs that, among many other advantages, allow for system adaptivity. However, there is a mismatch between the generic structure of the NoCs and the semantics of the KPN MoC. Therefore, we investigated and proposed several approaches to overcome this mismatch. All of the proposed approaches consider system adaptivity as a driving objective and do not require specific hardware support from the platform. We proposed and implemented three middleware approaches, namely virtual connector, virtual connector with variable rate, and request-based, to execute Kahn Process Networks on Network-on-Chip architectures. The key differences between these approaches are the rate of acknowledgement of empty slots in the remote queues and the buffering requirement in the sender side. Experimental results on two applications (Sobel and MJPEG encoder) with very different computation and communication characteristics showed that the virtual connector approach outperforms the others in terms of the overhead in the total execution time when implementing communication-dominant applications. However, especially for this kind of applications, the price we pay for system adaptivity and generality is large in terms of performance, if compared to customized point-to-point systems. On the contrary, when the computation/communication ratio of an application is higher, as in the second case study, the overhead introduced by the execution on NoC with all the proposed middlewares is much lower. The overhead in terms of the amount of data transferred in the network is the least for request-based approach for both applications.", keywords = "kahn process networks (KPN), middleware, networks-on-chip (NoC), self-adaptivity", researcharea = "{Fault tolerance}" } @article{DeDiFi11.IJRC, author= "Onur Derin and Erkan Diken and Leandro Fiorin", title= "A Middleware Approach to Achieving Fault tolerance of Kahn Process Networks on Networks-on-Chips", journal= "International Journal of Reconfigurable Computing", year= "2011", volume= "2011", number= "Article ID 295385", pages = "15 pages", issn = "1687-7195", publisher = "Hindawi", doi = "http://downloads.hindawi.com/journals/ijrc/2011/295385.pdf", month= "February", note= "Selected Papers from the International Workshop on Reconfigurable Communication-centric Systems on Chips (ReCoSoC' 2010)", abstract= "{Kahn process networks (KPN) is a distributed model of computation used for describing systems where streams of data are transformed by processes executing in sequence or parallel. Autonomous processes communicate through unbounded FIFO channels in absence of a global scheduler. In this work, we propose a task-aware middleware concept that allows adaptivity in KPN implemented over a Network-on-Chip (NoC). We also list our ideas on the development of a simulation platform as an initial step towards creating fault tolerance strategies for KPNs applications running on NoCs. In doing that, we extend our SACRE (Self-adaptive Component Run-time Environment) framework by integrating it with an open source NoC simulator, Noxim. We evaluate the overhead that the middleware brings to the the total execution time and to the total amount of data transferred in the NoC. With this work, we also provide a methodology that can help in identifying the requirements and implementing fault tolerance and adaptivity support on real platforms.}", keywords = "{fault tolerance, kahn process networks (KPN), middleware, networks-on-chip (NoC), self-adaptivity}", filelink = "{http://www.alari.ch/people/derino/Research/publications/20110324-DeDiFi-IJRC.pdf}", researcharea = "{Fault tolerance}" } @inproceedings{DeKaFi11.NOCS, author = "{Onur Derin and Deniz Kabakci and Leandro Fiorin}", title = "Online Task Remapping Strategies for Fault-tolerant Network-on-Chip Multiprocessors", booktitle = "NOCS '11: Proceedings of the Fifth ACM/IEEE International Symposium on Networks-on-Chip", isbn = "978-1-4503-0720-8", pages = "129--136", month = "May 1-4", year = "2011", location = "", publisher = "ACM", address = "Pittsburgh, Pennsylvania, USA", researcharea = "Fault tolerance", keywords = "fault tolerance, heuristics, integer linear programming (ILP), kahn process networks (KPN), networks-on-chip (NoC), self-adaptivity", doi = "{http://dx.doi.org/10.1145/1999946.1999967}", filelink = "http://www.alari.ch/people/derino/Research/publications/20110503-DeKaFi-NOCS.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20110503-DeKaFi-NOCS-presentation.pdf", poster = "http://www.alari.ch/people/derino/Research/publications/20110503-DeKaFi-NOCS-poster.pdf", abstract = "{As CMOS technology scales down into the deep submicron domain, the aspects of fault tolerance in complex Networks-on-Chip (NoCs) architectures are assuming an increasing relevance. Task remapping is a software based solution for dealing with permanent failures in processing elements in the NoC. In this work, we formulate the optimal task mapping problem for mesh-based NoC multiprocessors with deterministic routing as an integer linear programming (ILP) problem with the objective of minimizing the communication traffic in the system and the total execution time of the application. We find the optimal mappings at design time for all scenarios where single-faults occur in the processing nodes. We propose heuristics for the online task remapping problem and compare their performances with the optimal solutions.}" } @misc{Derin.HIPEAC.Chamonix.2011MISC, author= "Onur Derin", title= "Continuity of service support in MADNESS Project", howpublished= "Presentation at the HiPEAC Design and Simulation cluster meeting in Chamonix", year=2011, month="April 7", abstract="Our work within the MADNESS EU FP7 Project has been presented.", presentation="http://www.hipeac.net/system/files/derin.pdf", researcharea = "Fault tolerance", } @techreport{madness-d52, author="Onur Derin and Leandro Fiorin and Mariagiovanna Sami", title="Report on development of self-checking and reconfiguration policies", institution="EU FP7 STREP Project MADNESS", year="2010", month="December", number="Deliverable D5.2", researcharea = "Fault tolerance", } @inproceedings{DeFiSaMeSeRa10, author = {Onur Derin and Leandro Fiorin and Mariagiovanna Sami and Paolo Meloni and Simone Secchi and Luigi Raffo}, title = {Fault tolerance of Kahn Process Networks on NoC-based heterogeneous multi-core embedded architectures}, booktitle = {ERIC Germany 2010: Proceedings of the Intel European Research and Innovation Conference Germany}, month = {September 21-22}, year = {2010}, address = {Braunschweig, Germany}, researcharea = "{Fault tolerance}", keywords = "fault tolerance, kahn process networks (KPN), middleware, networks-on-chip (NoC), self-adaptivity", filelink = "http://www.alari.ch/people/derino/Research/publications/20100922-DeFiSaMeSeRa-ERIC-extendedabstract.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20100922-DeFiSaMeSeRa-ERIC-presentation.pdf", abstract = "Due to thermal effects and decreasing manufacturing yields with technology scaling, continuity of service of chips and of applications running on them becomes increasingly important. In line with the trend of increasing the core numbers on a single chip, we propose fault tolerance techniques for applications based on the KPN formalism and run on NoC-based multicore architectures without a shared address space. At the core of our approach, there are a task-aware middleware concept and a self-adaptive run-time environment that adapts the application at run-time to meet performance and continuity of service requirements." } @techreport{madness-d51, author="Onur Derin and Leandro Fiorin and Mariagiovanna Sami", title="Report on fault tolerant models and fault tolerance techniques", institution="EU FP7 STREP Project MADNESS", year="2010", month="July", number="Deliverable D5.1", researcharea = "Fault tolerance", } @inproceedings{DeDi10, author = {Onur Derin and Erkan Diken}, title = {A Task-aware Middleware for Fault tolerance and Adaptivity of Kahn Process Networks on Network-on-Chip}, booktitle = {ReCoSoC 2010: Proceedings of the 5th International Workshop on Reconfigurable Communication-centric System-on-Chips}, month = {May}, year = {2010}, address = {Karlsruhe, Germany}, researcharea = "{Fault tolerance}", keywords = "fault tolerance, kahn process networks (KPN), middleware, networks-on-chip (NoC), self-adaptivity", filelink = "http://www.alari.ch/people/derino/Research/publications/20100517-DeDi-ReCoSoC.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20100517-DeDi-ReCoSoC-presentation.pdf", isbn = "978-3-86644-515-4", pages = "73--78", doi = "http://digbib.ubka.uni-karlsruhe.de/volltexte/1000017921", abstract = "We propose a task-aware middleware concept and provide details for its implementation on Network-on-Chip (NoC). We also list our ideas on the development of a simulation platform as an initial step towards creating fault tolerance strategies for Kahn Process Networks (KPN) applications running on NoCs. In doing that, we extend our SACRE (Self-adaptive Component Run-time Environment) framework by integrating it with an open source NoC simulator, Noxim. We also hope that this work may help in identifying the requirements and implementing fault tolerance and adaptivity support on real platforms." } @inproceedings{DeFe10, author = {Onur Derin and Alberto Ferrante}, title = {Scheduling energy consumption with local renewable micro-generation and dynamic electricity prices}, booktitle = {CPSWEEK/GREEMBED 2010: Proceedings of the First Workshop on Green and Smart Embedded System Technology: Infrastructures, Methods and Tools}, month = {April}, year = {2010}, address = {Stockholm, Sweden}, researcharea = "{Smart Grid}", keywords = "scheduling, smart grid, smart home, optimization", filelink = "http://www.alari.ch/people/derino/Research/publications/20100412-DeFe-GREEMBED.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20100412-DeFe-GREEMBED-presentation.pdf", abstract = "The electricity market is going through a deep modification as it is moving toward the integration of smart grids. Future homes will include smarter electric devices that will be easily managed from the power consumption stand point. The capability of performing short-term negotiation of energy purchases, if introduced and if efficiently exploited, will give the user the ability to reduce energy costs. In this paper we discuss a scheduling problem for household tasks that will help users save money spent on their energy consumption. Our system model relies on electricity price signals, availability of locally-generated power and flexible tasks with deadlines. A case study shows that cost savings are possible but fast and efficient solutions to the scheduling problem are needed for their real world use." } @article{DeFe09.3, author= "{Onur Derin and Alberto Ferrante}", title= "{Enabling Self-adaptivity in Component-based Streaming Applications}", journal= "{SIGBED Review}", year= "{2009}", volume= "{6}", number= "{3}", issn = {1551-3688}, publisher = {ACM SIGBED}, month= "{October}", doi = "http://dx.doi.org/10.1145/1851340.1851356", note= {Special Issue on the 2nd International Workshop on Adaptive and Reconfigurable Embedded Systems (APRES'09)}, abstract = "{Self-adaptivity is the capability of a system to adapt itself dynamically to achieve its goals. By means of this mechanism the system is able to autonomously modify its behavior or the way in which applications are run and implemented to achieve the goals set.In this paper we propose a framework that uses a component-based approach to implement self-adaptivity at application level. By using this mechanism, the framework provides the ability to perform both adaptation on the structure of the application (i.e., how the components are connected together) and on internal parameters of each component. At application level, there is a mechanism to monitor different parameters and to check whether the system is meeting the assigned goals or not. A controller drives adaptations when goals are not met.}", keywords = "{component-based design, self-adaptive systems}", filelink = "{http://sigbed.seas.upenn.edu/archives/2009-10/DerinFerrante-acmsigbed-post-apres09-cameraready.pdf}", researcharea = "{Self-adaptation}" } @inproceedings{DeFe09.2, author = {Onur Derin and Alberto Ferrante}, title = {Enabling Self-adaptivity in Component-based Streaming Applications}, booktitle = {APRES '09: Proceedings of the 2nd Workshop on Adaptive and Reconfigurable Embedded Systems}, month = {October 11}, year = {2009}, address = {Grenoble, France}, researcharea = "Self-adaptation", keywords = "component-based design, self-adaptive systems", DOI = "http://www.lulu.com/items/volume_66/7676000/7676758/2/print/7676758.pdf#page=59", filelink = "http://www.alari.ch/people/derino/Research/publications/20091011-DeFe-APRES.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20091011-DeFe-APRES-presentation.pdf", abstract = "Self-adaptivity is the capability of a system to adapt itself dynamically to achieve its goals. By means of this mechanism the system is able to autonomously modify its behavior or the way in which applications are run and implemented to achieve the goals set. In this paper we propose a framework that uses a component-based approach to implement self-adaptivity at application level. By using this mechanism, the framework provides the ability to perform both adaptation on the structure of the application (i.e., how the components are connected together) and on internal parameters of each component. At application level, there is a mechanism to monitor different parameters and to check whether the system is meeting the assigned goals or not. A controller drives adaptations when goals are not met." } @inproceedings{DeFe09, author = {Onur Derin and Alberto Ferrante}, title = {Simulation of a Self-adaptive Run-time Environment with Hardware and Software Components}, booktitle = {SINTER '09: Proceedings of the 2009 ESEC/FSE workshop on Software integration and evolution @ runtime}, isbn = {978-1-60558-681-6}, pages = {37--40}, month = {August}, year = {2009}, address = {Amsterdam, The Netherlands}, publisher = {ACM}, location = {New York, NY, USA}, doi = {http://doi.acm.org/10.1145/1596495.1596507}, researcharea = "Self-adaptation", keywords = "component-based design, HW/SW co-design, self-adaptive systems, simulation", filelink = "http://www.alari.ch/people/derino/Research/publications/20090825-DeFe-SINTER.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20090825-DeFe-SINTER-presentation.pdf", abstract = "In this paper we describe a new way for simulating self-adaptive systems developed by relying on a component-based approach, this approach proves to be useful both in easing self-adaptivity and in providing the ability to mix hardware and software elements. Our simulation method is based on SACRE (Self-Adaptive Component Run-time Environment), a framework we have defined in Java for simulating self-adaptive systems." } @inproceedings{PaDe09, author={Amrit Panda and Onur Derin}, booktitle={(presented) Work-in-Progress session of Model-Driven Design for Distributed Real-time Embedded Systems (MDD4DRES'09)}, address={Aussois, France}, year={2009}, month={April 22}, title={Assembling components from requirement specifications}, DOI="http://www.mdd4dres.info/_media/mdd4dreswip09_submission_8.pdf?id=wip&cache=cache", filelink={"http://www.alari.ch/people/derino/Research/publications/20090422-PaDe-MDD4DRES-extendedabstract.pdf"}, presentation="http://www.alari.ch/people/derino/Research/publications/20090422-PaDe-MDD4DRES-presentation.pdf", poster="http://www.alari.ch/people/derino/Research/publications/20090422-PaDe-MDD4DRES-poster.pdf", abstract={Component based design has proved to be an effective approach in the development of large and complex software systems. Extending this methodology to the design of embedded systems requires identifying and assembling reusable components that capture the behavioral properties of the system which are independent from the implementation. One of the most important benefits here is to provide the designer with very high level semantics of the components and let the framework care about creating communicating channels between components and satisfying extrta-functional properties. In this design process from the specifications to the final synthesizable blueprint we focus on the composition of components given a set of specifications and a repository of components. In order to validate the correctness of our composition algorithm we emphasize on the use of executable specifications at different levels of abstraction viz. service, functional and non-functional levels. We also propose a very abstract way of specifying the system that would be the input for the composition algorithm and lead to the final design.} } @article{DeFeTa08, author = "{Onur Derin and Alberto Ferrante and Antonio Vincenzo Taddeo}", title = "{Coordinated management of hardware and software self-adaptivity}", journal = "{Journal of Systems Architecture}", volume = "{55}", number = "{3}", pages = "{170 - 179}", year = "{2009}", note = "{Challenges in self-adaptive computing (Selected papers from the Aether-Morpheus 2007 workshop), Accepted Manuscript, Available online 29 July 2008}", issn = "1383-7621", doi = "{http://dx.doi.org/10.1016/j.sysarc.2008.07.002}", url = "http://www.science-direct.com/science/article/B6V1F-4T3DD21-2/2/e1fbd23092dd58ac413ea176ecece98b", abstract = "{Self-adaptivity is the capability of a system to adapt itself dynamically to achieve its goals. Self-adaptive systems will be widely used in the future both to efficiently use system resources and to ease the management of complex systems. The frameworks for self-adaptivity developed so far usually concentrate either on self-adaptive software or on self-adaptive hardware, but not both. In this paper, we propose a model of self-adaptive systems and we describe how to manage self-adaptivity at all levels (both hardware and software) by means of a decentralized control algorithm. The key advantage of decentralized control is in the simplicity of the local controllers. Simulation results are provided to show the main characteristics of the model and to discuss it.}", keywords = "{self-adaptivity, reconfigurable, autonomic, goal, architecture, model, application, hardware, software, run-time environment}", filelink = "http://www.alari.ch/people/derino/Research/publications/200903-DeFeTa-JSA-preprint.pdf", researcharea = "{Self-adaptation}" } @techreport{aether-d413, author="D. Kritharidis and N. Voros and Alberto Ferrante and Antonio Vincenzo Taddeo and Onur Derin and P. Bonnot and K. Paulsson and M. Niknahad and C. Schuck and J-M. Philippe and Zdenek Pohl", title="Applicative scenarios and basic requirements: metrics definition (Third version)", institution="EU FP6 IST-FET Project AETHER", year="2009", month="February 2", number="Deliverable D4.1.3", researcharea = "Self-adaptation" } @inproceedings{DeFeTa08.2, author={Onur Derin and Alberto Ferrante and Antonio Vincenzo Taddeo}, booktitle={(presented) Reconfigurable Computing Italian Meeting (RCIM 2008)}, address={Milano, Italy}, year={2008}, month={December 19}, title={Coordinated management of hardware and software self-adaptivity: What do we need from reconfigurable computing?}, presentation = "http://www.alari.ch/people/derino/Research/publications/20081219-DeFeTa-RCIM-presentation.pdf", researcharea = "Self-adaptation" } @inproceedings{DeFe08, author={Onur Derin and Alberto Ferrante}, booktitle={(presented) 2nd AETHER-MORPHEUS Workshop (AMWAS'08)}, address={Lugano, Switzerland}, year={2008}, month={October 8-9}, title={Enabling Self-adaptivity at Application Level}, presentation = "http://www.alari.ch/people/derino/Research/publications/20081008-DeFe-AMWAS-presentation.pdf", filelink = "http://www.alari.ch/people/derino/Research/publications/20081008-DeFe-AMWAS-extendedabstract.pdf", abstract = " Self-adaptivity is the capability of a system to adapt itself dynamically to achieve its goals. One of the important aspects that affects the quality of such a system is adaptation management. In [1], a model has been proposed as a solution to this problem that features decentralized controllers and a recommendation mechanism to coordinate adaptation management both on hardware and software. The model also allows to separate application development from self-adaptivity concerns through a goal specification interface. In this paper we refine the model proposed in [1] for applications that are based on component technologies. We also apply the model to the implementation of a self-adaptive video streaming server running on a handheld device. In the cited work the model was validated by simulations. In this work, we provide the main outline of our implementation although it is a work-in-progress.", researcharea = "Self-adaptation" } @techreport{aether-d514, author="Umberto Bondi and Daniela Dimitrova and Alberto Ferrante and Onur Derin", title="Second report on dissemination and training activities", institution="EU FP6 IST-FET Project AETHER", year="2007", month="December", number="Deliverable D5.1.4", researcharea = "Self-adaptation" } @inproceedings{TaFeDe07, author={Antonio Vincenzo Taddeo and Alberto Ferrante and Onur Derin}, booktitle={(presented) 1st AETHER-MORPHEUS Workshop (AMWAS'07)}, address={Paris, France}, year={2007}, month={October 10-11}, title={Security in self-adaptive systems}, researcharea = "Self-adaptation" } @INPROCEEDINGS{Der2007, author="Onur Derin", title="{Learning Java by a Card Game: A Case Study}", booktitle="{Proceedings of Learning with Games Conference (LG2007)}", year="2007", editor="Marco Taisch and Jacopo Cassina", pages="221--228", month="September 24-27", address="Sophia Antipolis, France", isbn="978-88-901168-0-3", filelink = "http://www.alari.ch/people/derino/Research/publications/20070925-Derin-LG.pdf", presentation = "http://www.alari.ch/people/derino/Research/publications/20070925-Derin-LG-presentation.pdf", abstract = "{To teach Java programming language better and in a more enjoyable way, we developed a framework for card games that allows students to write and test their own intelligent players. This paper briefly describes the design of the framework, the advantages of using it to assign homework and reports our experience with a class carried out in our institute.}", keywords = "java, card games, pedagogy, case study", researcharea = "Advanced Learning" } @techreport{aether-d412, author="L. Bisdounis and Alberto Ferrante and Antonio Vincenzo Taddeo and Onur Derin and P. Bonnot and S. Koutsomitsos and K. Paulsson and J-M. Philippe and M. Danek", title="Applicative scenarios and basic requirements: metrics definition (Second version)", institution="EU FP6 IST-FET Project AETHER", year="2007", month="Jul 25", number="Deliverable D4.1.2", researcharea = "Self-adaptation" } @techreport{aether-d521, author="Umberto Bondi and Daniela Dimitrova and Onur Derin and Alberto Ferrante", title="Report on training activities contents", institution="EU FP6 IST-FET Project AETHER", year="2007", month="Jan 8", number="Deliverable D5.2.1", researcharea = "Self-adaptation" } @mastersthesis{05deriMS, author="Onur Derin", title="{On-the-fly Programming of Embedded Systems}", school="Advanced Learning and Research Institute, Faculty of Informatics, University of Lugano", year="2006", month="July 19", address="Lugano, Switzerland", abstract="{Moving to custom devices, especially for personal health care, the full design flow of applications needs to be redesigned. One fundamental part of the devices life cycle is maintenance, mainly regarding the software. Software development methodologies provide design flows that can accommodate specification changes such as addition of new features and adaptation to new technologies some time after software has been released. However, these are thought for applications in which changes can be made by using a typical procedure that consists of stopping the system, loading the new program and restarting the system with the new program. This approach is not valid for applications that are meant to run non-stop, such as health care systems. For these applications, there is no solution to on-the-fly updating that is language-, platform- and application domain-independent: due to the complexity of the problem, existing approaches provide solutions to eased problems by narrowing the problem space to some domains of applications. This master thesis explores the problem of on-the-fly programming of embedded systems with the goal of providing general methodologies for enabling on-the-fly programming of safety-critical embedded systems}", keywords="", filelink="" }