ARTICLE IN PRESS. Analyzing communication overheads during hardware/software partitioning

Size: px
Start display at page:

Download "ARTICLE IN PRESS. Analyzing communication overheads during hardware/software partitioning"

Transcription

1 Microelectronics Journal xx (2003) xxx xxx Analyzing communication overheads during hardware/software partitioning J. Javier Resano*, M. Elena Pérez, Daniel Mozos, Hortensia Mecha, Julio Septién Departamento de Arquitectura de Computadores y Automática, Universidad Complutense de Madrid, Ciudad Universitaria, Madrid 28040, Spain Abstract Current partitioning codesign tools often simplify the communication channel features by working with generic abstract channels, which in a following step, are mapped into the actual ones. However, this mapping process can critically affect the performance of a solution. Hence, we have developed a novel methodology that studies the communications in depth, taking into account the actual channel features from the first step. With this methodology we have optimised the design-space exploration of a partitioning tool, achieving up to a 2.5 performance speed-up, while increasing the time needed to perform the partitioning by less than 20%. q 2003 Published by Elsevier Ltd. Keywords: Hardware/software partitioning; Codesign system; Estimations 1. Introduction and previous work Hybrid Architectures, composed by a software (SW) processor and a configurable hardware (HW) coprocessor, are becoming more and more common. One of the greatest challenges when dealing with this kind of hybrid architectures is how to optimally distribute the computation between the HW and the SW processing elements. This problem is referred in literature as Hardware/Software (HW/SW) partitioning. Hybrid systems present a trade-off between the high performance of specific HW circuits and the low cost of SW processors. However, in such systems, communications are often a system performance bottleneck, even more when both HW and SW performance are improving much faster than communication channels do. Most of the existing work on HW/SW partitioning considers that abstract channels carry out communications between tasks in different platforms [1]. Hence, during the partitioning process, the actual features of the communication channels are neglected. Once the partitioning has been done, the abstract channels have to be mapped into one or more physical channels (e.g. a system bus). This * Corresponding author. addresses: javier1@dacya.ucm.es (J.J. Resano), eperez@dacya. ucm.es (M.E. Pérez), mozos@dacya.ucm.es (D. Mozos), horten@dacya. ucm.es (H. Mecha), jseptien1@dacya.ucm.es (J. Septién). process is called communication synthesis. In Ref. [2], the best bus bandwidth for mapping the abstract channels is selected. In Refs. [3,4], more complex interconnection topologies are allowed. In Ref. [5], initially a bus is selected, and then communications are scheduled, trying to minimize both the HW cost and the execution time. [6] addresses the problem of generating the communication topology for systems that should meet hard real-time constraints. All these approaches work with abstract communication channels, although they consider some physical features during the communication synthesis process. Once obtained, the abstract interconnection topology has to be mapped into an actual one. In Ref. [7], a useful tool for this mapping is presented, that generates automatically the drivers and a DMA controller for a given communication application. Ignoring the properties of communication channels often leads to an inefficient design space exploration, since it is not possible to estimate correctly the communication time, or the impact of the access conflicts to these channels on the system performance. In Ref. [8], simple models for some communication platforms are presented (USB, PCI buses, packing, burst transmission mode, etc.). A model is also given to estimate the area needed to implement the communication drivers. Moreover, these models are integrated within the HW/SW partitioning, so communication timing and area trade-offs are studied during the design space exploration. However, /03/$ - see front matter q 2003 Published by Elsevier Ltd. doi: /s (03)00168-x

2 2 J.J. Resano et al. / Microelectronics Journal xx (2003) xxx xxx communications are not scheduled during partitioning, so access collisions on the system bus are not taking into account. The approach proposed in this paper aims to: (a) (b) (c) Consider the physical features of the channel in order to accomplish accurate time estimations. Schedule the communications in order to avoid conflicts on the communication channel and trying to minimize the global execution time. Integrate all these features into a HW/SW partitioning tool without increasing significantly the time needed for the design space search. This work has been developed to deal with data dominated applications, trying to maximize the system performance for a given platform. We will illustrate our approach with a real multimedia application (used for pattern recognition over a pixel matrix) evincing how communication scheduling can become a critical factor in the system performance. 2. Initial specification The initial specification is modelled by a Direct Acyclic Graph (DAG), where each node represents a coarse grain computational task, and the edges correspond to dependencies among the nodes. Three different dependencies are considered: communication dependencies, internal dependencies, and temporal dependencies. A communication dependency edge (CDE) connects two nodes of different partitions. It represents a data transfer between nodes that will be carried out upon a communication channel. An internal dependency edge (IDE) connects two nodes in the same partition. It also represents a data transfer between the nodes, but in this case we assume that they can share the data internally using their private memories. Therefore, the communication channel is not used. Sometimes this assumption is not valid. For instance, when the size of the shared data exceeds the size of the internal memory, the data must be stored externally using the communication channel. Hence, the dependency must be tagged as CDE in spite of it communicates two nodes in the same partition. Therefore, the main different between a CDE and a IDE is that the first one represents an access to the communication channel, whereas the second represents a internal data transfer. There is a third type of edge called temporal dependency edge (TDE). A TDE represents a dependency between two nodes in the same partition that has been imposed by the scheduler. Each node of the graph contains estimations for its execution time and HW area (if needed). Each CDE is tagged with the amount of data to be transferred, and an estimation of the communication time needed. A specification graph example is shown in Fig. 1 (HW area is not included for readability). 3. Cost function choice Fig. 1. Specification graph example. The cost function of a codesign system includes generally the area and the execution time of the solution. One of the more difficult issues when designing a partitioning system is to mix rather different magnitudes such as time and area into a cost function that should be able to lead the design space exploration in a near optimal fashion. This work has been developed for a HW/SW system where the HW partition is assigned to a FPGA. Since a given FPGA has a constant area, the simplest way to obtain a straightforward cost function is simply removing the area. Thus, the cost function can be identified with the execution time. The area is now considered as a constraint that every solution has to meet. The constraint must take into account that only the 90/95% of the FPGA area must be used, since otherwise routings problems may occur. Once the area has been removed and the cost function has been directly identified with the execution time, the design space exploration will try to find the fastest solution that meets the area constraint. 4. Execution time estimation Since the execution time is the main optimization parameter of our partitioning approach, it is critical to

3 J.J. Resano et al. / Microelectronics Journal xx (2003) xxx xxx 3 estimate it as accurately as possible. To this end, there is a time estimator module that schedules all the tasks and communications taking into account the dependencies of the DAG and the limitations of the platform. Our target platform is composed by a SW processor, a configurable HW coprocessor, shared memory resources and a communication channel (e.g. a system bus) that allows communications between the HW and the SW processing elements as well as data transfer among the processing elements and the shared memory. In such a system there are two main limitations, namely, the sequential execution of the nodes assigned to SW and the sequential execution of the communications and data transfers that need to use the communication channel. Once a HW/SW partitioning is selected, the time estimator module follows the next steps to estimate its execution time: (A) Assign a weight to each node. (B) Choose the execution order for the nodes assigned to SW. (C) Recalculate the weights computed in step A taking into account the new dependencies. (D) Schedule those nodes that are not waiting for data coming from a CDE. (E) While there is a CDE waiting for being scheduled do: (E1) Choose one CDE and schedule it. (E2) Schedule those nodes that are not waiting for data coming from a CDE Step A. Assign a weight to each node In the first step, a weight is assigned to each node of the DAG. The weights of the nodes are used to steer the scheduling process trying to minimize the global execution time. This is accomplished giving higher priorities to the weightier nodes. For instance, if there is a node that must carry out several communications, the execution order of these communications must be decided. Most of the algorithms in literature take these decisions according to local considerations, e.g. in Ref. [5], the longest communication is scheduled first. Since local considerations may lead to inefficient decisions in our algorithm, a global consideration has been selected for weighting the nodes. We have chosen as a global weight the maximum distance (in time units) from the moment that a node starts its execution to the end of the execution of the whole graph. For instance, in the graph of Fig. 2, the weight of node 4 is its own execution time; the weight of nodes 2 and 3, are their own execution time plus the execution time of node 4; and the weight of node 1 is the path with maximum execution time plus its own execution time. In this case, there are two possible paths. Since the first path has 53 (33 þ 20) time units, and the second has 61 (53 þ 8) time units, the second one is selected. Hence, the weight of node 1 is 82 (61 þ 21). Fig. 2. Global weight example. This distance is computed carrying out an As Late As Possible (ALAP) scheduling. This scheduling takes into account all dependencies, including HW/SW communication times. Table 1 shows the results of scheduling the graph in Fig. 2 according to both a local consideration and our global weight. The local consideration applied is the one proposed in Ref. [5], i.e. the longest communication is scheduled first. In this example node 1 must carry out two communications on the same communication channel. Therefore, both communications must be scheduled. If the decision were taken based on the local weight, CDE2 would be scheduled first. Hence, CDE1 should wait until CDE2 ends. Since CDE1 is in the critical path of this graph, if it is delayed the system decreases its performance. Nevertheless, with our global weight, those nodes in the critical path are weightier, hence Com1 is scheduled first and no unnecessary delays are created Steps B and C. Choose the execution order for the SW assigned nodes, and recalculate the weights The choice of the SW execution order is the first decision taken to estimate the execution time. The specification graph allows parallel execution between their nodes, but those nodes assigned to SW must be executed sequentially. Table 1 Scheduling of the graph in Fig. 2 Node1 Node 2 Node 3 Node 4 L G L G L G L G G. Weight t start t end L: scheduling based on local considerations; G: scheduling based on our global weight; G. Weight: global weight assigned to the node; t start : start of the node execution; t end : end of the node execution.

4 4 J.J. Resano et al. / Microelectronics Journal xx (2003) xxx xxx Table 2 Comparison between weights in steps (A) and (C) for the graph in Fig. 1 Node Weight (A) Weight (C) The order is selected sorting the nodes regarding their weights, thus, the more weighted nodes are executed first. Afterwards, the new dependencies are added as TDEs to the specification graph as it is shown in Fig. 1. It is easy to prove that this SW execution order does not allow the new dependencies to create cycles in the graph. Since these new dependencies can significantly alter the initial graph, new weights are assigned to each node. These weights are calculated as in step A, but considering the dependencies derived from the sequential execution of the nodes assigned to SW. Table 2 shows how the TDE dependencies change the weights of the nodes in the graph of Fig Steps D and E. Scheduling A heuristic that attempts to minimize the execution time of a given solution has been developed for the scheduling process. The heuristic decides when each node and each communication is going to be executed, assigning to them a t start and a t end times. The aim of this process is to detect access conflicts to the communication channels, thus, the execution time estimation will also consider the delays caused by them. This heuristic starts after the SW execution has been sorted, and the weights have been recalculated. It has been developed for a platform with just one communication channel. This channel must be previously modelled in order to obtain accurate estimations of the execution time for each communication. The scheduling starts assigning t start ¼ 0; and t end ¼ t ex to the first node, where t ex is its execution time in the partition where it has been assigned to. Then, the algorithm continues scheduling the successors of the first node. As long as there are nodes that can start their execution without waiting for data coming from a CDE, a greedy policy is followed to schedule them. When a scheduled node is connected to some of its successors with a CDE, a communication is requested. This request is stored in a list. When all the nodes that do not have to wait for a CDE have been scheduled, one of the requested communications is selected and scheduled. There are two criteria for selecting the communication to schedule (E1): If at a given time t the communication channel is free and there is just one previous request, the communication channel is assigned to this request and the bus is tagged as busy until this communication ends. Therefore, no other communication can use it until this one finishes. Otherwise, if there are more than one request, the more weighted one is selected. The weight of a communication is computed as the weight of the destination node plus the time needed to execute the communication. Once the selected communication has been scheduled the graph is examined (E2) and all the nodes that can start their execution without waiting for data from a CDE are also scheduled. The loop continues until all the communications are scheduled. Fig. 3 shows in detail how the graph of Fig. 1 is scheduled. The complexity of the scheduling is OðC p NÞ; where C is the number of HW/SW communications, and N is the number of nodes. The algorithm can be easily extended for systems with more than one communication channel if the number of channels is prefixed, and all the nodes can access to all the communication channels. To this end it is enough to update the first criteria to: If at a given time t any of the communication channels is free and there is just one previous request, the communication channel is assigned to this request and this channel is tagged as busy until this communication ends., and the second criteria to: Otherwise, if there are more than one request, the more weighted one is selected and assigned to the communication channel that becomes free first. Fig. 3. Scheduling execution example corresponding to the graph in Fig. 1. ðt1; T2Þ represents starting and ending execution times.

5 J.J. Resano et al. / Microelectronics Journal xx (2003) xxx xxx 5 5. Area estimation We apply the following equation to estimate the area needed to implement the nodes assigned to HW in the FPGA: Area ¼ X N21 i¼0 A i þ A driver þ A control þ A storage A i is the area of the node i: A driver is the area needed to implement the communication driver. A i and A driver are taken from a core library. When a new core is added to the library its area is estimated using a synthesis tool. A control is the area needed for the control logic that schedules the communications. In this approach the scheduling control is assumed by a state machine, so the area requested is estimated as a function of the number of communications. A storage is the area needed for storing the data to transfer until a communication is executed. This storage space is computed during the communication scheduling. During this process a record keeps the maximum storage space required. The SW area is not taken into account since it is supposed that the controller has enough instructions and data memory for all the allocated nodes. If it is possible to exceed the data or the instruction memory of the SW processor, the SW area would be included as a second constraint that every solution should meet. 6. Design space exploration The scheduling algorithm has been integrated into a partitioning tool based on genetic algorithms (GA) [10]. Our tool creates a random initial population of valid solutions. A solution is said to be valid if meets the area constraint. Invalid solutions are rejected in order to save computational time. The solutions consist of a HW/SW partition and a communication channel. During the design space exploration solutions evolve by reproducing themselves, generating new solution s offspring. The crossover and the mutation operators carry out reproduction. The crossover operator generates new solutions combining the existing ones, whereas the mutation operator generates new solutions by introducing random changes in the population. After generating the new offspring, the population is kept constant deleting the solution surplus. 80% of the survivors are selected choosing the best solutions according to the cost function, and the 20% remaining is randomly selected in order to prevent a premature convergence. If invalid solutions are created, these solutions are immediately discarded. Rejecting invalid solutions improves the performance of the partitioning tool, since a fast evaluation of the area of a solution just involves an add operation, so all the time needed for the scheduling is saved. Furthermore, since a genetic algorithm is able to reach all the design space ð1þ points through crossing and mutating the initial solutions, thereisnodangerthatsuchdecisionwillmakethealgorithmto fall into local minima, as it may happen if the exploration is performed with a neighbourhood algorithm. We have compared the execution of a partitioning tool based on a genetic algorithm that discard the invalid solutions with another partitioning tool based a neighborhood algorithm (simulated annealing), showing up that in this case the genetic algorithm obtains better solutions in less computational time. 7. Experimental results The following experiment illustrates the impact of communication access conflicts over the global execution time. The experiment has been performed using an application that implements the Hough Transform [10] over a matrix of pixels in order to find simple geometric figures. The Hough transform is commonly used in image processing for pattern recognition. It finds many applications in astronomical data analysis [11] and robotics. Communications in this design are a critical factor since nodes have to interchange large data structures. The initial specification is composed of fifteen nodes. The target platform for this design is a XILINX 4010 board that contains an FPGA with 400 Configurable Logic Blocks (CLB), i.e logic gates, an 8051microcontroller, a RAM memory accessible to both of them and a system bus. In this platform the FPGA can also communicate with the microcontroller using its interruption lines. We designed a communication protocol for this platform, and implemented the communication drivers. A VHDL model of the bus, drivers and protocol was developed in order to accomplish cycle-accurate execution time estimations for each given communication. In addition, a configurable communication controller was implemented in the FPGA. This controller imposes to the system the final communication scheduling. The controller communicates with the microcontroller via the interruption lines. An interruption handler was also developed to update the scheduling events in the microcontroller. The communication protocol and the drivers that were implemented are described in detail in Ref. [12]. We estimate the HW area and execution time of each node using XILINX Foundation implementation and verification tools [13]. For the SW execution-time estimations we used an automatic assembler 8051/C translator and an 8051 simulator. After completing the initial specification graph with all the needed estimations, we use it as the input for the partitioning tool. In order to obtain different measures we run the tool with several area constraints (The full design implemented in HW occupies 384 CLBs). In order to illustrate our approach, the design space has been searched running the partitioning tool in two different

6 6 J.J. Resano et al. / Microelectronics Journal xx (2003) xxx xxx Fig. 4. Result comparison. ways: first ignoring access conflicts on the communication channel, and then scheduling the communications. Fig. 4 shows the best solutions found in both cases. The first column corresponds to the best execution time found by the partitioning tool when the communications were not scheduled, hence, access conflicts to the shared bus are neglected. The second column shows the execution time of the same solution once the delays caused by the access conflicts have been included. The third column shows the best solution found when the partitioning tool schedules the communications. The results that emerge from this experiment confirm how communication access conflicts become a critical performance feature. It is remarkable how they increase execution time even up to three times, so ignoring them can make difficult to distinguish the goodness of a solution. It is not surprising that better solutions are obtained once access conflicts are taken into account during the design space exploration. In this experiment up to a 2.5 speed-up has been achieved (for Area restriction ¼ 300 there is no improvement since the best solution found does not present any access conflict). One of the main objectives of this work was to accomplish accurate time estimations during the design space exploration without increasing significantly the exploration time needed to carry out the partitioning process. Hence, we have measured the execution times for the previous experiment. Fig. 5 compares the time needed for the partitioning with and without scheduling the communications. Fig. 5 shows that the increment of computational time due to the communication scheduler goes from 4 to 17%. Hence, these results confirm that it is possible to accomplish more accurate time estimations without incrementing significantly the computational time. As a final measurement we ran the partitioning tool in a third mode that schedules the communications with a branch&bound (b&b) algorithm, and we compared the results with those obtained using our scheduling heuristic. Fig. 5. Design space exploration time. The b&b algorithm guaranties that it always finds the best solution. To this end, it starts evaluating each possible scheduling, and keeps a record of the best solution found. When the execution time of a given scheduling is bigger than the best execution time found, the b&b algorithm discards this scheduling saving computational time. Thus, the algorithm guaranties that it will find the best possible solution without carrying out an exhaustive design space search. The results obtained using the b&b are slightly better (on average 10% better). However, the time consumed during the partitioning process increases 800 times. Moreover, while our heuristic has a quadratic complexity, the b&b algorithm has an exponential complexity. Hence, it may be not feasible to apply it to systems with greater number of nodes. This experiment confirms that our heuristic achieves almost optimal scheduling with a small overhead. 8. Conclusions and future work The physical features of communication channels often are one of the key factors of a codesign system performance. Hence, it is necessary to take them into account to perform accurate execution time estimations. Moreover, even when accurate estimations for each communication have been done, our experiments have shown that access conflicts can drastically increase the execution time of a solution. We have developed a heuristic that allows the partitioning tool to perform more accurate time estimations, including these access conflicts, without increasing significantly the computational time needed for the design space search. With this heuristic up to a 2.5 speedup has been achieved increasing only a 10% on average the computational time needed to carry out the partitioning process. One of the main drawbacks of our approach is that it uses as input a DAG. DAGs are commonly used in codesign platforms, but they are not suitable for modelling dynamic

7 J.J. Resano et al. / Microelectronics Journal xx (2003) xxx xxx 7 non-deterministic behaviour. Hence, although DAGs can successfully model most of the data-domain applications, they are not suitable to model applications developed for the more recent multimedia standards (such as mpeg-4) since they cannot support highly dynamic behaviour. We are currently trying to overcome this problem adopting one of the more promising scheduling approaches called Matador Task Concurrency Management Methodology (TCM) [14]. TCM uses two hierarchical levels to model an application. In the highest level the dynamic and non-deterministic behaviour among different tasks is described with a model called MTG p. This model has been especially developed for tackling highly dynamic applications. However, in the lowest level just very restricted non-deterministic behaviour is allowed. DAGs can be used to model this level. Hence, our approach can be reused in this new context. Acknowledgements This work has been partially supported by TIC References [1] J.A. Rowson, A. Sangiovanni-Vicentelli, Interface-based design, DAC 97, 183, Jun 1997, pp [2] S. Narayan, D. Gajski, Synthesis of system level bus interfaces, Proceedings of the European Design and Test Conference, 94, Feb 1994, pp [3] M. Gasteier, M. Munich, M. Glesner, Generation of interconnect topologies for communication synthesis, DATE 98, Feb 1998, pp [4] M. Gastier, M. Glesner, Bus-based communication synthesis on system level, ACM Trans. Des. Autom. Electron. Syst. (1999) [5] R. Ortega, G. Borriello, Communication synthesis for embedded systems with global considerations, Proceedings of the CODES/ CACHE, Mar 1997, pp [6] S. Vercauteren, J. Van Der Steen, D. Verkest, Combining software synthesis and hardware/software interface generation to meet hard real time constrains, DATE 99, Feb 1999, pp [7] M. O Nils, A. Jantsch, Device driver and DMA controller synthesis from HW/SW communication protocol specifications, Des. Autom. Embedded Syst. 6 (2001) [8] P.V. Knudsen, J. Madsen, Integrating communication protocol selection with partitioning in hardware/software, Codes. Trans. CAD (Aug 1999) [9] J. Holland, Adaptation in natural and artificial systems, second ed., MIT Press, [10] F. Thomson, Introduction to Parallel Algorithms and Architectures, Morgan Kaufmann, 1992, pp [11] P. Ballester, Applications of the Hough Transform, Astronomical Data Analysis Software and Systems III, ASP Conference Series, vol. 61, [12] M.E. Perez Ramo, HW/SW partitioning based on Taboo Search algorithm, MSc Thesis, Universidad Complutense de Madrid, [13] [14] P. Yang, et al., Energy-aware runtime scheduling for embeddedmultiprocessors SOCs, IEEE J. Des. Test Comput. (2001)

A New Approach to Execution Time Estimations in a Hardware/Software Codesign Environment

A New Approach to Execution Time Estimations in a Hardware/Software Codesign Environment A New Approach to Execution Time Estimations in a Hardware/Software Codesign Environment JAVIER RESANO, ELENA PEREZ, DANIEL MOZOS, HORTENSIA MECHA, JULIO SEPTIÉN Departamento de Arquitectura de Computadores

More information

A hardware/software partitioning and scheduling approach for embedded systems with low-power and high performance requirements

A hardware/software partitioning and scheduling approach for embedded systems with low-power and high performance requirements A hardware/software partitioning and scheduling approach for embedded systems with low-power and high performance requirements Javier Resano, Daniel Mozos, Elena Pérez, Hortensia Mecha, Julio Septién Dept.

More information

A Hardware Task-Graph Scheduler for Reconfigurable Multi-tasking Systems

A Hardware Task-Graph Scheduler for Reconfigurable Multi-tasking Systems A Hardware Task-Graph Scheduler for Reconfigurable Multi-tasking Systems Abstract Reconfigurable hardware can be used to build a multitasking system where tasks are assigned to HW resources at run-time

More information

Co-synthesis and Accelerator based Embedded System Design

Co-synthesis and Accelerator based Embedded System Design Co-synthesis and Accelerator based Embedded System Design COE838: Embedded Computer System http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer

More information

A Complete Data Scheduler for Multi-Context Reconfigurable Architectures

A Complete Data Scheduler for Multi-Context Reconfigurable Architectures A Complete Data Scheduler for Multi-Context Reconfigurable Architectures M. Sanchez-Elez, M. Fernandez, R. Maestre, R. Hermida, N. Bagherzadeh, F. J. Kurdahi Departamento de Arquitectura de Computadores

More information

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation

More information

A Modified Genetic Algorithm for Process Scheduling in Distributed System

A Modified Genetic Algorithm for Process Scheduling in Distributed System A Modified Genetic Algorithm for Process Scheduling in Distributed System Vinay Harsora B.V.M. Engineering College Charatar Vidya Mandal Vallabh Vidyanagar, India Dr.Apurva Shah G.H.Patel College of Engineering

More information

Experimental Comparison of Different Techniques to Generate Adaptive Sequences

Experimental Comparison of Different Techniques to Generate Adaptive Sequences Experimental Comparison of Different Techniques to Generate Adaptive Sequences Carlos Molinero 1, Manuel Núñez 1 and Robert M. Hierons 2 1 Departamento de Sistemas Informáticos y Computación, Universidad

More information

Karthik Narayanan, Santosh Madiraju EEL Embedded Systems Seminar 1/41 1

Karthik Narayanan, Santosh Madiraju EEL Embedded Systems Seminar 1/41 1 Karthik Narayanan, Santosh Madiraju EEL6935 - Embedded Systems Seminar 1/41 1 Efficient Search Space Exploration for HW-SW Partitioning Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS

More information

Using Dynamic Voltage Scaling to Reduce the Configuration Energy of Run Time Reconfigurable Devices

Using Dynamic Voltage Scaling to Reduce the Configuration Energy of Run Time Reconfigurable Devices Using Dynamic Voltage Scaling to Reduce the Configuration Energy of Run Time Reconfigurable Devices Yang Qu 1, Juha-Pekka Soininen 1 and Jari Nurmi 2 1 Technical Research Centre of Finland (VTT), Kaitoväylä

More information

Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator

Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator Stanley Bak Abstract Network algorithms are deployed on large networks, and proper algorithm evaluation is necessary to avoid

More information

Integrating Communication Protocol Selection with Partitioning in Hardware/Software Codesign

Integrating Communication Protocol Selection with Partitioning in Hardware/Software Codesign Integrating Communication Protocol Selection with Partitioning in Hardware/Software Codesign Peter Voigt Knudsen and Jan Madsen Department of Information Technology, Technical University of Denmark pvk@it.dtu.dk,

More information

Characteristics of Mult l ip i ro r ce c ssors r

Characteristics of Mult l ip i ro r ce c ssors r Characteristics of Multiprocessors A multiprocessor system is an interconnection of two or more CPUs with memory and input output equipment. The term processor in multiprocessor can mean either a central

More information

A Novel Design Framework for the Design of Reconfigurable Systems based on NoCs

A Novel Design Framework for the Design of Reconfigurable Systems based on NoCs Politecnico di Milano & EPFL A Novel Design Framework for the Design of Reconfigurable Systems based on NoCs Vincenzo Rana, Ivan Beretta, Donatella Sciuto Donatella Sciuto sciuto@elet.polimi.it Introduction

More information

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING International Journal of Latest Research in Science and Technology Volume 3, Issue 3: Page No. 201-205, May-June 2014 http://www.mnkjournals.com/ijlrst.htm ISSN (Online):2278-5299 AN EVOLUTIONARY APPROACH

More information

Scheduling tasks in embedded systems based on NoC architecture

Scheduling tasks in embedded systems based on NoC architecture Scheduling tasks in embedded systems based on NoC architecture Dariusz Dorota Faculty of Electrical and Computer Engineering, Cracow University of Technology ddorota@pk.edu.pl Abstract This paper presents

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

Hardware Software Codesign of Embedded System

Hardware Software Codesign of Embedded System Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on

More information

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b International Conference on Information Technology and Management Innovation (ICITMI 2015) A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen

More information

Genetic algorithm based on number of children and height task for multiprocessor task Scheduling

Genetic algorithm based on number of children and height task for multiprocessor task Scheduling Genetic algorithm based on number of children and height task for multiprocessor task Scheduling Marjan Abdeyazdan 1,Vahid Arjmand 2,Amir masoud Rahmani 3, Hamid Raeis ghanavati 4 1 Department of Computer

More information

A grid representation for Distributed Virtual Environments

A grid representation for Distributed Virtual Environments A grid representation for Distributed Virtual Environments Pedro Morillo, Marcos Fernández, Nuria Pelechano Instituto de Robótica, Universidad de Valencia. Polígono Coma S/N. Aptdo.Correos 22085, CP: 46071

More information

Hardware/Software Codesign

Hardware/Software Codesign Hardware/Software Codesign 3. Partitioning Marco Platzner Lothar Thiele by the authors 1 Overview A Model for System Synthesis The Partitioning Problem General Partitioning Methods HW/SW-Partitioning Methods

More information

CHAPTER 5. CHE BASED SoPC FOR EVOLVABLE HARDWARE

CHAPTER 5. CHE BASED SoPC FOR EVOLVABLE HARDWARE 90 CHAPTER 5 CHE BASED SoPC FOR EVOLVABLE HARDWARE A hardware architecture that implements the GA for EHW is presented in this chapter. This SoPC (System on Programmable Chip) architecture is also designed

More information

A Partitioning Flow for Accelerating Applications in Processor-FPGA Systems

A Partitioning Flow for Accelerating Applications in Processor-FPGA Systems A Partitioning Flow for Accelerating Applications in Processor-FPGA Systems MICHALIS D. GALANIS 1, GREGORY DIMITROULAKOS 2, COSTAS E. GOUTIS 3 VLSI Design Laboratory, Electrical & Computer Engineering

More information

A Duplication Based List Scheduling Genetic Algorithm for Scheduling Task on Parallel Processors

A Duplication Based List Scheduling Genetic Algorithm for Scheduling Task on Parallel Processors A Duplication Based List Scheduling Genetic Algorithm for Scheduling Task on Parallel Processors Dr. Gurvinder Singh Department of Computer Science & Engineering, Guru Nanak Dev University, Amritsar- 143001,

More information

A Modified Genetic Algorithm for Task Scheduling in Multiprocessor Systems

A Modified Genetic Algorithm for Task Scheduling in Multiprocessor Systems A Modified Genetic Algorithm for Task Scheduling in Multiprocessor Systems Yi-Hsuan Lee and Cheng Chen Department of Computer Science and Information Engineering National Chiao Tung University, Hsinchu,

More information

Using Genetic Algorithms to Solve the Box Stacking Problem

Using Genetic Algorithms to Solve the Box Stacking Problem Using Genetic Algorithms to Solve the Box Stacking Problem Jenniffer Estrada, Kris Lee, Ryan Edgar October 7th, 2010 Abstract The box stacking or strip stacking problem is exceedingly difficult to solve

More information

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem An Evolutionary Algorithm for the Multi-objective Shortest Path Problem Fangguo He Huan Qi Qiong Fan Institute of Systems Engineering, Huazhong University of Science & Technology, Wuhan 430074, P. R. China

More information

A COMPARATIVE STUDY OF FIVE PARALLEL GENETIC ALGORITHMS USING THE TRAVELING SALESMAN PROBLEM

A COMPARATIVE STUDY OF FIVE PARALLEL GENETIC ALGORITHMS USING THE TRAVELING SALESMAN PROBLEM A COMPARATIVE STUDY OF FIVE PARALLEL GENETIC ALGORITHMS USING THE TRAVELING SALESMAN PROBLEM Lee Wang, Anthony A. Maciejewski, Howard Jay Siegel, and Vwani P. Roychowdhury * Microsoft Corporation Parallel

More information

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding e Scientific World Journal, Article ID 746260, 8 pages http://dx.doi.org/10.1155/2014/746260 Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding Ming-Yi

More information

Abstract. 1 Introduction. Reconfigurable Logic and Hardware Software Codesign. Class EEC282 Author Marty Nicholes Date 12/06/2003

Abstract. 1 Introduction. Reconfigurable Logic and Hardware Software Codesign. Class EEC282 Author Marty Nicholes Date 12/06/2003 Title Reconfigurable Logic and Hardware Software Codesign Class EEC282 Author Marty Nicholes Date 12/06/2003 Abstract. This is a review paper covering various aspects of reconfigurable logic. The focus

More information

A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning

A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning By: Roman Lysecky and Frank Vahid Presented By: Anton Kiriwas Disclaimer This specific

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

Network Routing Protocol using Genetic Algorithms

Network Routing Protocol using Genetic Algorithms International Journal of Electrical & Computer Sciences IJECS-IJENS Vol:0 No:02 40 Network Routing Protocol using Genetic Algorithms Gihan Nagib and Wahied G. Ali Abstract This paper aims to develop a

More information

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Solving Assembly Line Balancing Problem in the State of Multiple- Alternative

More information

A High Performance Bus Communication Architecture through Bus Splitting

A High Performance Bus Communication Architecture through Bus Splitting A High Performance Communication Architecture through Splitting Ruibing Lu and Cheng-Kok Koh School of Electrical and Computer Engineering Purdue University,West Lafayette, IN, 797, USA {lur, chengkok}@ecn.purdue.edu

More information

Partitioning Methods. Outline

Partitioning Methods. Outline Partitioning Methods 1 Outline Introduction to Hardware-Software Codesign Models, Architectures, Languages Partitioning Methods Design Quality Estimation Specification Refinement Co-synthesis Techniques

More information

An adaptive genetic algorithm for dynamically reconfigurable modules allocation

An adaptive genetic algorithm for dynamically reconfigurable modules allocation An adaptive genetic algorithm for dynamically reconfigurable modules allocation Vincenzo Rana, Chiara Sandionigi, Marco Santambrogio and Donatella Sciuto chiara.sandionigi@dresd.org, {rana, santambr, sciuto}@elet.polimi.it

More information

Unified PMU Placement Algorithm for Power Systems

Unified PMU Placement Algorithm for Power Systems Unified PMU Placement Algorithm for Power Systems Kunal Amare, and Virgilio A. Centeno Bradley Department of Electrical and Computer Engineering, Virginia Tech Blacksburg, VA-24061, USA. Anamitra Pal Network

More information

Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures

Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures Steven J.E. Wilton Department of Electrical and Computer Engineering University of British Columbia Vancouver, BC, Canada, V6T

More information

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution

More information

Heuristic Optimisation

Heuristic Optimisation Heuristic Optimisation Part 10: Genetic Algorithm Basics Sándor Zoltán Németh http://web.mat.bham.ac.uk/s.z.nemeth s.nemeth@bham.ac.uk University of Birmingham S Z Németh (s.nemeth@bham.ac.uk) Heuristic

More information

Managing Dynamic Reconfiguration Overhead in Systems-on-a-Chip Design Using Reconfigurable Datapaths and Optimized Interconnection Networks

Managing Dynamic Reconfiguration Overhead in Systems-on-a-Chip Design Using Reconfigurable Datapaths and Optimized Interconnection Networks Managing Dynamic Reconfiguration Overhead in Systems-on-a-Chip Design Using Reconfigurable Datapaths and Optimized Interconnection Networks Zhining Huang, Sharad Malik Electrical Engineering Department

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y.

Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y. Mapping real-life applications on run-time reconfigurable NoC-based MPSoC on FPGA. Singh, A.K.; Kumar, A.; Srikanthan, Th.; Ha, Y. Published in: Proceedings of the 2010 International Conference on Field-programmable

More information

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization 2017 2 nd International Electrical Engineering Conference (IEEC 2017) May. 19 th -20 th, 2017 at IEP Centre, Karachi, Pakistan Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic

More information

A CORDIC Algorithm with Improved Rotation Strategy for Embedded Applications

A CORDIC Algorithm with Improved Rotation Strategy for Embedded Applications A CORDIC Algorithm with Improved Rotation Strategy for Embedded Applications Kui-Ting Chen Research Center of Information, Production and Systems, Waseda University, Fukuoka, Japan Email: nore@aoni.waseda.jp

More information

A Parallel Genetic Algorithm for Maximum Flow Problem

A Parallel Genetic Algorithm for Maximum Flow Problem A Parallel Genetic Algorithm for Maximum Flow Problem Ola M. Surakhi Computer Science Department University of Jordan Amman-Jordan Mohammad Qatawneh Computer Science Department University of Jordan Amman-Jordan

More information

Designing Radial Basis Neural Networks using a Distributed Architecture

Designing Radial Basis Neural Networks using a Distributed Architecture Designing Radial Basis Neural Networks using a Distributed Architecture J.M. Valls, A. Leal, I.M. Galván and J.M. Molina Computer Science Department Carlos III University of Madrid Avenida de la Universidad,

More information

A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis

A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis Bruno da Silva, Jan Lemeire, An Braeken, and Abdellah Touhafi Vrije Universiteit Brussel (VUB), INDI and ETRO department, Brussels,

More information

Design Space Exploration Using Parameterized Cores

Design Space Exploration Using Parameterized Cores RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR Design Space Exploration Using Parameterized Cores Ian D. L. Anderson M.A.Sc. Candidate March 31, 2006 Supervisor: Dr. M. Khalid 1 OUTLINE

More information

Design of High Speed DMA Controller using VHDL

Design of High Speed DMA Controller using VHDL Design of High Speed DMA Controller using VHDL Dharmik S. Dhamecha 1, Prof. Prashant R. Indurkar 2, Prof. Ravindra D. Kadam 3 M. Tech (VLSI), Department of EXTC Engineering, BDCOE, Wardha, India 1 Associate

More information

Fast Efficient Clustering Algorithm for Balanced Data

Fast Efficient Clustering Algorithm for Balanced Data Vol. 5, No. 6, 214 Fast Efficient Clustering Algorithm for Balanced Data Adel A. Sewisy Faculty of Computer and Information, Assiut University M. H. Marghny Faculty of Computer and Information, Assiut

More information

Efficient Self-Reconfigurable Implementations Using On-Chip Memory

Efficient Self-Reconfigurable Implementations Using On-Chip Memory 10th International Conference on Field Programmable Logic and Applications, August 2000. Efficient Self-Reconfigurable Implementations Using On-Chip Memory Sameer Wadhwa and Andreas Dandalis University

More information

A Replacement Technique to Maximize Task Reuse in Reconfigurable Systems

A Replacement Technique to Maximize Task Reuse in Reconfigurable Systems A Replacement echnique to Maximize ask Reuse in Reconfigurable Systems Abstract Dynamically reconfigurable hardware is a promising technology that combines in the same device both the high performance

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm Dr. Ian D. Wilson School of Technology, University of Glamorgan, Pontypridd CF37 1DL, UK Dr. J. Mark Ware School of Computing,

More information

Combining In-Transit Buffers with Optimized Routing Schemes to Boost the Performance of Networks with Source Routing?

Combining In-Transit Buffers with Optimized Routing Schemes to Boost the Performance of Networks with Source Routing? Combining In-Transit Buffers with Optimized Routing Schemes to Boost the Performance of Networks with Source Routing? J. Flich 1,P.López 1, M. P. Malumbres 1, J. Duato 1, and T. Rokicki 2 1 Dpto. Informática

More information

Comparative Study on VQ with Simple GA and Ordain GA

Comparative Study on VQ with Simple GA and Ordain GA Proceedings of the 9th WSEAS International Conference on Automatic Control, Modeling & Simulation, Istanbul, Turkey, May 27-29, 2007 204 Comparative Study on VQ with Simple GA and Ordain GA SADAF SAJJAD

More information

RED: A Reconfigurable Datapath

RED: A Reconfigurable Datapath RED: A Reconfigurable Datapath Fernando Rincón, José M. Moya, Juan Carlos López Universidad de Castilla-La Mancha Departamento de Informática {frincon,fmoya,lopez}@inf-cr.uclm.es Abstract The popularity

More information

Hardware Software Partitioning of Multifunction Systems

Hardware Software Partitioning of Multifunction Systems Hardware Software Partitioning of Multifunction Systems Abhijit Prasad Wangqi Qiu Rabi Mahapatra Department of Computer Science Texas A&M University College Station, TX 77843-3112 Email: {abhijitp,wangqiq,rabi}@cs.tamu.edu

More information

A Top-down Hardware/Software Co-Simulation Method for Embedded Systems Based Upon a Component Logical Bus Architecture

A Top-down Hardware/Software Co-Simulation Method for Embedded Systems Based Upon a Component Logical Bus Architecture A Top-down / Co-Simulation Method for Embedded Systems Based Upon a Architecture Mitsuhiro YASUDA Barry SHACKLEFORD Fumio SUZUKI Katsuhiko SEO Hisao KOIZUMI Mitsubishi Electric Corporation, Hewlett-Packard

More information

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES SHIHADEH ALQRAINY. Department of Software Engineering, Albalqa Applied University. E-mail:

More information

A Real Coded Genetic Algorithm for Data Partitioning and Scheduling in Networks with Arbitrary Processor Release Time

A Real Coded Genetic Algorithm for Data Partitioning and Scheduling in Networks with Arbitrary Processor Release Time A Real Coded Genetic Algorithm for Data Partitioning and Scheduling in Networks with Arbitrary Processor Release Time S. Suresh 1, V. Mani 1, S. N. Omkar 1, and H. J. Kim 2 1 Department of Aerospace Engineering,

More information

Optimization of Run-time Reconfigurable Embedded Systems

Optimization of Run-time Reconfigurable Embedded Systems Optimization of Run-time Reconfigurable Embedded Systems Michael Eisenring and Marco Platzner Swiss Federal Institute of Technology (ETH) Zurich, Switzerland {eisenring platzner}@tik.ee.ethz.ch Abstract.

More information

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines International Journal of Mathematics and Computer Applications Research (IJMCAR) ISSN 2249-6955 Vol. 2 Issue 4 Dec - 2012 25-32 TJPRC Pvt. Ltd., BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP

More information

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999 HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system

More information

A Level-wise Priority Based Task Scheduling for Heterogeneous Systems

A Level-wise Priority Based Task Scheduling for Heterogeneous Systems International Journal of Information and Education Technology, Vol., No. 5, December A Level-wise Priority Based Task Scheduling for Heterogeneous Systems R. Eswari and S. Nickolas, Member IACSIT Abstract

More information

Task Allocation for Minimizing Programs Completion Time in Multicomputer Systems

Task Allocation for Minimizing Programs Completion Time in Multicomputer Systems Task Allocation for Minimizing Programs Completion Time in Multicomputer Systems Gamal Attiya and Yskandar Hamam Groupe ESIEE Paris, Lab. A 2 SI Cité Descartes, BP 99, 93162 Noisy-Le-Grand, FRANCE {attiyag,hamamy}@esiee.fr

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Informed Search and Exploration Chapter 4 (4.3 4.6) Searching: So Far We ve discussed how to build goal-based and utility-based agents that search to solve problems We ve also presented

More information

Solving Traveling Salesman Problem Using Parallel Genetic. Algorithm and Simulated Annealing

Solving Traveling Salesman Problem Using Parallel Genetic. Algorithm and Simulated Annealing Solving Traveling Salesman Problem Using Parallel Genetic Algorithm and Simulated Annealing Fan Yang May 18, 2010 Abstract The traveling salesman problem (TSP) is to find a tour of a given number of cities

More information

On Using Machine Learning for Logic BIST

On Using Machine Learning for Logic BIST On Using Machine Learning for Logic BIST Christophe FAGOT Patrick GIRARD Christian LANDRAULT Laboratoire d Informatique de Robotique et de Microélectronique de Montpellier, UMR 5506 UNIVERSITE MONTPELLIER

More information

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem etic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem R. O. Oladele Department of Computer Science University of Ilorin P.M.B. 1515, Ilorin, NIGERIA

More information

The Simple Genetic Algorithm Performance: A Comparative Study on the Operators Combination

The Simple Genetic Algorithm Performance: A Comparative Study on the Operators Combination INFOCOMP 20 : The First International Conference on Advanced Communications and Computation The Simple Genetic Algorithm Performance: A Comparative Study on the Operators Combination Delmar Broglio Carvalho,

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

Design and Implementation of Low Complexity Router for 2D Mesh Topology using FPGA

Design and Implementation of Low Complexity Router for 2D Mesh Topology using FPGA Design and Implementation of Low Complexity Router for 2D Mesh Topology using FPGA Maheswari Murali * and Seetharaman Gopalakrishnan # * Assistant professor, J. J. College of Engineering and Technology,

More information

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007) In the name of God Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm Spring 2009 Instructor: Dr. Masoud Yaghini Outlines Problem Definition Modeling As A Set Partitioning

More information

Concepts for Model Compilation in Hardware/Software Codesign

Concepts for Model Compilation in Hardware/Software Codesign Concepts for Model Compilation in Hardware/Software Codesign S. Schulz, and J.W. Rozenblit Dept. of Electrical and Computer Engineering The University of Arizona Tucson, AZ 85721 USA sschulz@ece.arizona.edu

More information

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton Hardware/Software Partitioning for SoCs EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton Goals of this Lecture Automatic hardware/software partitioning is big topic... In this lecture,

More information

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search A JOB-SHOP SCHEDULING PROBLEM (JSSP) USING GENETIC ALGORITHM (GA) Mahanim Omar, Adam Baharum, Yahya Abu Hasan School of Mathematical Sciences, Universiti Sains Malaysia 11800 Penang, Malaysia Tel: (+)

More information

BRNO UNIVERSITY OF TECHNOLOGY Faculty of Information Technology Department of Computer Systems. Ing. Azeddien M. Sllame

BRNO UNIVERSITY OF TECHNOLOGY Faculty of Information Technology Department of Computer Systems. Ing. Azeddien M. Sllame BRNO UNIVERSITY OF TECHNOLOGY Faculty of Information Technology Department of Computer Systems Ing. Azeddien M. Sllame DESIGN SPACE EXPLORATION OF HIGH-PERFORMANCE DIGITAL SYSTEMS PROZKOUMÁVÁNÍ PROSTORU

More information

A TOPOLOGY-INDEPENDENT MAPPING TECHNIQUE FOR APPLICATION-SPECIFIC NETWORKS-ON-CHIP. Rafael Tornero, Juan M. Orduña. Maurizio Palesi.

A TOPOLOGY-INDEPENDENT MAPPING TECHNIQUE FOR APPLICATION-SPECIFIC NETWORKS-ON-CHIP. Rafael Tornero, Juan M. Orduña. Maurizio Palesi. Computing and Informatics, Vol. 31, 2012, 939 970 A TOPOLOGY-INDEPENDENT MAPPING TECHNIQUE FOR APPLICATION-SPECIFIC NETWORKS-ON-CHIP Rafael Tornero, Juan M. Orduña Departamento de Informática Universidad

More information

Handling Constraints in Multi-Objective GA for Embedded System Design

Handling Constraints in Multi-Objective GA for Embedded System Design Handling Constraints in Multi-Objective GA for Embedded System Design Biman Chakraborty Ting Chen Tulika Mitra Abhik Roychoudhury National University of Singapore stabc@nus.edu.sg, {chent,tulika,abhik}@comp.nus.edu.sg

More information

Preprocessing of Stream Data using Attribute Selection based on Survival of the Fittest

Preprocessing of Stream Data using Attribute Selection based on Survival of the Fittest Preprocessing of Stream Data using Attribute Selection based on Survival of the Fittest Bhakti V. Gavali 1, Prof. Vivekanand Reddy 2 1 Department of Computer Science and Engineering, Visvesvaraya Technological

More information

Constraint-Driven Floorplanning based on Genetic Algorithm

Constraint-Driven Floorplanning based on Genetic Algorithm Proceedings of the 2007 WSEAS International Conference on Computer Engineering and Applications, Gold Coast, Australia, January 17-19, 2007 147 Constraint-Driven Floorplanning based on Genetic Algorithm

More information

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm 2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm Roshni

More information

Framework for replica selection in fault-tolerant distributed systems

Framework for replica selection in fault-tolerant distributed systems Framework for replica selection in fault-tolerant distributed systems Daniel Popescu Computer Science Department University of Southern California Los Angeles, CA 90089-0781 {dpopescu}@usc.edu Abstract.

More information

The levels of a memory hierarchy. Main. Memory. 500 By 1MB 4GB 500GB 0.25 ns 1ns 20ns 5ms

The levels of a memory hierarchy. Main. Memory. 500 By 1MB 4GB 500GB 0.25 ns 1ns 20ns 5ms The levels of a memory hierarchy CPU registers C A C H E Memory bus Main Memory I/O bus External memory 500 By 1MB 4GB 500GB 0.25 ns 1ns 20ns 5ms 1 1 Some useful definitions When the CPU finds a requested

More information

A Novel Optimization Method of Optical Network Planning. Wu CHEN 1, a

A Novel Optimization Method of Optical Network Planning. Wu CHEN 1, a A Novel Optimization Method of Optical Network Planning Wu CHEN 1, a 1 The engineering & technical college of chengdu university of technology, leshan, 614000,china; a wchen_leshan@126.com Keywords:wavelength

More information

Multiprocessor Scheduling Using Parallel Genetic Algorithm

Multiprocessor Scheduling Using Parallel Genetic Algorithm www.ijcsi.org 260 Multiprocessor Scheduling Using Parallel Genetic Algorithm Nourah Al-Angari 1, Abdullatif ALAbdullatif 2 1,2 Computer Science Department, College of Computer & Information Sciences, King

More information

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp Scientia Iranica, Vol. 11, No. 3, pp 159{164 c Sharif University of Technology, July 2004 On Routing Architecture for Hybrid FPGA M. Nadjarbashi, S.M. Fakhraie 1 and A. Kaviani 2 In this paper, the routing

More information

Search Space Reduction for E/E-Architecture Partitioning

Search Space Reduction for E/E-Architecture Partitioning Search Space Reduction for E/E-Architecture Partitioning Andreas Ettner Robert Bosch GmbH, Corporate Reasearch, Robert-Bosch-Campus 1, 71272 Renningen, Germany andreas.ettner@de.bosch.com Abstract. As

More information

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

International Journal of Digital Application & Contemporary research Website:   (Volume 1, Issue 7, February 2013) Performance Analysis of GA and PSO over Economic Load Dispatch Problem Sakshi Rajpoot sakshirajpoot1988@gmail.com Dr. Sandeep Bhongade sandeepbhongade@rediffmail.com Abstract Economic Load dispatch problem

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Improving Performance of Multi-objective Genetic for Function Approximation through island specialisation

Improving Performance of Multi-objective Genetic for Function Approximation through island specialisation Improving Performance of Multi-objective Genetic for Function Approximation through island specialisation A. Guillén 1, I. Rojas 1, J. González 1, H. Pomares 1, L.J. Herrera 1, and B. Paechter 2 1) Department

More information

Using a genetic algorithm for editing k-nearest neighbor classifiers

Using a genetic algorithm for editing k-nearest neighbor classifiers Using a genetic algorithm for editing k-nearest neighbor classifiers R. Gil-Pita 1 and X. Yao 23 1 Teoría de la Señal y Comunicaciones, Universidad de Alcalá, Madrid (SPAIN) 2 Computer Sciences Department,

More information

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University Search & Optimization Search and Optimization method deals with

More information

ECE 448 Lecture 15. Overview of Embedded SoC Systems

ECE 448 Lecture 15. Overview of Embedded SoC Systems ECE 448 Lecture 15 Overview of Embedded SoC Systems ECE 448 FPGA and ASIC Design with VHDL George Mason University Required Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 8, Overview of Embedded

More information

A DYNAMIC RESOURCE ALLOCATION STRATEGY FOR SATELLITE COMMUNICATIONS. Eytan Modiano MIT LIDS Cambridge, MA

A DYNAMIC RESOURCE ALLOCATION STRATEGY FOR SATELLITE COMMUNICATIONS. Eytan Modiano MIT LIDS Cambridge, MA A DYNAMIC RESOURCE ALLOCATION STRATEGY FOR SATELLITE COMMUNICATIONS Aradhana Narula-Tam MIT Lincoln Laboratory Lexington, MA Thomas Macdonald MIT Lincoln Laboratory Lexington, MA Eytan Modiano MIT LIDS

More information

Multi MicroBlaze System for Parallel Computing

Multi MicroBlaze System for Parallel Computing Multi MicroBlaze System for Parallel Computing P.HUERTA, J.CASTILLO, J.I.MÁRTINEZ, V.LÓPEZ HW/SW Codesign Group Universidad Rey Juan Carlos 28933 Móstoles, Madrid SPAIN Abstract: - Embedded systems need

More information