際際滷

際際滷Share a Scribd company logo
Cloud Computing, SOA and Web 2.0
    An Inevitable Convergence

           DAVID KARAM
Answers We Were Aiming For

  WHY SHOULD I THINK OF MY COMPUTATIONAL
   SOFTWARE AS A COMPUTATIONAL SERVICE?

   HOW CAN AND WHEN SHOULD I OUTSOURCE
       COMPUTATIONS TO THE CLOUD?

HOW CAN I LEVERAGE WEB 2.0 TO BRIDGE THE GAP
 BETWEEN ALGORITHMS AND SCIENTIFIC USERS?
Neural Networks  Quick Intro

 Algorithms for artificial intelligence


 Typical applications
   System identification e.g. Stock prediction

   Control  e.g. Robotics

   Data mining  e.g. Knowledge discovery in databases
Exposing Kernels as Services

  WHY SHOULD I THINK OF MY COMPUTATIONAL
   SOFTWARE AS A COMPUTATIONAL SERVICE?

   HOW CAN AND WHEN SHOULD I OUTSOURCE
       COMPUTATIONS TO THE CLOUD?

HOW CAN I LEVERAGE WEB 2.0 TO BRIDGE THE GAP
 BETWEEN ALGORITHMS AND SCIENTIFIC USERS?
The Basic Problem  Distant Kernel




 Kernel
The Basic Problem  Distant Kernel




 Kernel                   Application
The Basic Problem  Distant Kernel




 Kernel
The Basic Problem  Distant Kernel




 Kernel                   Application
The Basic Problem  Distant Kernel

 Inherent mismatch with outside world
   Mismatched languages

   Mismatched hardware

   Total lack of Entry Points / APIs




              C++
                                Java ML
              NN
Level 1: Exposing the Kernel

 Clean and robust API
                          Standardized Web Service
 RPC bed




              C++
              NN                 Java ML
System View

               C++
               NN




Standardized          Web Service



                 NN


               Level 1
         Exposing the Kernel
Lesson Learned
 Service orientation grants modularity to leverage right tools


 Use the right platform and the right tools for the right job!
 Broker standardized resources into a homogeneous whole!


                                        R
                                    Statistical
                     Java            Module
    Browser
      GUI            Higher
                     level AI
                                      C++
                                    Number
                                   Crunchers       MATLAB
                                                   Prototype
Where can this be useful?
Where can this be useful?
Where can this be useful?
Where can this be useful?
Managing Computations in the Cloud

  WHY SHOULD I THINK OF MY COMPUTATIONAL
   SOFTWARE AS A COMPUTATIONAL SERVICE?

   HOW CAN AND WHEN SHOULD I OUTSOURCE
       COMPUTATIONS TO THE CLOUD?

HOW CAN I LEVERAGE WEB 2.0 TO BRIDGE THE GAP
 BETWEEN ALGORITHMS AND SCIENTIFIC USERS?
The Basic Problem  Amassing Resources




 NN                      Local
The Basic Problem  Amassing Resources




                          Local

 NN
                                  Grid
The Basic Problem  Amassing Resources


                                  Cloud




 NN                       Local




                                   Grid
The Basic Problem  Amassing Resources


                                  Cloud




 NN                       Local




                                   Grid
Level 2: Distributing the Computations

 Outsource computations when
 local resources get burdened
                                               Siemens




          Ensemble
                                Internet            TUM
          Run Client




                                           Public
                                           Cloud
System View

     C++
     NN                          Siemens




                                                                               Ensemble
WS                                                Internet                     Run Client
                        Public
                        Cloud




       NN
                                           TUM




      Level 1                                             Level 2
Exposing the Kernel                         Integrating Distributed Applications
Lesson Learned
    A SOA is the natural fit for leveraging cloud resources


 Use the right hardware for the right task!



                                                     Cloud
                                               Extra Power Notch

     Browser              Local
       GUI             Computational                GPU
                          Cores                 Linear Algebra


                                                  Cluster
                                                 Data Mining
Science and the Web Experience

  WHY SHOULD I THINK OF MY COMPUTATIONAL
   SOFTWARE AS A COMPUTATIONAL SERVICE?

   HOW CAN AND WHEN SHOULD I OUTSOURCE
       COMPUTATIONS TO THE CLOUD?

HOW CAN I LEVERAGE WEB 2.0 TO BRIDGE THE GAP
 BETWEEN ALGORITHMS AND SCIENTIFIC USERS?
System View


                               Siemens

  SENN



                                                                            Ensemble   W
                                                Internet
                                                                              Run
                                                                             Client    E       User
                      Public
                      Cloud                                                            B



                                         TUM




      Level 1                                                 Level 2                         Level 3
Exposing the Kernel                            Integrating Distributed Applications        Web Integration
Final Notes
Coupling SOA, Cloud & Web 2.0

 Use established web standards to export and
 import computational algorithms in the cloud

 Achieve a new dimension of modularity for
 software and hardware requirements

 Use the intuitiveness of the web to bridge the gap
 between algorithms and scientists
       move science into the web browser!
Questions

More Related Content

Cloud Computing, SOA and Web 2.0, an inevitable convergence

  • 1. Cloud Computing, SOA and Web 2.0 An Inevitable Convergence DAVID KARAM
  • 2. Answers We Were Aiming For WHY SHOULD I THINK OF MY COMPUTATIONAL SOFTWARE AS A COMPUTATIONAL SERVICE? HOW CAN AND WHEN SHOULD I OUTSOURCE COMPUTATIONS TO THE CLOUD? HOW CAN I LEVERAGE WEB 2.0 TO BRIDGE THE GAP BETWEEN ALGORITHMS AND SCIENTIFIC USERS?
  • 3. Neural Networks Quick Intro Algorithms for artificial intelligence Typical applications System identification e.g. Stock prediction Control e.g. Robotics Data mining e.g. Knowledge discovery in databases
  • 4. Exposing Kernels as Services WHY SHOULD I THINK OF MY COMPUTATIONAL SOFTWARE AS A COMPUTATIONAL SERVICE? HOW CAN AND WHEN SHOULD I OUTSOURCE COMPUTATIONS TO THE CLOUD? HOW CAN I LEVERAGE WEB 2.0 TO BRIDGE THE GAP BETWEEN ALGORITHMS AND SCIENTIFIC USERS?
  • 5. The Basic Problem Distant Kernel Kernel
  • 6. The Basic Problem Distant Kernel Kernel Application
  • 7. The Basic Problem Distant Kernel Kernel
  • 8. The Basic Problem Distant Kernel Kernel Application
  • 9. The Basic Problem Distant Kernel Inherent mismatch with outside world Mismatched languages Mismatched hardware Total lack of Entry Points / APIs C++ Java ML NN
  • 10. Level 1: Exposing the Kernel Clean and robust API Standardized Web Service RPC bed C++ NN Java ML
  • 11. System View C++ NN Standardized Web Service NN Level 1 Exposing the Kernel
  • 12. Lesson Learned Service orientation grants modularity to leverage right tools Use the right platform and the right tools for the right job! Broker standardized resources into a homogeneous whole! R Statistical Java Module Browser GUI Higher level AI C++ Number Crunchers MATLAB Prototype
  • 13. Where can this be useful?
  • 14. Where can this be useful?
  • 15. Where can this be useful?
  • 16. Where can this be useful?
  • 17. Managing Computations in the Cloud WHY SHOULD I THINK OF MY COMPUTATIONAL SOFTWARE AS A COMPUTATIONAL SERVICE? HOW CAN AND WHEN SHOULD I OUTSOURCE COMPUTATIONS TO THE CLOUD? HOW CAN I LEVERAGE WEB 2.0 TO BRIDGE THE GAP BETWEEN ALGORITHMS AND SCIENTIFIC USERS?
  • 18. The Basic Problem Amassing Resources NN Local
  • 19. The Basic Problem Amassing Resources Local NN Grid
  • 20. The Basic Problem Amassing Resources Cloud NN Local Grid
  • 21. The Basic Problem Amassing Resources Cloud NN Local Grid
  • 22. Level 2: Distributing the Computations Outsource computations when local resources get burdened Siemens Ensemble Internet TUM Run Client Public Cloud
  • 23. System View C++ NN Siemens Ensemble WS Internet Run Client Public Cloud NN TUM Level 1 Level 2 Exposing the Kernel Integrating Distributed Applications
  • 24. Lesson Learned A SOA is the natural fit for leveraging cloud resources Use the right hardware for the right task! Cloud Extra Power Notch Browser Local GUI Computational GPU Cores Linear Algebra Cluster Data Mining
  • 25. Science and the Web Experience WHY SHOULD I THINK OF MY COMPUTATIONAL SOFTWARE AS A COMPUTATIONAL SERVICE? HOW CAN AND WHEN SHOULD I OUTSOURCE COMPUTATIONS TO THE CLOUD? HOW CAN I LEVERAGE WEB 2.0 TO BRIDGE THE GAP BETWEEN ALGORITHMS AND SCIENTIFIC USERS?
  • 26. System View Siemens SENN Ensemble W Internet Run Client E User Public Cloud B TUM Level 1 Level 2 Level 3 Exposing the Kernel Integrating Distributed Applications Web Integration
  • 28. Coupling SOA, Cloud & Web 2.0 Use established web standards to export and import computational algorithms in the cloud Achieve a new dimension of modularity for software and hardware requirements Use the intuitiveness of the web to bridge the gap between algorithms and scientists move science into the web browser!