Hardware Software Partitioning of Multifunction Systems
|
|
- Britney Horton
- 6 years ago
- Views:
Transcription
1 Hardware Software Partitioning of Multifunction Systems Abhijit Prasad Wangqi Qiu Rabi Mahapatra Department of Computer Science Texas A&M University College Station, TX ABSTRACT The problem of hardware-software partitioning for systems that are being designed as multifunction systems is addressed. Simulated annealing is known to generate very good solutions for most optimization problems, however the running time of this algorithm can be very high. We apply a modified simulated annealing approach to the partitioning problem resulting in a smaller search space, yet yielding good partitions. We show experimental results that yield better solutions in comparison to the existing multifunction partitioning approaches within acceptable running time. Keywords Hardware/software partitioning, Multifunction systems, Simulated annealing. 1. INTRODUCTION The problem of hardware-software partitioning is a version of the classical graph-partitioning problem, which is essentially an optimization problem. Given an application consisting of tasks, the partitioning task is to identify which tasks should be implemented in hardware and which in software, such that the specified constraints are met. Constraints are typically minimizing chip area or power. It goes without saying that the timing constraint on the application must be met in all cases. The application is described as a directed acyclic graph G = (N, E) where the nodes N represent computations (tasks or processes chosen in the granularity selection stage above), and the arcs E represent data and control dependencies between the nodes. Each node also contains information that helps the algorithm decide the cost of a given partition. This information is typically about the execution times, power utilization, and area required for the hardware and software implementation of the given node. There is also information about the cost of communication and area across the hardware-software interface, specified at the node level. The final solution to this problem simply tells us which node should be implemented in hardware and which in software. The problem described above is the simple partitioning problem (single function). However, if the goal is to design a system that performs multiple functions, (e.g. a device that combines functions of a PDA and cell phone), the partitioning problem becomes more complex. The timing constraints on both applications need to be met besides minimizing chip area or energy consumption. Such a problem is known as the multifunction partitioning problem. Considerable research has gone into the single function to hardware/software partitioning. However, the partitioning of multifunction systems is in its infancy and needs further attention. This is the primary motivation of this paper. All partitioning algorithms require a cost function, i.e. a way to estimate the cost of a partition to decide whether the resulting partition is better than a given partition. Different implementations have different such cost functions. In [1] the primary goal of the partition is to minimize the hardware cost. The primary objective in [2] is to minimize the communication cost between the hardware and software partitions. In [3], the cost function is a combination of the communication cost and the execution time. Low power consumption is the primary constraint in [4]. Throughput combined with hardware cost is the constraint for the implementation in [5]. In the global criticality/local phase driven algorithm in [6] and [7], minimization of chip area is the primary objective while still meeting timing constraints. Thus we see that a combination of constraints can be used in the formulation of the cost function. Typically the way minimization of the cost function is done, is by keeping one constraint as a minimal requirement, and trying to minimize the other factors. A similar approach has been followed in this paper. The simple partitioning problem has been proven to be NP-complete. The multi-functional partitioning problem is at least as difficult as the simple partitioning problem, and thus no polynomial time algorithm exists for it. Approximation algorithms are used for all NP-complete problems and we use one such popular approximation technique called simulated annealing. Simulated annealing is known to yield good results with all optimization problems but its running time is high, since the search space is very large. Other algorithms, such as the Global Criticality/Local Phase (GCLP) driven algorithm [6, 7], have low running times but their partition quality is not as
2 good as results due to the use of simulated annealing. In this paper we present a simulated annealing based technique, which has high partition quality as well as affordable running time. The rest of this paper is organized as follows. Section 2 discusses the background of the multifunction partition with brief reviews on previous efforts. In Section 3, we formally formulate the multifunction partition problem. In Section 4 we explain our new algorithm in detail. In Section 5 experimental results and comparison to the existing methods are presented. Section 6 concludes the paper. 2. BACKGROUND Simulated annealing has been used in [3, 8, 9, 10] for partitioning problems. Simulated annealing has been one of the most popular algorithms for use in optimization problems as it easy to implement, has the capability of make uphill moves in the solution space and thus gives adequate results. However, the tuning of the parameters in the algorithm takes a considerable amount of effort and poorly tuned algorithms yield poor results. Besides this it has a high running time, making it a popular choice only when processing time is not a constraint. The Kernighan-Lin (KL) partitioning algorithm is used in [2]. The running time of this algorithm is considerably less than that of simulated annealing, however the quality of solutions is not as good. The Fiduccia-Mattheyses (FM) min-cut algorithm that is an extension of the KL algorithm has been modified for hardware-software partitioning in [11]. The running time of this algorithm is an order better than KL. Both the algorithms mentioned above are greedy algorithms. They always move only in the direction of a more optimal solution. These algorithms tend to get caught in local minima. Other algorithms which do not always move in the direction of a more optimal solution have the advantage of being able to come out of local minima and are called hill-climbing algorithms. Simulated annealing is one such algorithm. Greedy algorithms are compared with hill-climbing algorithms in [1]. Other optimization techniques such as integer programming and genetic algorithms have also been applied to partitioning problem. An integer programming formulation of the partitioning problem is derived in [12]. Genetic algorithms have also been applied to partitioning problems on distributed systems in [13]. In [6, 7] the Global Criticality/Local Phase (GCLP) driven algorithm is introduced. This algorithm makes use of the global as well as local criteria of each node to determine the best implementation of the particular node. This algorithm yields better results than ordinary greedy algorithms, and is reasonably fast with linear running time. We compare our solution to this algorithm and see that our solution yields better results than this, albeit with a small penalty on running time. 3. PROBLEM FORMULATION Given a set of k applications in the set A P = {A 1, A 2 A k }, only one of these applications is active at any given time. We consider each application to have a repetitive behavior with fixed timing constraints. One iteration through the application A i is specified by a Directed Acyclic Graph (DAG) G = (N, E), where the nodes N specify computations and the edges E specify data and control precedence between nodes. Each edge of the DAG e ij contains information on the communication cost between node i and j if they are implemented in software and hardware respectively. For ease of programming, it is assumed that communication cost between the nodes i and j is same in both ways (Cost i-j = Cost j-i ). However, this approach can easily be extended to have different values for the two directions of communication. Extraction of the DAG from specification of the application is a different problem and we do not consider it as scope of our work. The Ptolemy co-design environment takes as input the description of the application in Standard Design Format (SDF) and generates a DAG. We do not consider any granularity estimation or pre-clustering of basic blocks for the application. It is assumed that this has been done before generating this graph. Each node in the DAG represents some computation and thus needs to have information on its execution times if implemented in the hardware and in the software as well. Besides this, the area cost of the node is also required in respective implementations. We assume that there is only one processor available and hence one value each for the execution time and the code size of each node is specified. The area of the hardware is the sum of all areas of all the nodes that are in implemented in the hardware. The estimation of these values is another step in the co-design process and is available in the form of a library with pre-estimated working parameter values for all the applications. The constraints on the system are assumed to be execution time and area, i.e. the maximum execution times of the different applications and maximum area of the chip are known apriori. The area of the chip is to be minimized while meeting the timing constraints of all the applications. The partitioning task consists of determining the mapping of nodes to either hardware or software. To make the description of the system clearer, an example is considered.
3 Figure 1 is a partitioning problem for an embedded system that can run 3 applications on it. Let there be 10 basic computational units (numbered C 0 thru C 9 ) and the three applications use a set of basic units as shown in Figure 1. Application 1 Application 2 Application 3 C 1 C 0 C 5 C 3 C 4 C 2 C 3 C 1 C 5 C 6 C 8 C 6 C 7 C 9 C 8 C 4 C 9 C 0 C 5 C 7 C 4 Figure 1. An example for a 3 application system partitioning Timing constraints for the three applications are T 1, T 2 and T 3 respectively. The applications need to confirm to these timing specifications and the area of the system must be minimal. The values associated with each node of the graphs are: 1. t h : Execution time if implemented in hardware; 2. t s : Execution time if implemented in software; 3. a h : Area when implemented in hardware; 4. a s : Code size when implemented in software. Each of these specifications for a computation unit (say floating-point multiplier) is same for different applications. For example, if the floating-point multiplier takes an area A h for hardware implementation for Application 1, it takes same area for other two applications if implemented through hardware. There is also communication cost associated with each possible edge of the graph. In this paper C i C j indicates the communication cost between node i and j, if they have different implementations, i.e. node i is in software and j in hardware, or vice versa. This value contains area overhead and time overhead due to the communication involved. Time overhead is caused by the communication between the hardware and software interface. The area overhead is the interconnect area of the interface. Let t(c i C j ) indicate the time overhead and s(c i C j ) the area overhead. As an example, let the current configuration be as follows: C 0 SW; C 1 HW; C 2 HW; C 3 SW; C 4 SW C 5 HW; C 6 SW; C 7 HW; C 8 SW; C 9 HW Consider Application 2. After scheduling, we know that the path C 6 and path C 2 -C 7 can be executed in parallel, since they do not have resource confliction. Suppose task C 6 is finished later than C 7. Therefore the critical path in application 2 is: C 0 -C 6 -C 4 - C 5. Let the timing constraint on this application be T 2. The execution time for this application is: Timeapp 2 = t s (C 0 ) + t s (C 6 ) + t s (C 4 ) + t(c 4 C 5 ) + t h (C 5 ) Similarly, the time for other two applications are also calculated. Let these be Timeapp 1 and Timeapp 3. Let T 1 and T 3 be the timing constraints on application 1 and 3. The timing constraints are: Timeapp i T i (i = 1, 2, 3). 4. PARTITIONING ALGORITHM 4.1 Simulated Annealing We intend to implement the partitioning using the simulated annealing algorithm. Simulated annealing is a popular algorithm used to solve such optimization problems. The algorithm starts off at certain temperature. New configurations of the partitioning are generated by the perturb function. The costs of partitions are determined by an evaluate function (in this work, it is the total chip area). If the new configuration results in a decrease of the cost, this perturbation to the new configuration is accepted and the next perturbation is tried after incrementing the loop count. If the perturbation increases the cost of the partition, this configuration is accepted depending on the value of e - C/T where C is the change in cost and T is the temperature of the system. If a random number generated between 0 and 1 is less than this quantity, the new configuration is accepted. This procedure allows the system to move consistently towards lower cost states, yet still jump out of local minima due to the probabilistic acceptance of some upward moves.
4 The number of iterations at a given temperature fixes the inner loop criterion. At the end of each complete run of the inner loop, the temperature of the system is reduced. The stopping criterion is typically when one complete run of the inner loop does not yield a better solution. At this point the system is said to be frozen and the algorithm ends. The cost function is simply defined as the area of the chip for the given partition. 4.2 Perturb Function We define our perturbation based on a bias value. Bias value is a number between 0 and 1, and reflects the probability of a task node to be implemented in hardware. A task with less bias value is more likely to be implemented in software. In a traditional simulated annealing algorithm, a new configuration is generated by randomly selecting a task node from its current implementation to the opposite, i.e. from software implementation to hardware, or vise versa. However, this completely random process makes the search space very large. In our approach, we limit the search space by controlling this random process, using the bias value. For example, that a task node has a high bias value means it is biased to hardware implementation and has a low probability of moving into the software, if it has already been mapped to the hardware. On the other hand, if a task node with high bias value is currently mapped to software, it s more likely to be selected in the perturbation. This bias value is calculated as a weighted summation of three parameters: Commonality, Performance-Area Ratio, and Urgency Commonality (Com) Some task nodes are common across different applications, and they can be implemented on the same resource. To identify common task groups is more useful, but it is an extremely hard job. We implement this idea in a simple way, by defining commonality as the number of times a particular node appears across all the applications. Intuitively, common tasks are more likely to be implemented in hardware. We give each task a commonality value Com, which will be used in computing its hardware-software bias value Performance-Area Ratio (PAR) This is defined as the ratio of t/(a h -a s ), where t is the difference in computation time of the task when implemented in hardware and software. If the additional area for hardware implementation is small and the performance increase is high, the task has high performance-area ratio, thus this task is biased to hardware implementation Urgency (Ur) This is the summation of the lengths of all paths through a task across all the applications. If the task node appears on the critical path in many applications, the urgency value is high, thus the task is more likely to be implemented in hardware. A weighted bias value is defined as w 1 *Com + w 2 *PAR + w 3 *Ur. w 1, w 2, and w 3 are the weights. We call this value the static bias value. For two consecutive tasks, the communication costs (area, time) are higher if one is implemented in software and the other is implemented in hardware. Therefore we try to avoid that. The dynamic bias value is defined as the average of all its neighbor tasks current implementation (software = 0 and hardware = 1). For example, if all the neighbors of a task are implemented in software, this task is not likely to be implemented in hardware. The bias value we use in our experiments is a weighted summation of static and dynamic bias value. 4.3 Scheduling and Validation When the implementation of each task node is decided, we need to do the scheduling for each application. Since this problem is NP-complete, we use a simple scheduling algorithm. The purpose of scheduling is to check if the timing constraints are met in all the applications. If not, the partitioning solution is not a valid one and needs further validation. The validation procedure is to move the task node with the maximum performance-area ratio value in software implementation to the hardware implementation, until all the applications timing constraints are met. 4.4 User Controllable Parameters The number of inner loops is the number of iterations that are to be made at a particular temperature. This parameter is user controllable and can be used to control running time of the algorithm. The criterion to stop the algorithm is when there is no decrease in chip area for n consecutive iterations. The parameter n is also user controllable and in turn controls the running time of the solution.
5 5. EXPERIMENTS We generated 2 task libraries, which contain 100 task nodes and 1000 task nodes respectively. And for each experiment, we assume there are 3 applications constructed by the task nodes in one task library. We generated random DAGs to represent applications. For each application, we assume t 1 is the time for the application to finish if every node is implemented in hardware, and t 2 is the time that every node is in software. We set the timing deadline for the application to (t 1 +t 2 )/2, so that it is sure that some of the nodes will be implemented in hardware and some will be in software after partitioning. The experimental program is implemented in Microsoft Visual C++. We also implemented the GCLP algorithm for multifunction partitioning problem for these example task sets, and compare its results with our algorithm. 5.1 Weight Assignment We use a simple greedy algorithm to decide weights for the 3 factors (Commonality, Performance-Area Ratio, and Urgency) of static bias value. That is, initially we put all the nodes in hardware, then move nodes with least bias values to software one by one until the timing constraints for at least 1 application is not met. We tried different weights for Commonality, Performance-Area Ratio, and Urgency to calculate the bias value and ran the simple greedy algorithm to compare. The results are listed in Table 1 and Table 2. Table 1 shows the 100-node case and Table 2 shows the 1000-node case. Table 1. Different weight assignment for the 100-node case w 1 w 2 w 3 Area w 1 w 2 w 3 Area , , , , , , , , , , , , , , , , , , , ,218 Table 2. Different weight assignment for the 1000-node case w 1 w 2 w 3 Area w 1 w 2 w 3 Area , , , , , , , , , , , , , , , , , , , , , ,266 We can see that any weight assignments with w 3 =0 can achieve fairly good solution, and the best solution is achieved with w 1 =0 and w 2 =1 in the 100-node case and with w 1 =0.2 and w 2 =0.8 in the 1000-node case. The results indicate that Performance-Area Ratio is the most important factor and Urgency does not help at all. In both experiments we change the variation of Performance-Area Ratio, but the results still remain same. 5.2 Annealing Results We set w 1 =0.2, w 2 =0.8 and w 3 =0 in our algorithm to get the bias value, and ran the simulated annealing. Figure 3 and Figure 4 show the simulated annealing curves. S20 means there are 20 iterations on each temperature. In simulated annealing, we found that the dynamic bias value does not help. Instead, it leads the solution to some local minima Area S20 S200 S2000 Area S200 S2000 S Solutions Solutions Figure 2. SA curves for the 100-node case Figure 3. SA curves for the 1000-node case
6 5.3 Algorithm Performance Comparison Table 3 shows the performance of the 4 algorithms we tried. The time in Table 3 is min:sec. The proposed approach achieves the best chip area but the running time is longer than the other algorithms. However, the running time is acceptable, because in reality, even if we put the granularity to instruction level, most embedded system that has less than 1000 task nodes. For the systems having more than 1000 instructions, simply changing the granularity can control the running time. Table 3. Different algorithm performance comparison 100-node case 1000-node case Area Time Area Time Random Partitioning 7,911 00:01 70,828 00:01 Simple Greedy 3,901 00:01 31,361 00:01 GCLP 3,555 00:01 27,053 00:51 Proposed Approach 2,775 00:08 24,607 08:51 6. CONCLUSIONS AND FUTURE WORK We developed a simulated annealing based algorithm to solve the multifunction partitioning problem. Simulated annealing yields best results for optimization problems for large solution space, and we used bias values to reduce the search space remarkably (otherwise the simulated annealing curves have very long tails and take a very long time to stop). We found that the Performance-Area Ratio is the most important factor for hardware-software bias. Commonality helps to some extent, but Urgency and dynamic bias value do not help at all, with respect to minimizing the chip area. Experiments show that the proposed algorithm gets better results than other existing algorithms, within reasonable time. Intuitively, non-greedy algorithms that permit uphill moves appear to yield better results than the greedy algorithms. So far there have been no work reported that apply simulated annealing concepts to the partitioning problem of multifunction systems. This work can also be extended to N-way partitioning, i.e., a task node can be implemented in many types of hardware. And we can add more constraints in addition to the time and chip area to the partitioning in the future. 7. REFERENCES [1] Frank Vahid, Jie Gong, and Danel Gajski, A Hardware-Software Partitioning Algorithm for Minimizing Hardware European Design Automation Conference (EURO-DAC) [2] Samir Agarwal and Rajesh K. Gupta Data-flow Assisted Behavioral Partitioning for Embedded Systems Proc. 34th Design Auto- mation Conference [3] Jörg Henkel et al., Adaptation of Partitioning and High-Level Synthesis in Hardware/Software Cosynthesis ICCAD' [4] Jörg Henkel, A Low Power Hardware/Software Partitioning Approach for Core-based Embedded Systems DAC [5] Smita Bakshi and Daniel Gajski, Hardware/Software Partitioning and Pipelining DAC [6] Asawaree Kalavade and Edward A. Lee, A Global Criticality/Local Phase Driven Algorithm for the Constrained Hardware/Software Partitioning Problem Proc. of Codes/CASHE 94, Third IEEE International Workshop on Hardware/Software Codesign, Grenoble, France, Sept , 1994, pp [7] Asawaree Kalavade and Edward A. Lee, The Extended Partitioning Problem: Hardware/Software Mapping, Scheduling, and Implementation-bin Selection Journal of Design Automation of Embedded Systems, vol 2, no.2 pp , Mar [8] Jörg Henkel, and Rolf Ernst, An Approach to Automated Hardware/Software Partitioning Using a Flexible Granularity that is Driven by High-Level Estimation Techniques IEEE Transactions on VLSI Systems, VOL. 9, NO. 2, April [9] Petru Eles, Zebo Peng, Krzysztof Kuchcinski, and Alexa Doboli, System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search Kluwer Journal on Design Automation for Embedded Systems, vol. 2, no. 1, January 1997, pp [10] Jörg Henkel, Rolf Ernst, and Thomas Benner, Hardware-Software Cosynthesis for Microcontrollers IEEE Design & Test of Computers, vol. 10, no. 4, December pp [11] Frank Vahid, Modifying Min-Cut for Hardware and Software Functional Partitioning CODES [12] I. Karkowski and R.H.J.M Otten, An Automatic Hardware-Software Partitioner Based on the Possibilistic Programming European Design and Test Conference, March [13] Robert P.Dick and Niraj K. Jha, MOGAC: A Multiobjective Genetic Algorithm for Hardware-Software Co-Synthesis of Distributed Embedded Systems IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 1998.
Hardware/Software Partitioning using Integer Programming. Ralf Niemann, Peter Marwedel. University of Dortmund. D Dortmund, Germany
Hardware/Software using Integer Programming Ralf Niemann, Peter Marwedel Dept. of Computer Science II University of Dortmund D-44221 Dortmund, Germany Abstract One of the key problems in hardware/software
More informationHardware-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 informationScheduling 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 informationConstraint-driven System Partitioning
Constraint-driven System Partitioning. L. López-Vallejo J. Grajal and J. C. López Dept. Ing. Electrónica Dept. Señales Sistemas y Radiocomunicación Dept. Informática ETSIT Univ. Politécnica adrid ETSIT
More informationA Three-Step Approach to the Functional Partitioning of Large Behavioral Processes
A Three-Step Approach to the Functional Partitioning of Large Behavioral Processes Frank Vahid Department of Computer Science and Engineering University of California, Riverside, CA 92521 Abstract Earlier
More informationSystem partitioning. System functionality is implemented on system components ASICs, processors, memories, buses
System partitioning System functionality is implemented on system components ASICs, processors, memories, buses Two design tasks: Allocate system components or ASIC constraints Partition functionality
More informationOptimization Techniques for Design Space Exploration
0-0-7 Optimization Techniques for Design Space Exploration Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University Outline Optimization problems in ERT system design Heuristic techniques Simulated
More informationA 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(c) (b) (a) ict (us) size (gates) s h s h 5. n1 n2 n3. procedure n3 (...) is... while (y) loop n4(...); end loop;...
Modifying Min-Cut for Hardware and Software Functional Partitioning Frank Vahid Department of Computer Science University of California, Riverside, CA 92521 vahid@cs.ucr.edu, www.cs.ucr.edu Abstract The
More informationHeuristic Optimisation Methods for System Partitioning in HW/SW Co-Design
Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp Vienna University of Technology Institute of Communications and Radio-Frequency Engineering
More informationUnit 5A: Circuit Partitioning
Course contents: Unit 5A: Circuit Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Simulated annealing based partitioning algorithm Readings Chapter 7.5 Unit 5A 1 Course
More informationHardware/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 informationCOMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS
COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS Zoltan Baruch 1, Octavian Creţ 2, Kalman Pusztai 3 1 PhD, Lecturer, Technical University of Cluj-Napoca, Romania 2 Assistant, Technical University of
More informationA Controller Testability Analysis and Enhancement Technique
A Controller Testability Analysis and Enhancement Technique Xinli Gu Erik Larsson, Krzysztof Kuchinski and Zebo Peng Synopsys, Inc. Dept. of Computer and Information Science 700 E. Middlefield Road Linköping
More informationHardware/Software Partitioning of Digital Systems
Hardware/Software Partitioning of Digital Systems F. Dufour Advisor: M. Radetzki Department of Technical Computer Science University of Stuttgart Seminar Embedded Systems Outline 1 Partitioning and digital
More informationDesign Space Exploration in System Level Synthesis under Memory Constraints
Design Space Exploration in System Level Synthesis under Constraints Radoslaw Szymanek and Krzysztof Kuchcinski Dept. of Computer and Information Science Linköping University Sweden radsz@ida.liu.se Abstract
More informationChapter 2 Hardware/Software Partitioning for Embedded Systems
Chapter 2 Hardware/Software Partitioning for Embedded Systems M.C. Bhuvaneswari and M. Jagadeeswari Abstract Current methods for designing embedded systems require specifying and designing hardware and
More informationGenetic Algorithm for Circuit Partitioning
Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationP j. system description. internal representation. partitioning. HW synthesis. SW synthesis. cost estimation - path based scheduler -...
A Path{Based Technique for Estimating Hardware Runtime in HW/SW-Cosynthesis Jorg Henkel, Rolf Ernst Institut fur Datenverarbeitungsanlagen Technische Universitat Braunschweig Hans{Sommer{Str. 66, D{806
More informationA 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 informationEu = {n1, n2} n1 n2. u n3. Iu = {n4} gain(u) = 2 1 = 1 V 1 V 2. Cutset
Shantanu Dutt 1 and Wenyong Deng 2 A Probability-Based Approach to VLSI Circuit Partitioning Department of Electrical Engineering 1 of Minnesota University Minneapolis, Minnesota 55455 LSI Logic Corporation
More informationHardware/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 informationPreclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)
ESE535: Electronic Design Automation Preclass Warmup What cut size were you able to achieve? Day 4: January 28, 25 Partitioning (Intro, KLFM) 2 Partitioning why important Today Can be used as tool at many
More informationCAD Algorithms. Circuit Partitioning
CAD Algorithms Partitioning Mohammad Tehranipoor ECE Department 13 October 2008 1 Circuit Partitioning Partitioning: The process of decomposing a circuit/system into smaller subcircuits/subsystems, which
More informationTabu Search - Examples
- Examples Petru Eles Department of Computer and Information Science (IDA) Linköpings universitet http://www.ida.liu.se/~petel/ 1 Examples Hardware/Software Partitioning Travelling Salesman 2 TS Examples:
More informationPartitioning 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 informationalgorithms, i.e., they attempt to construct a solution piece by piece and are not able to offer a complete solution until the end. The FM algorithm, l
The FMSAT Satisfiability Solver: Hypergraph Partitioning meets Boolean Satisfiability Arathi Ramani, Igor Markov framania, imarkovg@eecs.umich.edu February 6, 2002 Abstract This report is intended to present
More informationExtending the Kernighan/Lin Heuristic for Hardware and Software Functional Partitioning
Design Automation for Embedded Systems, 2, 237 261 (1997) c 1997 Kluwer Academic Publishers, Boston. Manufactured in The Netherlands. Extending the Kernighan/Lin Heuristic for Hardware and Software Functional
More informationThe Partitioning Problem
The Partitioning Problem 1. Iterative Improvement The partitioning problem is the problem of breaking a circuit into two subcircuits. Like many problems in VLSI design automation, we will solve this problem
More informationResearch Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003
Research Incubator: Combinatorial Optimization Dr. Lixin Tao December 9, 23 Content General Nature of Research on Combinatorial Optimization Problem Identification and Abstraction Problem Properties and
More informationPlacement Algorithm for FPGA Circuits
Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationHardware 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 informationTerm Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement. Imran M. Rizvi John Antony K.
Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement By Imran M. Rizvi John Antony K. Manavalan TimberWolf Algorithm for Placement Abstract: Our goal was
More informationA Dynamically Constrained Genetic Algorithm For Hardware-software Partitioning
A Dynamically Constrained Genetic Algorithm For Hardware-software Partitioning Pierre-André Mudry Guillaume Zufferey Gianluca Tempesti École Polytechnique Fédérale de Lausanne Cellular Architectures Research
More informationBACKEND DESIGN. Circuit Partitioning
BACKEND DESIGN Circuit Partitioning Partitioning System Design Decomposition of a complex system into smaller subsystems. Each subsystem can be designed independently. Decomposition scheme has to minimize
More informationResearch Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for Circuit Partitioning
Discrete Dynamics in Nature and Society Volume 25, Article ID 625, 8 pages http://dxdoiorg/55/25/625 Research Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for
More informationA Linear-Time Heuristic for Improving Network Partitions
A Linear-Time Heuristic for Improving Network Partitions ECE 556 Project Report Josh Brauer Introduction The Fiduccia-Matteyses min-cut heuristic provides an efficient solution to the problem of separating
More informationManuscript received 12 October 2004; revised 17 December 2004 Communicated by Hong Zhu
Computing and Informatics, Vol. 23, 2004, 557 569 KNAPSACK MODEL AND ALGORITHM FOR HARDWARE/SOFTWARE PARTITIONING PROBLEM Abhijit Ray, Wu Jigang, Thambipillai Srikanthan Centre for High Performance Embedded
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter Netlist and System Partitioning Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu Chapter Netlist and System Partitioning. Introduction. Terminology. Optimization Goals. Partitioning
More informationScalable Performance Scheduling for Hardware-Software Cosynthesis
Scalable Performance Scheduling for Hardware-Software Cosynthesis Thomas Benner, Rolf Ernst and Achim Österling Institut für Datenverarbeitungsanlagen Hans-Sommer-Str. 66 D 38106 Braunschweig, Germany
More informationEXTENDING THE GCLP ALGORITHM FOR HW/SW PARTITIONING: A DETAILED PLATFORM MODEL AND PERFORMANCE IMPROVEMENTS
EXTENDING THE GCLP ALGORITHM FOR HW/SW PARTITIONING: A DETAILED PLATFORM MODEL AND PERFORMANCE IMPROVEMENTS B. Knerr, M. Holzer, and M. Rupp Vienna University of Technology Institute for Communications
More informationSystem Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search *
System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search * Petru Eles 1,2, Zebo Peng 1, Krzysztof Kuchcinski 1, Alexa Doboli 2 1 Department of Computer and Information Science
More informationSolving the Large Scale Next Release Problem with a Backbone Based Multilevel Algorithm
IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID 1 Solving the Large Scale Next Release Problem with a Backbone Based Multilevel Algorithm Jifeng Xuan, He Jiang, Member, IEEE, Zhilei Ren, and Zhongxuan
More informationMOGAC: A Multiobjective Genetic Algorithm for the Co-Synthesis of Hardware-Software Embedded Systems
MOGAC: A Multiobjective Genetic Algorithm for the Co-Synthesis of Hardware-Software Embedded Systems Robert P. Dick and Niraj K. Jha Department of Electrical Engineering Princeton University Princeton,
More informationBuffer Minimization in Pipelined SDF Scheduling on Multi-Core Platforms
Buffer Minimization in Pipelined SDF Scheduling on Multi-Core Platforms Yuankai Chen and Hai Zhou Electrical Engineering and Computer Science, Northwestern University, U.S.A. Abstract With the increasing
More informationPartitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.
Course contents: Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Readings Chapter 7.5 Partitioning 1 Basic Definitions Cell: a logic block used to build larger circuits.
More informationPlace and Route for FPGAs
Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming
More informationStatic Compaction Techniques to Control Scan Vector Power Dissipation
Static Compaction Techniques to Control Scan Vector Power Dissipation Ranganathan Sankaralingam, Rama Rao Oruganti, and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer
More informationScheduling with Bus Access Optimization for Distributed Embedded Systems
472 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 8, NO. 5, OCTOBER 2000 Scheduling with Bus Access Optimization for Distributed Embedded Systems Petru Eles, Member, IEEE, Alex
More informationEffective Memory Access Optimization by Memory Delay Modeling, Memory Allocation, and Slack Time Management
International Journal of Computer Theory and Engineering, Vol., No., December 01 Effective Memory Optimization by Memory Delay Modeling, Memory Allocation, and Slack Time Management Sultan Daud Khan, Member,
More informationSystem Synthesis of Digital Systems
System Synthesis Introduction 1 System Synthesis of Digital Systems Petru Eles, Zebo Peng System Synthesis Introduction 2 Literature: Introduction P. Eles, K. Kuchcinski and Z. Peng "System Synthesis with
More informationA 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 informationThe Design of Mixed Hardware/Software Systems
The Design of Mixed Hardware/Software Systems Jay K. Adams Synopsys, Inc. 700 East Middlefield Road Mountain View, CA 94043 jka@synopsys.com Donald E. Thomas Deptartment of Electrical and Computer Engineering
More information920 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 17, NO. 10, OCTOBER 1998
920 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 17, NO. 10, OCTOBER 1998 MOGAC: A Multiobjective Genetic Algorithm for Hardware Software Cosynthesis of Distributed
More informationAnand Raghunathan
ECE 695R: SYSTEM-ON-CHIP DESIGN Module 2: HW/SW Partitioning Lecture 2.13: HW/SW Co-Synthesis: Automatic Partitioning Anand Raghunathan raghunathan@purdue.edu Fall 2014, ME 1052, T Th 12:00PM-1:15PM 2014
More informationMULTI-OBJECTIVE DESIGN SPACE EXPLORATION OF EMBEDDED SYSTEM PLATFORMS
MULTI-OBJECTIVE DESIGN SPACE EXPLORATION OF EMBEDDED SYSTEM PLATFORMS Jan Madsen, Thomas K. Stidsen, Peter Kjærulf, Shankar Mahadevan Informatics and Mathematical Modelling Technical University of Denmark
More informationFILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas
FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS Waqas Akram, Cirrus Logic Inc., Austin, Texas Abstract: This project is concerned with finding ways to synthesize hardware-efficient digital filters given
More informationHardware-Software Codesign. 1. Introduction
Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2
More informationTask 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 informationMulti-Objective Hypergraph Partitioning Algorithms for Cut and Maximum Subdomain Degree Minimization
IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN, VOL XX, NO. XX, 2005 1 Multi-Objective Hypergraph Partitioning Algorithms for Cut and Maximum Subdomain Degree Minimization Navaratnasothie Selvakkumaran and
More informationIntroduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.
Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on
More informationCS 331: Artificial Intelligence Local Search 1. Tough real-world problems
CS 331: Artificial Intelligence Local Search 1 1 Tough real-world problems Suppose you had to solve VLSI layout problems (minimize distance between components, unused space, etc.) Or schedule airlines
More informationHigh-Level Estimation Techniques for Usage in Hardware/Software Co-Design
High-Level Estimation Techniques for Usage in Hardware/Software Co-Design Jörg Henkel C&C Research Laboratories NEC USA, Princeton, NJ 08540 henkel@ccrl.nj.nec.com Rolf Ernst Institut für DV Anlagen Technische
More informationMinimizing Clock Domain Crossing in Network on Chip Interconnect
Minimizing Clock Domain Crossing in Network on Chip Interconnect Parag Kulkarni 1, Puneet Gupta 2, Rudy Beraha 3 1 Synopsys 2 UCLA 3 Qualcomm Corp. R&D Outline Motivation The Router Coloring Problem Approaches
More informationAbstract A SCALABLE, PARALLEL, AND RECONFIGURABLE DATAPATH ARCHITECTURE
A SCALABLE, PARALLEL, AND RECONFIGURABLE DATAPATH ARCHITECTURE Reiner W. Hartenstein, Rainer Kress, Helmut Reinig University of Kaiserslautern Erwin-Schrödinger-Straße, D-67663 Kaiserslautern, Germany
More informationAnimation of VLSI CAD Algorithms A Case Study
Session 2220 Animation of VLSI CAD Algorithms A Case Study John A. Nestor Department of Electrical and Computer Engineering Lafayette College Abstract The design of modern VLSI chips requires the extensive
More informationAn Intelligent Priority Decision Making Algorithm for Competitive Operators in List-based Scheduling
IJCSNS International Journal of Computer Science and Network Security, VOL.9 No.1, January 2009 81 An Intelligent Priority Decision Making Algorithm for Competitive Operators in List-based Scheduling Jun-yong
More informationSYSTEM-LEVEL CODESIGN OF MIXED HARDWARE-SOFTWARE SYSTEMS
Abstract SYSTEM-LEVEL CODESIGN OF MIXED HARDWARE-SOFTWARE SYSTEMS by Asawaree Prabhakar Kalavade Doctor of Philosophy in Electrical Engineering University of California, Berkeley Professor Edward A. Lee,
More informationRestricted Range Exhaustive Search: A New Heuristic for HW/SW Partitioning of Task Graphs
Restricted Range Exhaustive Search: A New Heuristic for HW/SW Partitioning of Task Graphs Bastian Knerr, Martin Holzer, and Markus Rupp Institute of Communications and RF Engineering Vienna University
More informationHEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A PHARMACEUTICAL MANUFACTURING LABORATORY
Proceedings of the 1998 Winter Simulation Conference D.J. Medeiros, E.F. Watson, J.S. Carson and M.S. Manivannan, eds. HEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A
More informationHardware-Software Codesign. 1. Introduction
Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2
More informationEfficient FM Algorithm for VLSI Circuit Partitioning
Efficient FM Algorithm for VLSI Circuit Partitioning M.RAJESH #1, R.MANIKANDAN #2 #1 School Of Comuting, Sastra University, Thanjavur-613401. #2 Senior Assistant Professer, School Of Comuting, Sastra University,
More information[HaKa92] L. Hagen and A. B. Kahng, A new approach to eective circuit clustering, Proc. IEEE
[HaKa92] L. Hagen and A. B. Kahng, A new approach to eective circuit clustering, Proc. IEEE International Conference on Computer-Aided Design, pp. 422-427, November 1992. [HaKa92b] L. Hagen and A. B.Kahng,
More informationPenalized Graph Partitioning for Static and Dynamic Load Balancing
Penalized Graph Partitioning for Static and Dynamic Load Balancing Tim Kiefer, Dirk Habich, Wolfgang Lehner Euro-Par 06, Grenoble, France, 06-08-5 Task Allocation Challenge Application (Workload) = Set
More informationA Recursive Coalescing Method for Bisecting Graphs
A Recursive Coalescing Method for Bisecting Graphs The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters. Citation Accessed Citable
More informationBI-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 informationConcepts 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 informationEE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2. Introduction to Behavioral Synthesis (cont.)
EE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2 Introduction to Behavioral Synthesis (cont.) Relationship to silicon compilation Stochastic Algorithms and Learning EE244
More informationAn Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm
An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm Henan Zhao and Rizos Sakellariou Department of Computer Science, University of Manchester,
More informationA Genetic Algorithm for Multiprocessor Task Scheduling
A Genetic Algorithm for Multiprocessor Task Scheduling Tashniba Kaiser, Olawale Jegede, Ken Ferens, Douglas Buchanan Dept. of Electrical and Computer Engineering, University of Manitoba, Winnipeg, MB,
More informationPartitioning Sequential Programs for CAD Using a Three-Step Approach
Partitioning Sequential Programs for CAD Using a Three-Step Approach FRANK VAHID University of California, Riverside and Irvine Many computer-aided design problems involve solutions that require the partitioning
More informationGENETIC ALGORITHM BASED FPGA PLACEMENT ON GPU SUNDAR SRINIVASAN SENTHILKUMAR T. R.
GENETIC ALGORITHM BASED FPGA PLACEMENT ON GPU SUNDAR SRINIVASAN SENTHILKUMAR T R FPGA PLACEMENT PROBLEM Input A technology mapped netlist of Configurable Logic Blocks (CLB) realizing a given circuit Output
More informationIncorporating the Controller Eects During Register Transfer Level. Synthesis. Champaka Ramachandran and Fadi J. Kurdahi
Incorporating the Controller Eects During Register Transfer Level Synthesis Champaka Ramachandran and Fadi J. Kurdahi Department of Electrical & Computer Engineering, University of California, Irvine,
More informationApproximation Algorithms
Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours
More informationCosimulation of Real-Time Control Systems
Cosimulation of Real-Time Control Systems Juha-Pekka Soininen, Tuomo Huttunen, Kari Tiensyrjä and Hannu Heusala VTT Electronics, Oulu, Finland Abstract The behaviour of a real-time system can be validated
More informationAPPROXIMATING A PARALLEL TASK SCHEDULE USING LONGEST PATH
APPROXIMATING A PARALLEL TASK SCHEDULE USING LONGEST PATH Daniel Wespetal Computer Science Department University of Minnesota-Morris wesp0006@mrs.umn.edu Joel Nelson Computer Science Department University
More informationWhat is Search For? CSE 473: Artificial Intelligence. Example: N-Queens. Example: N-Queens. Example: Map-Coloring 4/7/17
CSE 473: Artificial Intelligence Constraint Satisfaction Dieter Fox What is Search For? Models of the world: single agent, deterministic actions, fully observed state, discrete state space Planning: sequences
More informationBeyond Classical Search
Beyond Classical Search Chapter 3 covered problems that considered the whole search space and produced a sequence of actions leading to a goal. Chapter 4 covers techniques (some developed outside of AI)
More informationCS 188: Artificial Intelligence
CS 188: Artificial Intelligence CSPs II + Local Search Prof. Scott Niekum The University of Texas at Austin [These slides based on those of Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley.
More informationParallel Simulated Annealing for VLSI Cell Placement Problem
Parallel Simulated Annealing for VLSI Cell Placement Problem Atanu Roy Karthik Ganesan Pillai Department Computer Science Montana State University Bozeman {atanu.roy, k.ganeshanpillai}@cs.montana.edu VLSI
More informationTELCOM2125: Network Science and Analysis
School of Information Sciences University of Pittsburgh TELCOM2125: Network Science and Analysis Konstantinos Pelechrinis Spring 2015 2 Part 4: Dividing Networks into Clusters The problem l Graph partitioning
More informationTODAY, new applications, e.g., multimedia or advanced
584 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: ANALOG AND DIGITAL SIGNAL PROCESSING, VOL. 45, NO. 5, MAY 1998 A Formal Technique for Hardware Interface Design Adel Baganne, Jean-Luc Philippe, and Eric
More informationCo-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 informationNote: In physical process (e.g., annealing of metals), perfect ground states are achieved by very slow lowering of temperature.
Simulated Annealing Key idea: Vary temperature parameter, i.e., probability of accepting worsening moves, in Probabilistic Iterative Improvement according to annealing schedule (aka cooling schedule).
More informationGRASP. Greedy Randomized Adaptive. Search Procedure
GRASP Greedy Randomized Adaptive Search Procedure Type of problems Combinatorial optimization problem: Finite ensemble E = {1,2,... n } Subset of feasible solutions F 2 Objective function f : 2 Minimisation
More informationScalability and Parallel Execution of Warp Processing - Dynamic Hardware/Software Partitioning
Scalability and Parallel Execution of Warp Processing - Dynamic Hardware/Software Partitioning Roman Lysecky Department of Electrical and Computer Engineering University of Arizona rlysecky@ece.arizona.edu
More informationScheduling on clusters and grids
Some basics on scheduling theory Grégory Mounié, Yves Robert et Denis Trystram ID-IMAG 6 mars 2006 Some basics on scheduling theory 1 Some basics on scheduling theory Notations and Definitions List scheduling
More informationLocal Search for CSPs
Local Search for CSPs Alan Mackworth UBC CS CSP February, 0 Textbook. Lecture Overview Domain splitting: recap, more details & pseudocode Local Search Time-permitting: Stochastic Local Search (start) Searching
More informationA dynamic resource constrained task scheduling problem
A dynamic resource constrained task scheduling problem André Renato Villela da Silva Luis Satoru Ochi * Instituto de Computação - Universidade Federal Fluminense, Niterói, Rio de Janeiro, Brasil Abstract
More informationOn the Rectangle Escape Problem
CCCG 2013, Waterloo, Ontario, August 8 10, 2013 On the Rectangle Escape Problem Sepehr Assadi Ehsan Emamjomeh-Zadeh Sadra Yazdanbod Hamid Zarrabi-Zadeh Abstract Motivated by a PCB routing application,
More information