SlideShare a Scribd company logo
Parallel Computing Scenarios
and the new challenges for the Software Architect




Fabrizio Giudici        Emmanuele Sordini
Tidalwave s.a.s.        BloomingStars.com
880
2




Goals of this presentation
> Parallel/distributed computing has been around for decades
  – Mainly in some niches (science, military, finance)
  – Seti@Home, BOINC, ... paved the way for the rest of the world
> It's going to become important for “general” software architects
  – Because of recent technology evolution
  – From (maybe) scared customers to new business opportunities
> Learn how to design WORA parallel applications
  – Exploiting parallelism in different scenarios
  – Good design, patterns, technologies
3




AGENDA
>   MOTIVATIONS
>   CASE STUDY
>   ARCHITECTURE
>   CONCLUSION
4




Motivations
> User's need grow
  – Demand for increased
     computing power
  – Multimedia processing
  – Also on the desktop
> Technological challenges
  – Multi-core computers (10s of cores        from Computer Architecture,
     in a few years, clock stable or              a Quantitative approach:
                                              Patterson & Hennessy, 2006
     decreasing)
> New opportunities
  – Easy “local mini grids“ (e.g Jini, Rio)
  – Massive grid computing as a
     service (e.g. Sun Grid)
5




Jini, Rio, Sun Grid
> Jini
  – A Java technology for creating “federations of services“
  – Spontaneous networking, discovery, mobile code
  – http://www.jini.org
> Rio
  – Based on Jini
  – Adds container / component paradigm, Quality of Service, etc...
  – http://rio.dev.java.net
> Sun Grid
  – A massive (1.000s nodes) grid platform accessible as a service
  – $1 / CPU / hour
  – Since May 2007 available in 24 countries outside USA
  – http://www.network.com
6




Parallel computing: easy or hard?
> Harder than single-thread computing
> Largely depends on the context
  – Course grain
  – Fine grain
> Future language enhancements?
  – Java syntax extensions
  – New languages
  – Virtual Machine optimizations (transparent to code?)
> Let's focus on what we have now
  – Design
  – Architecture
  – Patterns
7




An important point: ROI
> In the past distributed computing required ad-hoc hardware
  – Highly expensive
  – High start-up costs
  – Strive for high parallelism exploitation to justify costs
       50% efficiency with 100.000€ expense means 50.000€ wasted
> Today is different
  – Local “mini grids” can be easily set up with standard hardware
  – Large facilities available as a service on a “pay-per-hour” basis
> A different ROI policy
  – No or negligible start-up costs
  – Probably you can live with medium efficiency in parallelism exploitation
       50% efficiency on the Sun Grid means $1 per hour wasted
8




AGENDA
>   MOTIVATIONS
>   CASE STUDY
>   ARCHITECTURE
>   CONCLUSION
9




Case study
> Concrete problem and potential community
  – To be addressed with state-of-the art design
  – Focused on image processing, but many things are general purpose
> Different scenarios considered
  – Single core, multi-core
  – “Local mini grids” made with Jini and Rio
  – Sun Grid
> Mistral – the imaging framework
  – http://mistral.tidalwave.it
> Pleiades – the application
  – http://pleiades.bloomingstars.com
10




Hires imaging of solar system bodies
> For decades only with pro equipment
> Since 90s within the reach of amateurs
  – availability of decent quality optics
  – good cameras at reasonable prices
> Key concept
  – take multiple exposures
  – stack and align them
  – improve S/N ratio by averaging
> Bottom line: consumer's perspective fit with the scenario
  – Recall previous slide about users and computing power
11




Algorithm
12




Parallel decomposition
13




AGENDA
>   MOTIVATIONS
>   CASE STUDY
>   ARCHITECTURE
>   CONCLUSION
14




Mistral
> Abstract Imaging layer
  – Wraps Java2D, JAI, ImageJ, others
> Flexible
  – Operations and/or engines can be plugged in
> Versatile Imaging Processor
  – Based on the Master/Worker pattern
> Built-in support for profiling
  – Benchmarking is a must
15




Mistral ImageProcessor
> Master / Worker pattern
> Polymorphic implementation
  – Local (multi core)
  – Rio
  – Sun Grid
> Images wrapped in an opaque
  container (EditableImage)
16




Phase controller
reference = createReference();

for each image
  {
    schedule new RegisterTask(image, reference);
  }

when (at least 2 RegisterTasks completed)
  {
    image1 = registerTask1.getResult();
    image2 = registerTask2.getResult();
    schedule new AddTask(image1, image2);
  }

when (at least 2 AddTasks completed)
  {
    image1 = addTask1.getResult();
    image2 = addTask2.getResult();
    schedule new AddTask(image1, image2);
  }

// Detects last phase
when (no more pending tasks && only 1 completed AddTask has not been processed)
  {
    sumImage = addTask.getResult();
    normalize(sumImage);
    return;
  }
17




Best practices
> Fallacies #2, #3 of distributed computing
  – “Latency is zero”
  – “Bandwidth is infinite”
> In other words
  – Don't pretend the network is not there
  – Serialization overhead is an issue
> Memory is also a problem
  – Memory is not infinite
  – Typical of imaging or large-datasets problems
  – Was not an issue with sequential processing
       Queuing intermediate results vs process one by one
18




Adapt to scenarios
> Consume results as soon as possible
  – Avoid accumulation of idle results in queues
  – Post tasks with priority
> Adapt the most to the environment capabilities
  – Synthetic images are re-computed at each node
  – Filesystem-based exchange is used when NFS is available (e.g. Sun Grid)
  – Distributed image cache otherwise
  – Optimized routing
19




EditableImage serialization
> Opaque holder of the real image
> Each instance has its own unique UUID
  – Serializable – but only moves UUID around
> NFS implementation
  – Each serialized image gets stored on the disk
  – Upon use on a remote node, it is loaded from the disk
> Otherwise
  – Images are pulled from a distributed cache
  – Pull vs push approach for cache
20




Optimized routing
> Optimize scheduling to minimize data motion
  – Multi-phase: the operands come from a previous phase
  – For instance, while adding two images
> The scheduler
  – Queries the pending Task about the needed images
  – Looks up the distributed image cache
  – Finds the node where most of needed images are
  – Schedule the task to that node
21




AGENDA
>   MOTIVATIONS
>   CASE STUDY
>   ARCHITECTURE
>   CONCLUSION
22




Conclusion
> Parallel computing is coming among us
  – Hard, but in reach
  – It's an opportunity, not a scary thing
> In different fashions
  – Multi core
  – Local mini grids (Jini, Rio)
  – Massive grids as a facility (Sun Grid)
> Can be dealt with more patterns in our catalog
> You don't need always the “optimal” solution
  – Just pull most out of the CPUs with trade-off design
23




Desktop too – and demo
> Mistral and Pleiades
  integrated in blueMarine, a
  desktop photo application
> Demos at Jazoon:
  – “blueMarine - a desktop
      app for the open source
      photographic workflow“
  – Tuesday, 2007-06-26,
      12:00 - 12:50, Arena 2
  – Thursday, 2007-06-28,
      14:00 - 14:50, Arena 1
24




Q&A
> Question time
Fabrizio Giudici    www.tidalwave.it
Tidalwave s.a.s     fabrizio.giudici@tidalwave.it


Emmanuele Sordini   www.bloomingstars.com
                    emmanuele@sordini.com

More Related Content

What's hot (12)

PPT
Gpu and The Brick Wall
ugur candan
 
PPTX
graphics processing unit ppt
Nitesh Dubey
 
PDF
Cloud computing technology
RubaNagarajan
 
PPTX
Nvidia (History, GPU Architecture and New Pascal Architecture)
Saksham Tanwar
 
PPTX
GRAPHICS PROCESSING UNIT (GPU)
self employed
 
PDF
Virtualization in cloud computing
RubaNagarajan
 
PDF
Gpu Systems
jpaugh
 
PPTX
Graphics processing unit ppt
Sandeep Singh
 
PPTX
GPU Algorithms and trends 2018
Prabindh Sundareson
 
PPTX
High performance computing with accelarators
Emmanuel college
 
PPTX
Graphic Processing Unit
Kamran Ashraf
 
PPTX
Lec04 gpu architecture
Taras Zakharchenko
 
Gpu and The Brick Wall
ugur candan
 
graphics processing unit ppt
Nitesh Dubey
 
Cloud computing technology
RubaNagarajan
 
Nvidia (History, GPU Architecture and New Pascal Architecture)
Saksham Tanwar
 
GRAPHICS PROCESSING UNIT (GPU)
self employed
 
Virtualization in cloud computing
RubaNagarajan
 
Gpu Systems
jpaugh
 
Graphics processing unit ppt
Sandeep Singh
 
GPU Algorithms and trends 2018
Prabindh Sundareson
 
High performance computing with accelarators
Emmanuel college
 
Graphic Processing Unit
Kamran Ashraf
 
Lec04 gpu architecture
Taras Zakharchenko
 

Viewers also liked (10)

PDF
AMS 250 - High-Performance, Massively Parallel Computing with FLASH
dongwook159
 
PPTX
GPU Computing
Christian Kehl
 
PPTX
Parallel architecture-programming
Shaveta Banda
 
PPTX
Full introduction to_parallel_computing
Supasit Kajkamhaeng
 
PDF
Parallel Wireless: Rural HetNet Case Study
Small Cell Forum
 
PPTX
Router architectures in no c
Sharvari_Malunjkar
 
PPT
Chat application
Mudasir Sunasara
 
PPT
Parallel Computing
Ameya Waghmare
 
PDF
SRS FOR CHAT APPLICATION
Atul Kushwaha
 
PDF
A project report on chat application
Kumar Gaurav
 
AMS 250 - High-Performance, Massively Parallel Computing with FLASH
dongwook159
 
GPU Computing
Christian Kehl
 
Parallel architecture-programming
Shaveta Banda
 
Full introduction to_parallel_computing
Supasit Kajkamhaeng
 
Parallel Wireless: Rural HetNet Case Study
Small Cell Forum
 
Router architectures in no c
Sharvari_Malunjkar
 
Chat application
Mudasir Sunasara
 
Parallel Computing
Ameya Waghmare
 
SRS FOR CHAT APPLICATION
Atul Kushwaha
 
A project report on chat application
Kumar Gaurav
 
Ad

Similar to Parallel Computing Scenarios and the new challenges for the Software Architect (20)

PDF
blueMarine a desktop app for the open source photographic workflow
Fabrizio Giudici
 
PDF
SRCenabling application development for the internet of things
IEI GSC
 
PDF
Hpc lunch and learn
John D Almon
 
PDF
Cloudware initiative-ow2-conference-nov10
OW2
 
PPT
session on pattern oriented software architecture
SUJOY SETT
 
PDF
10 - Architetture Software - More architectural styles
Majong DevJfu
 
PDF
2 - Architetture Software - Software architecture
Majong DevJfu
 
PDF
Distributed Systems in Data Engineering
Oluwasegun Matthew
 
PDF
Architecture Extraction From Code
sanyamgoyal
 
PDF
Software Architecture: views and viewpoints
Henry Muccini
 
PPTX
Retargeting Embedded Software Stack for Many-Core Systems
Sumant Tambe
 
PPT
Current Trends in HPC
Putchong Uthayopas
 
PDF
Parallel and Distributed Computing: BOINC Grid Implementation Paper
Rodrigo Neves
 
PDF
"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo N...
Núcleo de Electrónica e Informática da Universidade do Algarve
 
PDF
Compute API –Past & Future
Ofer Rosenberg
 
PPT
02archintro
624820
 
PPTX
Software architecture simplified
Prasad Chitta
 
PPT
chap-0 .ppt
Lookly Sam
 
PDF
Towards application development for the internet of things
Pankesh Patel
 
blueMarine a desktop app for the open source photographic workflow
Fabrizio Giudici
 
SRCenabling application development for the internet of things
IEI GSC
 
Hpc lunch and learn
John D Almon
 
Cloudware initiative-ow2-conference-nov10
OW2
 
session on pattern oriented software architecture
SUJOY SETT
 
10 - Architetture Software - More architectural styles
Majong DevJfu
 
2 - Architetture Software - Software architecture
Majong DevJfu
 
Distributed Systems in Data Engineering
Oluwasegun Matthew
 
Architecture Extraction From Code
sanyamgoyal
 
Software Architecture: views and viewpoints
Henry Muccini
 
Retargeting Embedded Software Stack for Many-Core Systems
Sumant Tambe
 
Current Trends in HPC
Putchong Uthayopas
 
Parallel and Distributed Computing: BOINC Grid Implementation Paper
Rodrigo Neves
 
"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo N...
Núcleo de Electrónica e Informática da Universidade do Algarve
 
Compute API –Past & Future
Ofer Rosenberg
 
02archintro
624820
 
Software architecture simplified
Prasad Chitta
 
chap-0 .ppt
Lookly Sam
 
Towards application development for the internet of things
Pankesh Patel
 
Ad

More from Fabrizio Giudici (16)

KEY
Building Android apps with Maven
Fabrizio Giudici
 
PDF
DCI - Data, Context and Interaction @ Jug Lugano May 2011
Fabrizio Giudici
 
PDF
DCI - Data, Context and Interaction @ Jug Genova April 2011
Fabrizio Giudici
 
KEY
NOSQL also means RDF stores: an Android case study
Fabrizio Giudici
 
PDF
Netbeans+platform+maven
Fabrizio Giudici
 
PDF
Tools for an effective software factory
Fabrizio Giudici
 
PDF
blueMarine photographic workflow with Java
Fabrizio Giudici
 
PDF
blueMarine Sailing with NetBeans Platform
Fabrizio Giudici
 
PDF
NASA World Wind for Java API Overview
Fabrizio Giudici
 
PDF
Rich Internet Applications con JavaFX e NetBeans
Fabrizio Giudici
 
PDF
The VRC Project
Fabrizio Giudici
 
PDF
Web Development with Apache Struts 2
Fabrizio Giudici
 
PDF
blueMarine Or Why You Should Really Ship Swing Applications
Fabrizio Giudici
 
PDF
Designing a JavaFX Mobile application
Fabrizio Giudici
 
KEY
Android java fx-jme@jug-lugano
Fabrizio Giudici
 
KEY
Mercurial
Fabrizio Giudici
 
Building Android apps with Maven
Fabrizio Giudici
 
DCI - Data, Context and Interaction @ Jug Lugano May 2011
Fabrizio Giudici
 
DCI - Data, Context and Interaction @ Jug Genova April 2011
Fabrizio Giudici
 
NOSQL also means RDF stores: an Android case study
Fabrizio Giudici
 
Netbeans+platform+maven
Fabrizio Giudici
 
Tools for an effective software factory
Fabrizio Giudici
 
blueMarine photographic workflow with Java
Fabrizio Giudici
 
blueMarine Sailing with NetBeans Platform
Fabrizio Giudici
 
NASA World Wind for Java API Overview
Fabrizio Giudici
 
Rich Internet Applications con JavaFX e NetBeans
Fabrizio Giudici
 
The VRC Project
Fabrizio Giudici
 
Web Development with Apache Struts 2
Fabrizio Giudici
 
blueMarine Or Why You Should Really Ship Swing Applications
Fabrizio Giudici
 
Designing a JavaFX Mobile application
Fabrizio Giudici
 
Android java fx-jme@jug-lugano
Fabrizio Giudici
 
Mercurial
Fabrizio Giudici
 

Recently uploaded (20)

PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Biography of Daniel Podor.pdf
Daniel Podor
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
July Patch Tuesday
Ivanti
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 

Parallel Computing Scenarios and the new challenges for the Software Architect

  • 1. Parallel Computing Scenarios and the new challenges for the Software Architect Fabrizio Giudici Emmanuele Sordini Tidalwave s.a.s. BloomingStars.com 880
  • 2. 2 Goals of this presentation > Parallel/distributed computing has been around for decades – Mainly in some niches (science, military, finance) – Seti@Home, BOINC, ... paved the way for the rest of the world > It's going to become important for “general” software architects – Because of recent technology evolution – From (maybe) scared customers to new business opportunities > Learn how to design WORA parallel applications – Exploiting parallelism in different scenarios – Good design, patterns, technologies
  • 3. 3 AGENDA > MOTIVATIONS > CASE STUDY > ARCHITECTURE > CONCLUSION
  • 4. 4 Motivations > User's need grow – Demand for increased computing power – Multimedia processing – Also on the desktop > Technological challenges – Multi-core computers (10s of cores from Computer Architecture, in a few years, clock stable or a Quantitative approach: Patterson & Hennessy, 2006 decreasing) > New opportunities – Easy “local mini grids“ (e.g Jini, Rio) – Massive grid computing as a service (e.g. Sun Grid)
  • 5. 5 Jini, Rio, Sun Grid > Jini – A Java technology for creating “federations of services“ – Spontaneous networking, discovery, mobile code – http://www.jini.org > Rio – Based on Jini – Adds container / component paradigm, Quality of Service, etc... – http://rio.dev.java.net > Sun Grid – A massive (1.000s nodes) grid platform accessible as a service – $1 / CPU / hour – Since May 2007 available in 24 countries outside USA – http://www.network.com
  • 6. 6 Parallel computing: easy or hard? > Harder than single-thread computing > Largely depends on the context – Course grain – Fine grain > Future language enhancements? – Java syntax extensions – New languages – Virtual Machine optimizations (transparent to code?) > Let's focus on what we have now – Design – Architecture – Patterns
  • 7. 7 An important point: ROI > In the past distributed computing required ad-hoc hardware – Highly expensive – High start-up costs – Strive for high parallelism exploitation to justify costs  50% efficiency with 100.000€ expense means 50.000€ wasted > Today is different – Local “mini grids” can be easily set up with standard hardware – Large facilities available as a service on a “pay-per-hour” basis > A different ROI policy – No or negligible start-up costs – Probably you can live with medium efficiency in parallelism exploitation  50% efficiency on the Sun Grid means $1 per hour wasted
  • 8. 8 AGENDA > MOTIVATIONS > CASE STUDY > ARCHITECTURE > CONCLUSION
  • 9. 9 Case study > Concrete problem and potential community – To be addressed with state-of-the art design – Focused on image processing, but many things are general purpose > Different scenarios considered – Single core, multi-core – “Local mini grids” made with Jini and Rio – Sun Grid > Mistral – the imaging framework – http://mistral.tidalwave.it > Pleiades – the application – http://pleiades.bloomingstars.com
  • 10. 10 Hires imaging of solar system bodies > For decades only with pro equipment > Since 90s within the reach of amateurs – availability of decent quality optics – good cameras at reasonable prices > Key concept – take multiple exposures – stack and align them – improve S/N ratio by averaging > Bottom line: consumer's perspective fit with the scenario – Recall previous slide about users and computing power
  • 13. 13 AGENDA > MOTIVATIONS > CASE STUDY > ARCHITECTURE > CONCLUSION
  • 14. 14 Mistral > Abstract Imaging layer – Wraps Java2D, JAI, ImageJ, others > Flexible – Operations and/or engines can be plugged in > Versatile Imaging Processor – Based on the Master/Worker pattern > Built-in support for profiling – Benchmarking is a must
  • 15. 15 Mistral ImageProcessor > Master / Worker pattern > Polymorphic implementation – Local (multi core) – Rio – Sun Grid > Images wrapped in an opaque container (EditableImage)
  • 16. 16 Phase controller reference = createReference(); for each image { schedule new RegisterTask(image, reference); } when (at least 2 RegisterTasks completed) { image1 = registerTask1.getResult(); image2 = registerTask2.getResult(); schedule new AddTask(image1, image2); } when (at least 2 AddTasks completed) { image1 = addTask1.getResult(); image2 = addTask2.getResult(); schedule new AddTask(image1, image2); } // Detects last phase when (no more pending tasks && only 1 completed AddTask has not been processed) { sumImage = addTask.getResult(); normalize(sumImage); return; }
  • 17. 17 Best practices > Fallacies #2, #3 of distributed computing – “Latency is zero” – “Bandwidth is infinite” > In other words – Don't pretend the network is not there – Serialization overhead is an issue > Memory is also a problem – Memory is not infinite – Typical of imaging or large-datasets problems – Was not an issue with sequential processing  Queuing intermediate results vs process one by one
  • 18. 18 Adapt to scenarios > Consume results as soon as possible – Avoid accumulation of idle results in queues – Post tasks with priority > Adapt the most to the environment capabilities – Synthetic images are re-computed at each node – Filesystem-based exchange is used when NFS is available (e.g. Sun Grid) – Distributed image cache otherwise – Optimized routing
  • 19. 19 EditableImage serialization > Opaque holder of the real image > Each instance has its own unique UUID – Serializable – but only moves UUID around > NFS implementation – Each serialized image gets stored on the disk – Upon use on a remote node, it is loaded from the disk > Otherwise – Images are pulled from a distributed cache – Pull vs push approach for cache
  • 20. 20 Optimized routing > Optimize scheduling to minimize data motion – Multi-phase: the operands come from a previous phase – For instance, while adding two images > The scheduler – Queries the pending Task about the needed images – Looks up the distributed image cache – Finds the node where most of needed images are – Schedule the task to that node
  • 21. 21 AGENDA > MOTIVATIONS > CASE STUDY > ARCHITECTURE > CONCLUSION
  • 22. 22 Conclusion > Parallel computing is coming among us – Hard, but in reach – It's an opportunity, not a scary thing > In different fashions – Multi core – Local mini grids (Jini, Rio) – Massive grids as a facility (Sun Grid) > Can be dealt with more patterns in our catalog > You don't need always the “optimal” solution – Just pull most out of the CPUs with trade-off design
  • 23. 23 Desktop too – and demo > Mistral and Pleiades integrated in blueMarine, a desktop photo application > Demos at Jazoon: – “blueMarine - a desktop app for the open source photographic workflow“ – Tuesday, 2007-06-26, 12:00 - 12:50, Arena 2 – Thursday, 2007-06-28, 14:00 - 14:50, Arena 1
  • 25. Fabrizio Giudici www.tidalwave.it Tidalwave s.a.s [email protected] Emmanuele Sordini www.bloomingstars.com [email protected]