SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Matrix Multiplication using
         SkeTo and HTA
     June 10, 2010 NII weekly discussion
                Le Duc Tung




1
Content
     Measurement of speedup of Matrix
     multiplication using SkeTo and HTA

     Early knowledge for developing
     systematically efficient HTA algorithmics




2
 Parallel Alogrithm of inner product based
     matrix multiplication is from the paper:

    “A compositional Framework for Developing
      Parallel Programs on Two-Dimensional
      Arrays” – Kento Emoto, Zhenjiang Hu, et al.




3
Inner product based MM
    method
     A and B are too column vectors
     Inner Product (IProd) of A and B is the
     following:




4
Inner product based MM
    method
                                  all_redr operator




                                  all_redc operator




5
          Zipwithiprod operator
Alg 1: Parallel Algorithm for
      SkeTo
             a1,1 a1,2 … a1,n                          A1 A1 … A1
                                     all_redr
             a2,1 a2,2 … a2,n                          A2 A2 … A2
    A=




                                                        …

                                                             …


                                                                        …
              …

                     …



                             …
             an,1 an,2 … an,n                          An An … An
             b1,1 b1,2 … b1,n                          B1 B 2 … B n
                                     all_redc
             b2,1 b2,2 … b2,n                          B1 B 2 … B n
    B=




                                                        …

                                                             …


                                                                        …
              …

                     …



                             …

             bn,1 bn,2 … bn,n                          B1 B 2 … B n
    Where:
               Ai = (ai,1 , ai,2 , ai,3 ,… , ai,n ), i = 1,2, … n
               Bj = (b1,j , b2,j , b3,j ,… , Bn,j ), j = 1,2, … n
     all_redr = scanr(<< , >>)             o    scan(>>, Bsd)       o   map|.|
     all_redc = scanr(>> , <<)              o   scan(Abv, >>)       o   map|.|
               (a)   << (b) = (a)
               (a)   >> (b) = (b)
               (a)   BSD (b) = (a, b)
6              (a)   ABV (b) = (a, b)
Alg 1: Parallel Algorithm for
     SkeTo
                       A1 A1 … A1                B1 B 2 … B n
                       A2 A2 … A2                B1 B 2 … B n
A * B = Zipwithiprod



                        …
                              …


                                    …



                                                 …
                                                       …


                                                            …
                       An An … An                B1 B 2 … B n

                       (A1 . B1 )   (A1 . B2 )     …   (A1 . Bn )
                       (A2 . B1 )   (A2 . B2 )     …   (A2 . Bn )
                 =
                          …



                                    …




                                                   …
                       (An . B1 )   (An . B2 )     …   (An . Bn )




7
Alg 2: Parallel Algorithm for
           HTA
           all_redr = hmap(intile_repr)                         o   reduce(Bsd, row_dim)                 o   map |.|
           all_redc = hmap(intile_repc)                         o   reduce(Abv, col_dim)                 o   map |.|
           Zipwithiprod = hmap(Iprod) all_redr all_redc


        (a1)    (a2)      (a3)    (a4)                              (a1, a2, a3, a4)       ()     (a1, a2, a3, a4)       ()
        (a5)    (a6)      (a7 )   (a8)         reduce(bsd,1)        (a5, a6, a7, a8)       ()     (a5, a6, a7, a8)       ()

        (a9)   (a10)      (a11) (a12)                               (a9, a10, a11, a12)    ()     (a9, a10, a11, a12)    ()
        (a13) (a14)       (a15)   (a16)                             (a13, a14, a15, a16)   ()     (a13, a14, a15, a16)   ()




    (a1, a2, a3, a4)        (a1, a2, a3, a4)         (a1, a2, a3, a4)       (a1, a2, a3, a4)
    (a5, a6, a7, a8)        (a5, a6, a7, a8)         (a5, a6, a7, a8)       (a5, a6, a7, a8)

    (a9, a10, a11, a12)     (a9, a10, a11, a12)      (a9, a10, a11, a12)    (a9, a10, a11, a12)                intile_repr
    (a13, a14, a15, a16) (a13, a14, a15, a16)       (a13, a14, a15, a16)   (a13, a14, a15, a16)


8
Alg 3: Recursive Blocked MM
    using HTAs




9
Alg 1 vs. Alg 2 vs. Alg 3




10
Early knowledge for developing systematically
         efficient HTA algorithmics

• Formalize HTA data structure
   • Use notations in Functional Language
• A fixed set of parallel skeletons
   • Map, Reduce, MapReduce, Scan, ...
• A systematic programming methodology
   • Develop efficient and correct parallel programs
• An automatic optimization mechanism
   • Eliminate inefficient: compositional and nested uses
Formal Definition of HTA

• Constructive Algorithmics
• List, Matrix: not recursive
• Tree (Maybe is recursive)
• HTA is a recursive data structure
   • How to construct it recursively?
Systematic programming
        methodology

• Extend the result of two-dimension arrays.
• Almost homomorphism and accumulative parallel
  skeleton is very useful

   • The paper: “An Accumulative Parallel Skeleton
     for All”
Automatic optimization
         mechanism
• Tupling
  • ???
• Fusion
  • Fuse several skeletons into one.
  • Eliminate unnecessary intermediate data
    structures passed between skeletons.

Weitere ähnliche Inhalte

Ähnlich wie June10 2010-os

Speeding Up Distributed Machine Learning Using Codes
Speeding Up Distributed Machine Learning Using CodesSpeeding Up Distributed Machine Learning Using Codes
Speeding Up Distributed Machine Learning Using CodesNAVER Engineering
 
Monfort Emath Paper2_printed
Monfort Emath Paper2_printedMonfort Emath Paper2_printed
Monfort Emath Paper2_printedFelicia Shirui
 
Kekre’s hybrid wavelet transform technique with dct, walsh, hartley and kekre’s
Kekre’s hybrid wavelet transform technique with dct, walsh, hartley and kekre’sKekre’s hybrid wavelet transform technique with dct, walsh, hartley and kekre’s
Kekre’s hybrid wavelet transform technique with dct, walsh, hartley and kekre’sIAEME Publication
 
State equations model based on modulo 2 arithmetic and its applciation on rec...
State equations model based on modulo 2 arithmetic and its applciation on rec...State equations model based on modulo 2 arithmetic and its applciation on rec...
State equations model based on modulo 2 arithmetic and its applciation on rec...Anax Fotopoulos
 
State Equations Model Based On Modulo 2 Arithmetic And Its Applciation On Rec...
State Equations Model Based On Modulo 2 Arithmetic And Its Applciation On Rec...State Equations Model Based On Modulo 2 Arithmetic And Its Applciation On Rec...
State Equations Model Based On Modulo 2 Arithmetic And Its Applciation On Rec...Anax_Fotopoulos
 
Python for Scientific Computing -- Ricardo Cruz
Python for Scientific Computing -- Ricardo CruzPython for Scientific Computing -- Ricardo Cruz
Python for Scientific Computing -- Ricardo Cruzrpmcruz
 
Graphs in the Database: Rdbms In The Social Networks Age
Graphs in the Database: Rdbms In The Social Networks AgeGraphs in the Database: Rdbms In The Social Networks Age
Graphs in the Database: Rdbms In The Social Networks AgeLorenzo Alberton
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting classgiridaroori
 
KARNAUGH MAP(K-MAP)
KARNAUGH MAP(K-MAP)KARNAUGH MAP(K-MAP)
KARNAUGH MAP(K-MAP)mihir jain
 
Solutions manual for logic and computer design fundamentals 5th edition by ma...
Solutions manual for logic and computer design fundamentals 5th edition by ma...Solutions manual for logic and computer design fundamentals 5th edition by ma...
Solutions manual for logic and computer design fundamentals 5th edition by ma...Beckham000
 

Ähnlich wie June10 2010-os (20)

Speeding Up Distributed Machine Learning Using Codes
Speeding Up Distributed Machine Learning Using CodesSpeeding Up Distributed Machine Learning Using Codes
Speeding Up Distributed Machine Learning Using Codes
 
Maths formulas
Maths formulasMaths formulas
Maths formulas
 
Seminar psu 20.10.2013
Seminar psu 20.10.2013Seminar psu 20.10.2013
Seminar psu 20.10.2013
 
Monfort Emath Paper2_printed
Monfort Emath Paper2_printedMonfort Emath Paper2_printed
Monfort Emath Paper2_printed
 
เซต
เซตเซต
เซต
 
Aj24247254
Aj24247254Aj24247254
Aj24247254
 
Kekre’s hybrid wavelet transform technique with dct, walsh, hartley and kekre’s
Kekre’s hybrid wavelet transform technique with dct, walsh, hartley and kekre’sKekre’s hybrid wavelet transform technique with dct, walsh, hartley and kekre’s
Kekre’s hybrid wavelet transform technique with dct, walsh, hartley and kekre’s
 
State equations model based on modulo 2 arithmetic and its applciation on rec...
State equations model based on modulo 2 arithmetic and its applciation on rec...State equations model based on modulo 2 arithmetic and its applciation on rec...
State equations model based on modulo 2 arithmetic and its applciation on rec...
 
State Equations Model Based On Modulo 2 Arithmetic And Its Applciation On Rec...
State Equations Model Based On Modulo 2 Arithmetic And Its Applciation On Rec...State Equations Model Based On Modulo 2 Arithmetic And Its Applciation On Rec...
State Equations Model Based On Modulo 2 Arithmetic And Its Applciation On Rec...
 
Week2
Week2Week2
Week2
 
Python for Scientific Computing -- Ricardo Cruz
Python for Scientific Computing -- Ricardo CruzPython for Scientific Computing -- Ricardo Cruz
Python for Scientific Computing -- Ricardo Cruz
 
Graphs in the Database: Rdbms In The Social Networks Age
Graphs in the Database: Rdbms In The Social Networks AgeGraphs in the Database: Rdbms In The Social Networks Age
Graphs in the Database: Rdbms In The Social Networks Age
 
Lec1
Lec1Lec1
Lec1
 
dynamic programming Rod cutting class
dynamic programming Rod cutting classdynamic programming Rod cutting class
dynamic programming Rod cutting class
 
KARNAUGH MAP(K-MAP)
KARNAUGH MAP(K-MAP)KARNAUGH MAP(K-MAP)
KARNAUGH MAP(K-MAP)
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 3
Unit 3Unit 3
Unit 3
 
Solutions manual for logic and computer design fundamentals 5th edition by ma...
Solutions manual for logic and computer design fundamentals 5th edition by ma...Solutions manual for logic and computer design fundamentals 5th edition by ma...
Solutions manual for logic and computer design fundamentals 5th edition by ma...
 
LalitBDA2015V3
LalitBDA2015V3LalitBDA2015V3
LalitBDA2015V3
 
RubyConf Argentina 2011
RubyConf Argentina 2011RubyConf Argentina 2011
RubyConf Argentina 2011
 

Kürzlich hochgeladen

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

June10 2010-os

  • 1. Matrix Multiplication using SkeTo and HTA June 10, 2010 NII weekly discussion Le Duc Tung 1
  • 2. Content  Measurement of speedup of Matrix multiplication using SkeTo and HTA  Early knowledge for developing systematically efficient HTA algorithmics 2
  • 3.  Parallel Alogrithm of inner product based matrix multiplication is from the paper: “A compositional Framework for Developing Parallel Programs on Two-Dimensional Arrays” – Kento Emoto, Zhenjiang Hu, et al. 3
  • 4. Inner product based MM method  A and B are too column vectors  Inner Product (IProd) of A and B is the following: 4
  • 5. Inner product based MM method all_redr operator all_redc operator 5 Zipwithiprod operator
  • 6. Alg 1: Parallel Algorithm for SkeTo a1,1 a1,2 … a1,n A1 A1 … A1 all_redr a2,1 a2,2 … a2,n A2 A2 … A2 A= … … … … … … an,1 an,2 … an,n An An … An b1,1 b1,2 … b1,n B1 B 2 … B n all_redc b2,1 b2,2 … b2,n B1 B 2 … B n B= … … … … … … bn,1 bn,2 … bn,n B1 B 2 … B n Where: Ai = (ai,1 , ai,2 , ai,3 ,… , ai,n ), i = 1,2, … n Bj = (b1,j , b2,j , b3,j ,… , Bn,j ), j = 1,2, … n all_redr = scanr(<< , >>) o scan(>>, Bsd) o map|.| all_redc = scanr(>> , <<) o scan(Abv, >>) o map|.| (a) << (b) = (a) (a) >> (b) = (b) (a) BSD (b) = (a, b) 6 (a) ABV (b) = (a, b)
  • 7. Alg 1: Parallel Algorithm for SkeTo A1 A1 … A1 B1 B 2 … B n A2 A2 … A2 B1 B 2 … B n A * B = Zipwithiprod … … … … … … An An … An B1 B 2 … B n (A1 . B1 ) (A1 . B2 ) … (A1 . Bn ) (A2 . B1 ) (A2 . B2 ) … (A2 . Bn ) = … … … (An . B1 ) (An . B2 ) … (An . Bn ) 7
  • 8. Alg 2: Parallel Algorithm for HTA all_redr = hmap(intile_repr) o reduce(Bsd, row_dim) o map |.| all_redc = hmap(intile_repc) o reduce(Abv, col_dim) o map |.| Zipwithiprod = hmap(Iprod) all_redr all_redc (a1) (a2) (a3) (a4) (a1, a2, a3, a4) () (a1, a2, a3, a4) () (a5) (a6) (a7 ) (a8) reduce(bsd,1) (a5, a6, a7, a8) () (a5, a6, a7, a8) () (a9) (a10) (a11) (a12) (a9, a10, a11, a12) () (a9, a10, a11, a12) () (a13) (a14) (a15) (a16) (a13, a14, a15, a16) () (a13, a14, a15, a16) () (a1, a2, a3, a4) (a1, a2, a3, a4) (a1, a2, a3, a4) (a1, a2, a3, a4) (a5, a6, a7, a8) (a5, a6, a7, a8) (a5, a6, a7, a8) (a5, a6, a7, a8) (a9, a10, a11, a12) (a9, a10, a11, a12) (a9, a10, a11, a12) (a9, a10, a11, a12) intile_repr (a13, a14, a15, a16) (a13, a14, a15, a16) (a13, a14, a15, a16) (a13, a14, a15, a16) 8
  • 9. Alg 3: Recursive Blocked MM using HTAs 9
  • 10. Alg 1 vs. Alg 2 vs. Alg 3 10
  • 11. Early knowledge for developing systematically efficient HTA algorithmics • Formalize HTA data structure • Use notations in Functional Language • A fixed set of parallel skeletons • Map, Reduce, MapReduce, Scan, ... • A systematic programming methodology • Develop efficient and correct parallel programs • An automatic optimization mechanism • Eliminate inefficient: compositional and nested uses
  • 12. Formal Definition of HTA • Constructive Algorithmics • List, Matrix: not recursive • Tree (Maybe is recursive) • HTA is a recursive data structure • How to construct it recursively?
  • 13. Systematic programming methodology • Extend the result of two-dimension arrays. • Almost homomorphism and accumulative parallel skeleton is very useful • The paper: “An Accumulative Parallel Skeleton for All”
  • 14. Automatic optimization mechanism • Tupling • ??? • Fusion • Fuse several skeletons into one. • Eliminate unnecessary intermediate data structures passed between skeletons.

Hinweis der Redaktion