SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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*
 

Plus 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
 

Dernier

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Dernier (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

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

Notes de l'éditeur

  1. First step: from Specification to DFG.