Download presentation
Presentation is loading. Please wait.
Published byChristina Allen Modified over 9 years ago
2
1 Operating Systems for Reconfigurable Computing Systems Xuequn(Robin) Li Instructor: Prof. Shawki Areibi School of Engineering School of Engineering University of Guelph University of Guelph Mar 30, 2004
3
2 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Outline IntroductionTasks –Allocation –Partitioning –Placement –Routing Case Study –Design Concepts –Implementation Concepts SummaryReferences
4
3 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) LiIntroduction Reconfigurable Computing System –Tradeoff between ASIC (Performance) and General Processor (Flexibility) and General Processor (Flexibility) –Logic (FPGA) –Embedded Control –Computer based RC Traditional OS –Device management –Process & resource management –Memory management –File management
5
4 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li OS for RCS With the development of the reconfigurable computing systems, designers are looking towards multitasking reconfigurable computers Multitasking an FPGA will require an OS to manage the loading, swapping and allocation of the tasks to the FPGA surface As the status of the FPGA changes in time, the designs will have to be completed at run-time, and not statically compiled. The partitioning, placement and routing need be handled by the OS.
6
5 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li History 1996, G. Brebner first presented the description of hardware multitasking 1999, Wigley discussed the services of OS for RCS, including devices partitioning, placement and routing 2003,Herbert Walder proposed a Reconfigurable Hardware OS prototype ……
7
6 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Benefits Speed up development cycles –Re-use tested and reliable codes and circuits Increase portability –Recompilation/resynthesis Ease system re-partitioning –Between different HW components or even between HW and SW components Simplify debugging –Monitor and trigger facilities
8
7 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Tasks of OS for RCS General Tasks – Loader – Scheduler – Memory management – Circuit protection – I/O – Inter-process communication Special Tasks –Allocation –Partitioning –Placement –Routing multiple circuits on one or more FPGA
9
8 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Scheduling Algorithms First-in-first-served algorithms First-in-first-served algorithms – simple but not efficient Genetic algorithms: Reduce the time delay in serving large number of tasks Genetic algorithms: Reduce the time delay in serving large number of tasks –Belong to the class of stochastic search methods –Other than operate on a single solution to the problem at hand, genetic algorithms operate on a population of solutions
10
9 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Allocation in OS for RCS Take the next application from the loader to be executed on the real surface and given minimum area requirement Search the logic frame free list for an area contiguous set of frames which meet the area requirement Determine where or if the free logic is available for the application
11
10 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Allocation Algorithms Compare the free space on the real FPGA surface with the total required area –If not enough, partition the application, with parts executing, and the others being held elsewhere on the real surface or on the virtual surface Determine of there is an available free frame on the real FPGA surface Once the frame has been found, the space will be marked; otherwise, OS will invoke the partitioning algorithms
12
11 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Partitioning in OS for RCS The process in which a large circuit is broken into smaller ones to fit onto available space on the FPGA –Increase the performance –Minimize communication between partitions
13
12 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Partitioning in OS for RCS (contd) Identify a rearrangement of the running task on the FPGA that free sufficient logic for the waiting task Identify a rearrangement of the running task on the FPGA that free sufficient logic for the waiting task Use a scheduler mechanism to minimize the delay in the execution time of the chosen tasks Use a scheduler mechanism to minimize the delay in the execution time of the chosen tasks The deterministic and bounded run time is important to avoid unpredictable time which would reduce the ability of OS The deterministic and bounded run time is important to avoid unpredictable time which would reduce the ability of OS
14
13 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Partitioning Algorithms Calculate the As Soon As Possible (ASAP) execution levels of each node Use these levels to allocate the nodes to the desired partition until the partition reaches the user selected capacity Invoke the placement algorithm and if the placement fails, the OS reduces the user selected capacity and attempts to re- partition and re-place the application.
15
14 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Placement in OS for RCS Determining where modules of the application partitions are located in logic partitions Minimizing the area, routing delays and run time After successful complete placement, the router will be invoked by OS 5 4 32 6 1
16
15 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Placement Algorithms Objective: Placing the connecting logic modules close to each other Place the first node to the right of the parent Place the second mode on top of the parent Repeat until all modules have been placed; otherwise, re-allocate or reduce the number of logic modules
17
16 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Routing in OS for RCS Create an electrical connection between two logic modules by setting the appropriate routing switches Routing must have a predicable time All logic modules have been internally placed and routed
18
17 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Routing Algorithms Modeled on a simple rule-based router Route all nearest neighbour connections Handle those routes that are not nearest neighbour Create a list for the detail of each route, so OS can easily rip up the fail routes or removed routes If routing fails, OS restart to invoke allocation algorithm with different specifications
19
18 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Case Study An OS for RCS Prototype Design concepts that define basic abstractions & operating system services Implement concepts on Xilinx technology, including a multitasking environment, memory management unit, and device drivers & triggers to connect external I/O
20
19 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Design Concepts Reconfigurable Surface Partitioning –OS frame –User area Hardware Tasks OS modules –Host CPU –FPGA
21
20 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li OS for RCS Benchmark A set of benchmark applications to evaluate OS for RCS Not available right now, but should include these quality metrics –Area overheads –Runtime overheads –Fragmentation External fragmentation Internal fragmentation
22
21 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Implementation Concepts Target technology and Platform –XESS XSV-800 as platform –A Virtex XCV-800 SRAM-based FPGA –A set of I/O devices: Ethernet, RS232,display elements, DAC etc. FPGA Surface Partitioning –OS –frame –Task slots Task Slots Placeholders for HW tasks –Width –STI (Standard task interface) –IFCC (Inter-frame communication channels)
23
22 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li XESS Prototyping Board
24
23 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Example Function: –Generate an artificial audio signal –Display light patterns on LED bar –Receive UDP (User Datagram Protocol ) packets via the Ethernet interface and forward to RS232 interface or the audio codec –Reply to incoming ARP (Address Resolution Protocol) and ICMP (Internet Control Message Protocol) echo requests
25
24 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Summary New technology Future works –Larger FPGAs –Improved algorithms –More practicable Thanks ! Thanks !
26
25 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li References [1] Operating System----A modern Perspective By Gary Nutt [2] The Development of an Operating System for Reconfigurable computing By Grant Wigley, David KearneyUniv. of South Australia By Grant Wigley, David KearneyUniv. of South Australia [3] Reconfigurable Hardware Operating Systems: From Design Concepts to Realizations By Herbert Walder and Macor Platzner Swiss Federal Institute of Technology [4] Reconfigurable Hardware OS Prototype By Herbert Walder and Macor Platzner Swiss Federal Institute of Technology
27
26 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Questions ? ? ?
28
27 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li To achieve run-time reconfigurable, the system specification (typically, a task graph) must be partitioned into temporal exclusive segments (called reconfiguration contexts). This process is usually known as temporal partitioning. A different approach is to find an execution order for a set of tasks that meets system-design objectives (i.e., minimize the application execution time). This is known as DRL (dynamically Reconfigurable Logic) multi-context scheduling. Fine-grained or Coarse-grained
29
28 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Create a population of genomes then applies crossover and mutation to the individuals in the population to generate new individuals Stop generation when one generated solution match the solution. 3. Enhanced force directed scheduling (FDS) technique: aims at reducing the communication and gate cost through “balancing the number of nodes in each time step given overall deadline when the schedule must be completed”.
30
29 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li OS generates a table that keeps track of loaded circuits and the amount of logic they reserved OS scans that FPGA surface and looks for the amount of free logic required for the next circuit
31
30 Operating Systems for Reconfigurable Computing Systems Presented by Robin (Xuequn) Li Performance Measure Use benchmark circuits Calculate gate cost: if gates are split evenly over context Ci, the number of gates per context is the maximum number of gates per any Ci communication cost: the number of signals that need to be stored at any give time, recall the scheduling example performance: Examine the execution sequence to find maximum time needed between user clocks.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.