SlideShare a Scribd company logo
POLITECNICO DI MILANO


     Core Identification for 
Reconfigurable Systems driven by 
   Specification Self­Similarity
      Reconfigurable Computing Italian Meeting 
                   19 December 2008 
       Room S01, Politecnico di Milano ­ Milan (Italy) 

        Roberto Cordone: cordone@dti.unimi.it

       Massimo Redaelli: mredaelli@elet.polimi.it
Outline
    Introduction
       General Problem
       Rationale


    Core Identification solutions
    Results
    Concluding Remarks




2
The problem

    1. Partition a specification into subsets of operations 
       (tasks)

    2. Map each task onto a compatible circuit design 
       (mode)

    3. Assign a portion of the device to each task, 
       compatibly with its mode (size, shape, 
       heterogeneity)

    4. Assign a reconfiguration time to each task

    5. Assign an execution time to each task


3
The data (1)
    A specification DFG = (O,P)
      operations O, including os, oe for start and end
      precedences P: (o, o’) means that o ends before o’ starts
    A set M of modes, characterized by
      size cm (number of CLBs, possibly shape)
      reconfiguration time dm
    A compatibility relation between modes and tasks
      a task S can be implemented in different modes (MS)
      a mode can implement different tasks



4
The data (2)
    A latency lS,m associated to each task S and compatible 
    mode m
    A set U of reconfigurable units (RUs)
      size γ u is the number of CLBs in unit u
    A scheduling time horizon T (provided by a heuristic)




5
Decision variables



    Partition O into tasks (set xS = 1 or 0 for each S ⊆ O)
    Map each used task S onto a compatible mode mS ∈MS
    Assign to each used task S a portion US ⊆ U 
    compatible with mS
    Assign to each used task S a reconfiguration start time τ S
    Assign to each used task S an execution start time tS




6
A general model (1)

      Minimize the completion time

    Subject to
          xS defines a partition of O, with singletons for os, oe 

           and no induced cyclic precedence 


           mode mS is compatible with task S

           mode mS fits into portion US



           portion US is connected (to minimize communication overhead)

           further shape constraints on portion US 

7          further compatibility constraints between mode mS and portion US
A general model (2)
    the execution follows the reconfiguration


    the precedences are respected:


    for all S and S’ such that xS = xS = 1 and

    two tasks cannot run together on the same RU


    for all S and S’ such that xS = xS = 1

    when a task is in execution, its RUs cannot be reconfigured


    for all S and S’ such that xS = xS = 1

    when a task is in reconfiguration, another task can share the 
    reconfiguration, but only using the same RUs and mode 
8
Some remarks
    The partition of O turns the DFG (O,P) into a 
    Task Dependency Graph TDG = (N,A)

    Also the TDG is acyclic (precedence constraints)

    Partitioning, mapping, placing and scheduling 
    are not independent

    The size of the search space is overwhelming:
    for each subset of operations, one must define

        a mode, out of |M| available ones

        a subset of RUs, out of |U| available ones

        a reconfiguration start time out of |T| available ones

        an execution start time out of |T| available ones

    Decomposition approach: build a partition xS independent from the 
9
The Proposed Approach ­ Rationale


     Reconfiguration times impact heavily on the final 
     solution’s latency
     Reuse the configurable modules!
     Our approach: identify recurrent structures in the 
     specification, automatically




10
The Proposed Approach


                                           DFG
              Specification
         int test_code( int io ,
         int * o1)
         {
             int a = 2, b = 10;




     Reconfigurable Implementation
                                         Partitioned DFG




11
The Proposed Approach: DFG Partitioning


     Our approach: two phases
       Template Identification
          Produce a collection of isomorphism equivalence classes, 
          each containing some isomorphic subgraphs of the 
          original specification


       Graph covering (template choice)
          Choose which among the identified templates are best 
          suitable for implementation as (re)configurable modules




12
Template identification
     Problem: finding repeated operations that get performed 
     in the specification.

     In available literature (Software Engineering): extracting 
     procedures from flat (maybe legacy) code

        Text­based matching approach (Ducasse et al. 1999, 
        Baker 1995)

        AST approach (Baxter et al. 1998)

        Source­based metrics approach (Higo et al. 2002, 2004)




13
Isomorphic graphs




    re isomorphic iff exists




    or, if directed,
●
Problems with Isomorphism
    Several problems have been investigated:
•


         Graph Isomorphism
    1.

         Subgraph Isomorphism (GT48)
    2.

         Largest Common Subgraph (GT49)
    3.


    However, we are concerned with only one graph:
•


                      Isomorphic Subgraphs
                •




    Find two isomorphic subgraphs S1 and S2 of a given 
•



                             graph G
Our problem peculiarities

The input graph is a Data 
Flow Graph. Then:
  Each operation/node has 
  an associated action;

  The inputs of every 
  operation performing a 
  non­commutative action 
  must be distinguished
The Algorithm
          Build a collection V of pairs of basic isomorphic subgraphs;
     1.

          Extract one pair (S, S’ ) from V;
     2.

               build the non­overlapping neighborhoods N (S) and N (S’ ), 
          a)
               which include the nodes adjacent, respectively, to S and S’ . If 
               any of them is empty, goto 3;
               perform a maximum cardinality bipartite matching between N 
          b)
               (S) and N (S’ );
               for each matched pair, if adding the two nodes to S and S’ 
          c)
               preserves the isomorphism, add them to S and S’ . Goto 2(a)
          Save the maximal isomorphic non­overlapping subgraphs S and S’. 
     3.

          Goto 2.




17
Sample run




18
The initialization?
Choose good starting points…

Iterate through all the edges, and create the sets of 
those with same

   Source operation o1

   Sink operation o2

   Same input order

They induce pairs of nodes which are good starting 
point for the algorithm
Structuring the output
     The algorithm returns a list of pairs:
                   { (S1, S2), (S3, S4), (S5, S6), …}

     Suppose S1 and S3 are isomorphic. Then so are S2 and 
     S4!

     Suppose S3 is isomorphic to a subgraph of S1. Then S2 
     has a subgraph isomorphic to S4!




20
 Hierarchical Template Graph 

     Size does matter. But also frequency does…




21
Template choice: metrics
     Largest Fit First
        Largest templates are best


     Most Frequent fit First
        Templates with the largest number of instances are best


     Communication Weight metrics
        E.g., #internal edges vs. #boundary edges ratio




22
Experimental Results: Reversed­tree templates
     Benchmark            Largest    Largest      #Templates
                          Template   #Instances

                              16          3           151
     AES ­ encryptblock



                              19          3           162
     AES ­ decryptblock



                              38          4           57
     DES ­ des_encrypt



     Benchmark            Largest    Largest      #Templates
                          Template   #Instances

23
Experimental Results: Free­shape templates
     Benchmark            Largest    Largest      #Templates
                          Template   #Instances

                              132         2          6790
     AES ­ encryptblock



                              147         2          11006
     AES ­ decryptblock



                              100         2          1802
     DES ­ des_encrypt



     Benchmark            Largest    Largest      #Templates
                          Template   #Instances

24
Experimental Results: Graph covering

     Benchmark            Cover %  Cover %    Cover %  CPU Time
                           LFF      MFF       Comm

                            74.3     32.7       74.1   32.5 sec
     AES ­ encryptblock



                           85.31     51.7       70.8    61 sec
     AES ­ decryptblock



                            90.5     59.6       87.8    8.3 sec
     DES ­ des_encrypt



     Benchmark            Cover %  Cover %    Cover %  CPU Time
                           LFF      MFF       Comm

25
Experimental results




26
Questions




27

More Related Content

What's hot

Matlab programming project
Matlab programming projectMatlab programming project
Matlab programming project
Assignmentpedia
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
Bhavesh Shah
 
2D Plot Matlab
2D Plot Matlab2D Plot Matlab
2D Plot Matlab
Jorge Jasso
 
Matlab introduction
Matlab introductionMatlab introduction
Matlab introduction
Satish Gummadi
 
matlab
matlabmatlab
matlab
Farhan Ahmed
 
Matlab practical file
Matlab practical fileMatlab practical file
Matlab practical file
Archita Misra
 
Matlab solved problems
Matlab solved problemsMatlab solved problems
Matlab solved problems
Make Mannan
 
Writing Fast MATLAB Code
Writing Fast MATLAB CodeWriting Fast MATLAB Code
Writing Fast MATLAB Code
Jia-Bin Huang
 
Matlab Graphics Tutorial
Matlab Graphics TutorialMatlab Graphics Tutorial
Matlab Graphics Tutorial
Cheng-An Yang
 
MATLAB for Technical Computing
MATLAB for Technical ComputingMATLAB for Technical Computing
MATLAB for Technical Computing
Naveed Rehman
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab Introduction
ideas2ignite
 
Nyc open-data-2015-andvanced-sklearn-expanded
Nyc open-data-2015-andvanced-sklearn-expandedNyc open-data-2015-andvanced-sklearn-expanded
Nyc open-data-2015-andvanced-sklearn-expanded
Vivian S. Zhang
 
Csphtp1 09
Csphtp1 09Csphtp1 09
Csphtp1 09
HUST
 
Lines and planes in space
Lines and planes in spaceLines and planes in space
Lines and planes in space
Faizan Shabbir
 
Csphtp1 08
Csphtp1 08Csphtp1 08
Csphtp1 08
HUST
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
Damian T. Gordon
 
Basics of MATLAB programming
Basics of MATLAB programmingBasics of MATLAB programming
Basics of MATLAB programming
Ranjan Pal
 
Matlab for Chemical Engineering
Matlab for Chemical EngineeringMatlab for Chemical Engineering
Matlab for Chemical Engineering
Debarun Banerjee
 
Advanced MATLAB Tutorial for Engineers & Scientists
Advanced MATLAB Tutorial for Engineers & ScientistsAdvanced MATLAB Tutorial for Engineers & Scientists
Advanced MATLAB Tutorial for Engineers & Scientists
Ray Phan
 
MATLAB Programs For Beginners. | Abhi Sharma
MATLAB Programs For Beginners. | Abhi SharmaMATLAB Programs For Beginners. | Abhi Sharma
MATLAB Programs For Beginners. | Abhi Sharma
Abee Sharma
 

What's hot (20)

Matlab programming project
Matlab programming projectMatlab programming project
Matlab programming project
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
2D Plot Matlab
2D Plot Matlab2D Plot Matlab
2D Plot Matlab
 
Matlab introduction
Matlab introductionMatlab introduction
Matlab introduction
 
matlab
matlabmatlab
matlab
 
Matlab practical file
Matlab practical fileMatlab practical file
Matlab practical file
 
Matlab solved problems
Matlab solved problemsMatlab solved problems
Matlab solved problems
 
Writing Fast MATLAB Code
Writing Fast MATLAB CodeWriting Fast MATLAB Code
Writing Fast MATLAB Code
 
Matlab Graphics Tutorial
Matlab Graphics TutorialMatlab Graphics Tutorial
Matlab Graphics Tutorial
 
MATLAB for Technical Computing
MATLAB for Technical ComputingMATLAB for Technical Computing
MATLAB for Technical Computing
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab Introduction
 
Nyc open-data-2015-andvanced-sklearn-expanded
Nyc open-data-2015-andvanced-sklearn-expandedNyc open-data-2015-andvanced-sklearn-expanded
Nyc open-data-2015-andvanced-sklearn-expanded
 
Csphtp1 09
Csphtp1 09Csphtp1 09
Csphtp1 09
 
Lines and planes in space
Lines and planes in spaceLines and planes in space
Lines and planes in space
 
Csphtp1 08
Csphtp1 08Csphtp1 08
Csphtp1 08
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
Basics of MATLAB programming
Basics of MATLAB programmingBasics of MATLAB programming
Basics of MATLAB programming
 
Matlab for Chemical Engineering
Matlab for Chemical EngineeringMatlab for Chemical Engineering
Matlab for Chemical Engineering
 
Advanced MATLAB Tutorial for Engineers & Scientists
Advanced MATLAB Tutorial for Engineers & ScientistsAdvanced MATLAB Tutorial for Engineers & Scientists
Advanced MATLAB Tutorial for Engineers & Scientists
 
MATLAB Programs For Beginners. | Abhi Sharma
MATLAB Programs For Beginners. | Abhi SharmaMATLAB Programs For Beginners. | Abhi Sharma
MATLAB Programs For Beginners. | Abhi Sharma
 

Similar to RCIM 2008 - Modello Generale

SolidWorks Simulation - How Can I... and How Do I... with SolidWorks Simulation?
SolidWorks Simulation - How Can I... and How Do I... with SolidWorks Simulation?SolidWorks Simulation - How Can I... and How Do I... with SolidWorks Simulation?
SolidWorks Simulation - How Can I... and How Do I... with SolidWorks Simulation?
Hawk Ridge Systems
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation Project
Assignmentpedia
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation Project
Assignmentpedia
 
Presentation_Parallel GRASP algorithm for job shop scheduling
Presentation_Parallel GRASP algorithm for job shop schedulingPresentation_Parallel GRASP algorithm for job shop scheduling
Presentation_Parallel GRASP algorithm for job shop scheduling
Antonio Maria Fiscarelli
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
lbergmans
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet code
lbergmans
 
IEEE CLOUD \'11
IEEE CLOUD \'11IEEE CLOUD \'11
IEEE CLOUD \'11
David Ribeiro Alves
 
Green scheduling
Green schedulingGreen scheduling
Green scheduling
Vincenzo De Maio
 
EELE 5331 Digital ASIC DesignLab ManualDr. Yushi Zhou.docx
EELE 5331 Digital ASIC DesignLab ManualDr. Yushi Zhou.docxEELE 5331 Digital ASIC DesignLab ManualDr. Yushi Zhou.docx
EELE 5331 Digital ASIC DesignLab ManualDr. Yushi Zhou.docx
toltonkendal
 
Higgs Boson Challenge
Higgs Boson ChallengeHiggs Boson Challenge
Higgs Boson Challenge
Raouf KESKES
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
Sameh El-Ashry
 
My Postdoctoral Research
My Postdoctoral ResearchMy Postdoctoral Research
My Postdoctoral Research
Po-Ting Wu
 
Mixed Integer Programming: Analyzing 12 Years of Progress
Mixed Integer Programming: Analyzing 12 Years of ProgressMixed Integer Programming: Analyzing 12 Years of Progress
Mixed Integer Programming: Analyzing 12 Years of Progress
IBM Decision Optimization
 
Faster computation with matlab
Faster computation with matlabFaster computation with matlab
Faster computation with matlab
Muhammad Alli
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_Library
Saurabh Chauhan
 
Generation of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksGeneration of Random EMF Models for Benchmarks
Generation of Random EMF Models for Benchmarks
Markus Scheidgen
 
My mapreduce1 presentation
My mapreduce1 presentationMy mapreduce1 presentation
My mapreduce1 presentation
Noha Elprince
 
C++ Data-flow Parallelism sounds great! But how practical is it? Let’s see ho...
C++ Data-flow Parallelism sounds great! But how practical is it? Let’s see ho...C++ Data-flow Parallelism sounds great! But how practical is it? Let’s see ho...
C++ Data-flow Parallelism sounds great! But how practical is it? Let’s see ho...
Jason Hearne-McGuiness
 
Computer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming IComputer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming I
💻 Anton Gerdelan
 
Data Analytics and Simulation in Parallel with MATLAB*
Data Analytics and Simulation in Parallel with MATLAB*Data Analytics and Simulation in Parallel with MATLAB*
Data Analytics and Simulation in Parallel with MATLAB*
Intel® Software
 

Similar to RCIM 2008 - Modello Generale (20)

SolidWorks Simulation - How Can I... and How Do I... with SolidWorks Simulation?
SolidWorks Simulation - How Can I... and How Do I... with SolidWorks Simulation?SolidWorks Simulation - How Can I... and How Do I... with SolidWorks Simulation?
SolidWorks Simulation - How Can I... and How Do I... with SolidWorks Simulation?
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation Project
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation Project
 
Presentation_Parallel GRASP algorithm for job shop scheduling
Presentation_Parallel GRASP algorithm for job shop schedulingPresentation_Parallel GRASP algorithm for job shop scheduling
Presentation_Parallel GRASP algorithm for job shop scheduling
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet code
 
IEEE CLOUD \'11
IEEE CLOUD \'11IEEE CLOUD \'11
IEEE CLOUD \'11
 
Green scheduling
Green schedulingGreen scheduling
Green scheduling
 
EELE 5331 Digital ASIC DesignLab ManualDr. Yushi Zhou.docx
EELE 5331 Digital ASIC DesignLab ManualDr. Yushi Zhou.docxEELE 5331 Digital ASIC DesignLab ManualDr. Yushi Zhou.docx
EELE 5331 Digital ASIC DesignLab ManualDr. Yushi Zhou.docx
 
Higgs Boson Challenge
Higgs Boson ChallengeHiggs Boson Challenge
Higgs Boson Challenge
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
 
My Postdoctoral Research
My Postdoctoral ResearchMy Postdoctoral Research
My Postdoctoral Research
 
Mixed Integer Programming: Analyzing 12 Years of Progress
Mixed Integer Programming: Analyzing 12 Years of ProgressMixed Integer Programming: Analyzing 12 Years of Progress
Mixed Integer Programming: Analyzing 12 Years of Progress
 
Faster computation with matlab
Faster computation with matlabFaster computation with matlab
Faster computation with matlab
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_Library
 
Generation of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksGeneration of Random EMF Models for Benchmarks
Generation of Random EMF Models for Benchmarks
 
My mapreduce1 presentation
My mapreduce1 presentationMy mapreduce1 presentation
My mapreduce1 presentation
 
C++ Data-flow Parallelism sounds great! But how practical is it? Let’s see ho...
C++ Data-flow Parallelism sounds great! But how practical is it? Let’s see ho...C++ Data-flow Parallelism sounds great! But how practical is it? Let’s see ho...
C++ Data-flow Parallelism sounds great! But how practical is it? Let’s see ho...
 
Computer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming IComputer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming I
 
Data Analytics and Simulation in Parallel with MATLAB*
Data Analytics and Simulation in Parallel with MATLAB*Data Analytics and Simulation in Parallel with MATLAB*
Data Analytics and Simulation in Parallel with MATLAB*
 

More from Marco Santambrogio

RCIM 2008 - - hArtes Atmel
RCIM 2008 - - hArtes AtmelRCIM 2008 - - hArtes Atmel
RCIM 2008 - - hArtes Atmel
Marco Santambrogio
 
RCIM 2008 - - UniCal
RCIM 2008 - - UniCalRCIM 2008 - - UniCal
RCIM 2008 - - UniCal
Marco Santambrogio
 
RCIM 2008 - - ALTERA
RCIM 2008 - - ALTERARCIM 2008 - - ALTERA
RCIM 2008 - - ALTERA
Marco Santambrogio
 
DHow2 - L6 VHDL
DHow2 - L6 VHDLDHow2 - L6 VHDL
DHow2 - L6 VHDL
Marco Santambrogio
 
RCIM 2008 - - ALaRI
RCIM 2008 - - ALaRIRCIM 2008 - - ALaRI
RCIM 2008 - - ALaRI
Marco Santambrogio
 
RCIM 2008 - Modello Scheduling
RCIM 2008 - Modello SchedulingRCIM 2008 - Modello Scheduling
RCIM 2008 - Modello Scheduling
Marco Santambrogio
 
RCIM 2008 - HLR
RCIM 2008 - HLRRCIM 2008 - HLR
RCIM 2008 - HLR
Marco Santambrogio
 
RCIM 2008 - Allocation Relocation
RCIM 2008 - Allocation RelocationRCIM 2008 - Allocation Relocation
RCIM 2008 - Allocation Relocation
Marco Santambrogio
 
RCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_FerraraRCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_Ferrara
Marco Santambrogio
 
RCIM 2008 - Janus
RCIM 2008 - JanusRCIM 2008 - Janus
RCIM 2008 - Janus
Marco Santambrogio
 
RCIM 2008 - Intro
RCIM 2008 - IntroRCIM 2008 - Intro
RCIM 2008 - Intro
Marco Santambrogio
 
RCW@DEI - ADL
RCW@DEI - ADLRCW@DEI - ADL
RCW@DEI - ADL
Marco Santambrogio
 
RCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPcRCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPc
Marco Santambrogio
 

More from Marco Santambrogio (20)

RCIM 2008 - - hArtes Atmel
RCIM 2008 - - hArtes AtmelRCIM 2008 - - hArtes Atmel
RCIM 2008 - - hArtes Atmel
 
RCIM 2008 - - UniCal
RCIM 2008 - - UniCalRCIM 2008 - - UniCal
RCIM 2008 - - UniCal
 
RCIM 2008 - - ALTERA
RCIM 2008 - - ALTERARCIM 2008 - - ALTERA
RCIM 2008 - - ALTERA
 
DHow2 - L6 VHDL
DHow2 - L6 VHDLDHow2 - L6 VHDL
DHow2 - L6 VHDL
 
DHow2 - L6 Ant
DHow2 - L6 AntDHow2 - L6 Ant
DHow2 - L6 Ant
 
DHow2 - L5
DHow2 - L5DHow2 - L5
DHow2 - L5
 
RCIM 2008 - - ALaRI
RCIM 2008 - - ALaRIRCIM 2008 - - ALaRI
RCIM 2008 - - ALaRI
 
RCIM 2008 - Modello Scheduling
RCIM 2008 - Modello SchedulingRCIM 2008 - Modello Scheduling
RCIM 2008 - Modello Scheduling
 
RCIM 2008 - HLR
RCIM 2008 - HLRRCIM 2008 - HLR
RCIM 2008 - HLR
 
RCIM 2008 -- EHW
RCIM 2008 -- EHWRCIM 2008 -- EHW
RCIM 2008 -- EHW
 
RCIM 2008 - Allocation Relocation
RCIM 2008 - Allocation RelocationRCIM 2008 - Allocation Relocation
RCIM 2008 - Allocation Relocation
 
RCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_FerraraRCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_Ferrara
 
RCIM 2008 - Janus
RCIM 2008 - JanusRCIM 2008 - Janus
RCIM 2008 - Janus
 
RCIM 2008 - Intro
RCIM 2008 - IntroRCIM 2008 - Intro
RCIM 2008 - Intro
 
DHow2 - L2
DHow2 - L2DHow2 - L2
DHow2 - L2
 
DHow2 - L4
DHow2 - L4DHow2 - L4
DHow2 - L4
 
DHow2 - L1
DHow2 - L1DHow2 - L1
DHow2 - L1
 
RCW@DEI - Treasure hunt
RCW@DEI - Treasure huntRCW@DEI - Treasure hunt
RCW@DEI - Treasure hunt
 
RCW@DEI - ADL
RCW@DEI - ADLRCW@DEI - ADL
RCW@DEI - ADL
 
RCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPcRCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPc
 

Recently uploaded

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 

Recently uploaded (20)

Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 

RCIM 2008 - Modello Generale

  • 1. POLITECNICO DI MILANO Core Identification for  Reconfigurable Systems driven by  Specification Self­Similarity Reconfigurable Computing Italian Meeting  19 December 2008  Room S01, Politecnico di Milano ­ Milan (Italy)  Roberto Cordone: cordone@dti.unimi.it Massimo Redaelli: mredaelli@elet.polimi.it
  • 2. Outline Introduction General Problem Rationale Core Identification solutions Results Concluding Remarks 2
  • 3. The problem 1. Partition a specification into subsets of operations  (tasks) 2. Map each task onto a compatible circuit design  (mode) 3. Assign a portion of the device to each task,  compatibly with its mode (size, shape,  heterogeneity) 4. Assign a reconfiguration time to each task 5. Assign an execution time to each task 3
  • 4. The data (1) A specification DFG = (O,P) operations O, including os, oe for start and end precedences P: (o, o’) means that o ends before o’ starts A set M of modes, characterized by size cm (number of CLBs, possibly shape) reconfiguration time dm A compatibility relation between modes and tasks a task S can be implemented in different modes (MS) a mode can implement different tasks 4
  • 5. The data (2) A latency lS,m associated to each task S and compatible  mode m A set U of reconfigurable units (RUs) size γ u is the number of CLBs in unit u A scheduling time horizon T (provided by a heuristic) 5
  • 6. Decision variables Partition O into tasks (set xS = 1 or 0 for each S ⊆ O) Map each used task S onto a compatible mode mS ∈MS Assign to each used task S a portion US ⊆ U  compatible with mS Assign to each used task S a reconfiguration start time τ S Assign to each used task S an execution start time tS 6
  • 7. A general model (1) Minimize the completion time Subject to xS defines a partition of O, with singletons for os, oe  and no induced cyclic precedence  mode mS is compatible with task S mode mS fits into portion US portion US is connected (to minimize communication overhead) further shape constraints on portion US  7 further compatibility constraints between mode mS and portion US
  • 8. A general model (2) the execution follows the reconfiguration the precedences are respected: for all S and S’ such that xS = xS = 1 and two tasks cannot run together on the same RU for all S and S’ such that xS = xS = 1 when a task is in execution, its RUs cannot be reconfigured for all S and S’ such that xS = xS = 1 when a task is in reconfiguration, another task can share the  reconfiguration, but only using the same RUs and mode  8
  • 9. Some remarks The partition of O turns the DFG (O,P) into a  Task Dependency Graph TDG = (N,A) Also the TDG is acyclic (precedence constraints) Partitioning, mapping, placing and scheduling  are not independent The size of the search space is overwhelming: for each subset of operations, one must define a mode, out of |M| available ones a subset of RUs, out of |U| available ones a reconfiguration start time out of |T| available ones an execution start time out of |T| available ones Decomposition approach: build a partition xS independent from the  9
  • 10. The Proposed Approach ­ Rationale Reconfiguration times impact heavily on the final  solution’s latency Reuse the configurable modules! Our approach: identify recurrent structures in the  specification, automatically 10
  • 11. The Proposed Approach DFG Specification int test_code( int io , int * o1) { int a = 2, b = 10; Reconfigurable Implementation Partitioned DFG 11
  • 12. The Proposed Approach: DFG Partitioning Our approach: two phases Template Identification Produce a collection of isomorphism equivalence classes,  each containing some isomorphic subgraphs of the  original specification Graph covering (template choice) Choose which among the identified templates are best  suitable for implementation as (re)configurable modules 12
  • 13. Template identification Problem: finding repeated operations that get performed  in the specification. In available literature (Software Engineering): extracting  procedures from flat (maybe legacy) code Text­based matching approach (Ducasse et al. 1999,  Baker 1995) AST approach (Baxter et al. 1998) Source­based metrics approach (Higo et al. 2002, 2004) 13
  • 14. Isomorphic graphs re isomorphic iff exists or, if directed, ●
  • 15. Problems with Isomorphism Several problems have been investigated: • Graph Isomorphism 1. Subgraph Isomorphism (GT48) 2. Largest Common Subgraph (GT49) 3. However, we are concerned with only one graph: • Isomorphic Subgraphs • Find two isomorphic subgraphs S1 and S2 of a given  • graph G
  • 16. Our problem peculiarities The input graph is a Data  Flow Graph. Then: Each operation/node has  an associated action; The inputs of every  operation performing a  non­commutative action  must be distinguished
  • 17. The Algorithm Build a collection V of pairs of basic isomorphic subgraphs; 1. Extract one pair (S, S’ ) from V; 2. build the non­overlapping neighborhoods N (S) and N (S’ ),  a) which include the nodes adjacent, respectively, to S and S’ . If  any of them is empty, goto 3; perform a maximum cardinality bipartite matching between N  b) (S) and N (S’ ); for each matched pair, if adding the two nodes to S and S’  c) preserves the isomorphism, add them to S and S’ . Goto 2(a) Save the maximal isomorphic non­overlapping subgraphs S and S’.  3. Goto 2. 17
  • 19. The initialization? Choose good starting points… Iterate through all the edges, and create the sets of  those with same Source operation o1 Sink operation o2 Same input order They induce pairs of nodes which are good starting  point for the algorithm
  • 20. Structuring the output The algorithm returns a list of pairs: { (S1, S2), (S3, S4), (S5, S6), …} Suppose S1 and S3 are isomorphic. Then so are S2 and  S4! Suppose S3 is isomorphic to a subgraph of S1. Then S2  has a subgraph isomorphic to S4! 20
  • 21.  Hierarchical Template Graph  Size does matter. But also frequency does… 21
  • 22. Template choice: metrics Largest Fit First Largest templates are best Most Frequent fit First Templates with the largest number of instances are best Communication Weight metrics E.g., #internal edges vs. #boundary edges ratio 22
  • 23. Experimental Results: Reversed­tree templates Benchmark Largest Largest  #Templates Template #Instances 16 3 151 AES ­ encryptblock 19 3 162 AES ­ decryptblock 38 4 57 DES ­ des_encrypt Benchmark Largest Largest  #Templates Template #Instances 23
  • 24. Experimental Results: Free­shape templates Benchmark Largest  Largest  #Templates Template #Instances 132 2 6790 AES ­ encryptblock 147 2 11006 AES ­ decryptblock 100 2 1802 DES ­ des_encrypt Benchmark Largest  Largest  #Templates Template #Instances 24
  • 25. Experimental Results: Graph covering Benchmark Cover %  Cover %  Cover %  CPU Time  LFF  MFF Comm 74.3 32.7 74.1 32.5 sec AES ­ encryptblock 85.31 51.7 70.8 61 sec AES ­ decryptblock 90.5 59.6 87.8 8.3 sec DES ­ des_encrypt Benchmark Cover %  Cover %  Cover %  CPU Time  LFF  MFF Comm 25

Editor's Notes

  1. First step: from Specification to DFG.