SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Matlab programming project
Matlab programming projectMatlab programming project
Matlab programming projectAssignmentpedia
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLABBhavesh Shah
 
Matlab practical file
Matlab practical fileMatlab practical file
Matlab practical fileArchita Misra
 
Matlab solved problems
Matlab solved problemsMatlab solved problems
Matlab solved problemsMake Mannan
 
Writing Fast MATLAB Code
Writing Fast MATLAB CodeWriting Fast MATLAB Code
Writing Fast MATLAB CodeJia-Bin Huang
 
Matlab Graphics Tutorial
Matlab Graphics TutorialMatlab Graphics Tutorial
Matlab Graphics TutorialCheng-An Yang
 
MATLAB for Technical Computing
MATLAB for Technical ComputingMATLAB for Technical Computing
MATLAB for Technical ComputingNaveed Rehman
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab Introductionideas2ignite
 
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-expandedVivian S. Zhang
 
Csphtp1 09
Csphtp1 09Csphtp1 09
Csphtp1 09HUST
 
Lines and planes in space
Lines and planes in spaceLines and planes in space
Lines and planes in spaceFaizan Shabbir
 
Csphtp1 08
Csphtp1 08Csphtp1 08
Csphtp1 08HUST
 
Basics of MATLAB programming
Basics of MATLAB programmingBasics of MATLAB programming
Basics of MATLAB programmingRanjan Pal
 
Matlab for Chemical Engineering
Matlab for Chemical EngineeringMatlab for Chemical Engineering
Matlab for Chemical EngineeringDebarun Banerjee
 
Advanced MATLAB Tutorial for Engineers & Scientists
Advanced MATLAB Tutorial for Engineers & ScientistsAdvanced MATLAB Tutorial for Engineers & Scientists
Advanced MATLAB Tutorial for Engineers & ScientistsRay Phan
 
MATLAB Programs For Beginners. | Abhi Sharma
MATLAB Programs For Beginners. | Abhi SharmaMATLAB Programs For Beginners. | Abhi Sharma
MATLAB Programs For Beginners. | Abhi SharmaAbee Sharma
 

Mais procurados (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
 

Semelhante a 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 ProjectAssignmentpedia
 
Distributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectDistributed Radar Tracking Simulation Project
Distributed Radar Tracking Simulation ProjectAssignmentpedia
 
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 schedulingAntonio 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 Codelbergmans
 
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 codelbergmans
 
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.docxtoltonkendal
 
Higgs Boson Challenge
Higgs Boson ChallengeHiggs Boson Challenge
Higgs Boson ChallengeRaouf 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 ResearchPo-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 ProgressIBM Decision Optimization
 
Faster computation with matlab
Faster computation with matlabFaster computation with matlab
Faster computation with matlabMuhammad Alli
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_LibrarySaurabh 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 BenchmarksMarkus Scheidgen
 
My mapreduce1 presentation
My mapreduce1 presentationMy mapreduce1 presentation
My mapreduce1 presentationNoha 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
 

Semelhante a 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*
 

Mais de 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
 

Último

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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

Notas do Editor

  1. First step: from Specification to DFG.