SlideShare a Scribd company logo
1 of 51
www.bsc.es Barcelona, September 22nd
, 2015
Toni Cortes
Leader of the storage-system research group
BSC and integrating persistent data
and parallel programming models
2
Barcelona Supercomputing Center
Centro Nacional de Supercomputación
• BSC-CNS objectives:
– R&D in Computer, Life, Earth and Engineering Sciences.
– Supercomputing services and support to Spanish and
European researchers.
• BSC-CNS is a consortium that includes:
– Spanish Government 60%
– Catalonian Government 30%
– Universitat Politècnica de Catalunya (UPC) 10%
• 425 people, 40 countries
3
BSC Scientific & Technical Departments
4
Mission of BSC R&D Departments
EARTH SCIENCES
To develop and
implement global and
regional state-of-the-art
models for short-term air
quality forecast and long-
term climate applications.
LIFE SCIENCES
To understand living
organisms by means of
theoretical and
computational methods
(molecular modeling,
genomics, proteomics).
CASE
To develop scientific and
engineering software to
efficiently exploit super-
computing capabilities
(biomedical, geophysics,
atmospheric, energy,
social and economic
simulations).
COMPUTER
SCIENCES
To influence the way
machines are built,
programmed and used:
programming models,
performance tools, Big
Data, computer
architecture, energy
efficiency.
5
From Research to Market
Embedded electronics
for improving safety in
time-critical applications
Middleware,
System
Software
Automotive
Aviation
HPC
Smart Cities
IoT
Cloud
Big Data
Bioinformatic tools
for target and drug
discovery
Pharma
Medical
Air quality, weather
and climate
modelling products
Weather
Services /
Climate
Agencies
Renewables
Agriculture
Simulations of
complex problems
Medical
Engineering
Smart Cities
Nautical
Automotive
Aviation
Renewables
Oil & Gas
Pharma
BSC Technologies
Programming models,
performance tools &
energy efficient
hardware
Mobile
HPC
Data Centres
Rail
Space
8
Consolidate Spanish Position: Severo Ochoa
Energy-efficiency
for Exascale and
Bigdata
Energy-efficiency
for Exascale and
Bigdata
Multidisciplinary research
program to address the design and
use of future Exascale
supercomputers.
– Programming models for
energy-efficiency and Big Data.
– Three challenging applications
as a starting point for
Interdepartamental
collaboration.
– Enhancing external
cooperation.
– Improving human resource
management.
– Building internal and external
training platforms.
– Articulating procedures for a
better internal and external
communication.
• Consolidating the Institution as a
world leader both in HPC research
and applications and in the scientific
and professional empowerment of its
members.
9
BSC Severo Ochoa collaborations
CS
MGT
OP
CASE LS
ES
10
International collaborations: Joint-
Laboratory on Extreme Scale Computing
• In June 2014, the University of Illinois at Urbana-Champaign, INRIA,
Argonne National Laboratory, Barcelona Supercomputing Center and
Jülich Supercomputing Centre formed the Joint Laboratory on Extreme
Scale Computing.
• The Joint Laboratory focuses on software challenges found in extreme
scale high-performance computers.
• Researchers from the different centres regularly meet for workshops,
and at the last one, organised by BSC in Barcelona in June 2015, over
100 researchers, from the six centres which are now members, took part.
11
JLESC: working together towards success
Resilience
I/O, Storage and
Visualisation
Parallel
ProgrammingTools
Applications and
Numerical
Algorithms
12
Link to EU & Spanish Large Industries
Research into advanced technologies
for the exploration of hydrocarbons,
subterranean and subsea reserve
modelling and fluid flows
Repsol-BSC Research Center Iberdrola Renovables
Model to estimate onshore and
offshore wind production
13
Attract R&D projects from IT Corporations
Analysis of Hadoop workload performance
under different software parameters and
hardware configurations.
Results available online.
BSC-Microsoft Research Centre
Future challenges for supercomputers
including power efficiency and scalability,
new programming models, and tools for
analysis and optimization of applications.
BSC-IBM Technology Center
for Supercomputing
Training in Parallel Programming using CUDA
and StarSs Optimising management of
execution resources in multi-GPU
environments with GMAC.
BSC-NVIDIA CUDA
Center of Excellence
Multi-year agreement focussing on
optimising efficiency through research into
Programming Models, Performance Tools
and Applications.
Intel-BSC Exascale Lab
Agreement on
memory performance
in HPC systems with
14
Help to define the future of global HPC
International Roadmapping Leadership in Exascale
Enabling the Data Revolution
Contributing to Standardisation
15
Increase Industry Collaboration.
BSC & Industry 2012
16
Increase Industry Collaboration.
BSC & Industry 2015
17
Spin-off creation
PELE project (Protein Energy Landscape Exploration)
NAR, 41, W322-8 (2013); J. Comp Chem 31, 1224-35 (2010)
Hormonal nuclear receptors
(joint project with AstraZeneca)
We can observe how a drug finds its
target and we can study, at an atomic
level, the way in which they get linked.
We can study different effects caused by
mutations, as well as new drugs.
First BSC’s Spin Off: How a drug finds its target
18
BSC People
www.bsc.es Barcelona, September 22nd
, 2015
Toni Cortes
Leader of the storage-system research group
BSC and integrating persistent data
and parallel programming models
Agenda
The pillars
The dark side
The secret potential
Time to wake up!
From a different perspective…
“We cannot solve our problems
with the same thinking
we used when we created them”
Albert Einstein
Some of today’s thinking
–Data stored in
• Files
• Databases
–Data is a 2nd
-class citizen
• Accessed with its own primitives
• Data and code are different
Agenda
The motivation
The pillars
The dark side
The secret potential
Time to wake up!
Before everything started
The pillars of dataClay
What ignited our research, our “big bang”
– Different data models: persistent vs. non persistent
– New storage devices: byte addressable
– Coupling data and code
– Sharing is what really matters
And then dataClay came to life …
(more details on how all fits together
in the next minutes)
Two data models!
Why waste time doing it twice?
Today
– We have one data model for volatile data
– Traditional data structures and/or objects
– We have a different data model for the persistent data
– Relational database, NoSQL database, files
Future
– Store data in the same way as when volatile
– Store objects and their relations
New storage devices
Better to be prepared on time
New storage hardware is coming
– Storage class memory
– Non-volatile RAM
Main characteristics
– Performance between memory and SSDs
– Byte addressable
File systems or table based DB are not the right abstraction
– Both were designed to use block devices
– Can be used, but would be a pity
• What a potential loss!!
• Imagine a Horse-drawn Ferrari?
Coupling data and computation
They can live isolated, but …
Computation and data are two different abstractions
– They are separated
This brings the problem of
– Should I move the data to compute it?
• Does not work for big data sets
– Should I move computation to the data?
• Deployment difficult
If data and code were the same thing …
– Using data would be much easier
– (and safer  see more in a few minutes)
Data sharing today
And why it is not enough
Download files
– Flexible
– Only for static data
– Avoid unneeded copies and transfers
– Data provider loses control over the downloaded data
“Data services” an API to access the data
– Data provider keeps control
– Both dynamic and static data
– No unneeded copies or transfers
– API restricted to what the provider can do
Agenda
The motivation
The pillars
The technology
The dark side
The secret potential
Time to wake up!
Our vision
What dataClay does
dataClay is a platform that enables
– Apps to make objects and their relationships persistent
– 3rd parties to add mode data or “change” the data model
– 3rd parties to upload computations to be shared
– Each user to see different “views” of the data
– Data owner to maintain control over its data
– Efficient access to data
Key technologies
– Self-contained objects
– Data enrichment by 3rd parties
Key technology
Self-contained objects
Push the idea of data services to the limit
– Based on the OO paradigm
Data
Client App Client App
Data Data
Data
FunctionsFunctions
Security, Integrity, …Security, Integrity, …
Data
Security, ...
Functions
Data service
Data store
Data store
Self-contained objects
But, what is really new?
Self-contained and data services
– Same concept different implementation?
Then…
– … we need something else …
– … something to make it really flexible!
3rd
-party enrichment
What is it exactly?
By enrichment we understand:
– Adding new information (fields or data) to existing datasets
– Adding new code to existing datasets
• New methods
• New implementations
This enrichment should
– Be possible during the life of data
– Not be limited to the data owner
– Enable different views of the data to different users/clients
• Not everybody should see the same enrichments
• Several enrichments should be available concurrently
– Enable the avoidance of queries
3rd
-party enrichment
And now animated
Data can be enriched both with data and code
Code will be executed in the provider infrastructure
Enrichment
Client App
Data-provider Infrastructure
Using a single infrastructure?
Killing the bottleneck
Using a “single” infrastructure may become a bottleneck
Security and privacy policies should be part of the data
– Thus, data could be offloaded to other infrastructures
• Without breaking the data policies
– Data owner enables 3rd party enrichment and …
… does not lose control
How it is implemented?
– Policies are defined using a declarative language
– Policies enforced as part of object methods
Distributing objects
Efficient usage of resources
– Data and code can be offloaded
• to resources not accessible by the data provider
Data
Security, ...
Functions
Provider Infrastructure
Client Infrastructure
Cloud
Agenda
The motivation
The pillars
The technology
The dark side
The integration into the
parallel programming language
The secret potential
Time to wake up!
Task-based programming
Task is the unit of work
Data dependences between tasks
– Imply partial order
– Exhibit potential parallelism
– Imply local synchronization
• Not global!
Implicit workflow
COMPSs
Sequential programming
– General purpose programming language + annotations
• Currently Java and Python
Task based
– Builds a task graph at runtime
• Express potential concurrency
• Includes dependencies
– Simple linear address space
Unaware of computing platform
– Enabled by the runtime for clusters, clouds and grids
Python (PyCOMPSs) syntax
How to write PyCOMPS code
Invoke tasks
– As functions/methods
API for data synchronization
Task definition in function declaration
– decorators
class Foo(object):
@task()
def
myMethod(self):
…
foo = Foo()
myFunction( foo )
foo.myMethod()
…
foo =
compss_wait_on(foo)
foo.bar()
Main Program
@task( par = INOUT )
def myFunction(par):
…
myF
myM
synch
Function definition
Parallel execution
...
T1 (data1, out data2);
T2 (data4, out data5);
T3 (data2, data5, out data6);
T4 (data7, out data8);
T5 (data6, data8, out data9);
...
T10 T20
T30
T40
T50
COMPSs framework
COMPSs Runtime
Job ManagerJob Manager
Computing
Infrastructure
Application
Resource ManagerResource Manager SchedulerScheduler
Task AnalyzerTask Analyzer Data Info ProviderData Info Provider
DAG
Application Code
Worker Persitent Worker
Worker
Worker
ExecuteTask
dataClay as a COMPSs worker
Executes a method (possibly static) in a given backend
– Acts as COMPSs worker threads
As opposed to direct method execution
– You can decide the execution backend executeTask
– Asynchronous
• Result can be checked by using getResult
Job ManagerJob Manager
Computing
Infrastructure
Worker Persitent Worker
Worker
Worker
dataClay
A trivial example to follow
Input: collection of persons
– Person
…
Integer age
…
Boolean isOlder (limit, outCollection) {
if (age>limit) add self into outCollection
}
Output: collection of persons older than a given age (limit)
“Per object” parallelism
COMPSs “instantiates” one worker per object
– Iterates over a collection using a standard iterator
• Instantiates the method in the node where the object is
– Targeted at object methods
– getLocations
• Blocking may be needed
– Object-method granularity may be too small
– It implies grouping objects in the same backend
Task
1
Task
2
Task
3
Task
4
Task
5
Task
6
“Per object” parallelism
Declare method isOlder as a parallel task
Code
For element in the collection
// For each element
// This method is executed in parallel
// in the node where the data is
element.isOlder(age)
Parallelizing for each element may be too small
–Blocking
“Per object” parallelism
Create a new method isOlderBlocking(age,ini,num)
For element between ini and ini+num
element.isOlder(age)
Code
For i in (#elements in collection/block)
// For each element
// This method is executed in parallel
element.isOlderBloking(age,i*block, block)
Now we have the right granularity
–The scientist needs to define blocking size
–And placement if locality is important!!!
“Per backend” parallelism
COMPSs “instantiates” one worker per backend
– Obtains all locations using on the collection
• getLocations
– Each task executes a collection method
• Iterates over a “local” iterator
– Will only return objects in the current back end
– Work stealing may be implemented if needed
Task
1
Task
2
Task
3
“Per backend” parallelism
Create a new collection method isOlderCollection(age)
For element in collection using local iterator
// No parallelism here
element.isOlder(age)
Define this method as “parallel”
Code
// Parallelism: executed in all backends with
// elements
isOlderCollection (age)
Now we have the right granularity
–Scientists did not have to write “special” code
• Only encapsulated and used a “local” iterator
“Other” iterators
These are just examples, other iterators could be defined
– To implement locality as in a close backend
– To implement work stealing
– To take into account heterogeneity
The iterators are implemented as general in the collection
– Scientist only need to understand what they do
• And use them
Agenda
The motivation
The pillars
The technology
The dark side
The integration into the
parallel programming language
The secret potential
Conclusions
Time to wake up!
Conclusions
Ideas to take back home
Integrating persistent data into the programming model
– Unifies the model for both persistent and volatile data
– Simplifies the decision of where to compute
• Code is part of the data
– Enables the use of data parallelism
• Iterators can be adapted transparently to the programmer
– Enables data distribution
• Behavior policies are embedded
I talk, they do the work
Thanks to …
Current team
– Anna Queralt
– Jonathan Martí
– Daniel Gasull
– Juanjo Costa
– Alex Barceló
Master students
– David Gracia
– Christos Ioannidis
Former team members
– Ernest Artiaga
www.bsc.es
Thank you!

More Related Content

What's hot

INF2190_W1_2016_public
INF2190_W1_2016_publicINF2190_W1_2016_public
INF2190_W1_2016_public
Attila Barta
 
Introduction on Data Science
Introduction on Data ScienceIntroduction on Data Science
Introduction on Data Science
Edureka!
 
Multi-faceted Classification of Big Data Use Cases and Proposed Architecture ...
Multi-faceted Classification of Big Data Use Cases and Proposed Architecture ...Multi-faceted Classification of Big Data Use Cases and Proposed Architecture ...
Multi-faceted Classification of Big Data Use Cases and Proposed Architecture ...
Geoffrey Fox
 
Cloud Programming Models: eScience, Big Data, etc.
Cloud Programming Models: eScience, Big Data, etc.Cloud Programming Models: eScience, Big Data, etc.
Cloud Programming Models: eScience, Big Data, etc.
Alexandru Iosup
 

What's hot (20)

An Obligatory Introduction to Data Science
An Obligatory Introduction to Data ScienceAn Obligatory Introduction to Data Science
An Obligatory Introduction to Data Science
 
INF2190_W1_2016_public
INF2190_W1_2016_publicINF2190_W1_2016_public
INF2190_W1_2016_public
 
JIMS Rohini IT Flash Monthly Newsletter - October Issue
JIMS Rohini IT Flash Monthly Newsletter  - October IssueJIMS Rohini IT Flash Monthly Newsletter  - October Issue
JIMS Rohini IT Flash Monthly Newsletter - October Issue
 
PDT: Personal Data from Things, and its provenance
PDT: Personal Data from Things,and its provenancePDT: Personal Data from Things,and its provenance
PDT: Personal Data from Things, and its provenance
 
How IOT & Big Data will shape up Future Economies?
How IOT & Big Data will shape up Future Economies?How IOT & Big Data will shape up Future Economies?
How IOT & Big Data will shape up Future Economies?
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Data Mining and Big Data Challenges and Research Opportunities
Data Mining and Big Data Challenges and Research OpportunitiesData Mining and Big Data Challenges and Research Opportunities
Data Mining and Big Data Challenges and Research Opportunities
 
Introduction on Data Science
Introduction on Data ScienceIntroduction on Data Science
Introduction on Data Science
 
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data
 
Challenges of Big Data Research
Challenges of Big Data ResearchChallenges of Big Data Research
Challenges of Big Data Research
 
Data mining
Data miningData mining
Data mining
 
Multipleregression covidmobility and Covid-19 policy recommendation
Multipleregression covidmobility and Covid-19 policy recommendationMultipleregression covidmobility and Covid-19 policy recommendation
Multipleregression covidmobility and Covid-19 policy recommendation
 
Elements of AI Luxembourg - session 5
Elements of AI Luxembourg - session 5Elements of AI Luxembourg - session 5
Elements of AI Luxembourg - session 5
 
Human-in-the-loop: a design pattern for managing teams which leverage ML by P...
Human-in-the-loop: a design pattern for managing teams which leverage ML by P...Human-in-the-loop: a design pattern for managing teams which leverage ML by P...
Human-in-the-loop: a design pattern for managing teams which leverage ML by P...
 
Data science
Data scienceData science
Data science
 
Multi-faceted Classification of Big Data Use Cases and Proposed Architecture ...
Multi-faceted Classification of Big Data Use Cases and Proposed Architecture ...Multi-faceted Classification of Big Data Use Cases and Proposed Architecture ...
Multi-faceted Classification of Big Data Use Cases and Proposed Architecture ...
 
Cloud Programming Models: eScience, Big Data, etc.
Cloud Programming Models: eScience, Big Data, etc.Cloud Programming Models: eScience, Big Data, etc.
Cloud Programming Models: eScience, Big Data, etc.
 
(Big) Data (Science) Skills
(Big) Data (Science) Skills(Big) Data (Science) Skills
(Big) Data (Science) Skills
 
Big data analytics 1
Big data analytics 1Big data analytics 1
Big data analytics 1
 
Unexpected Challenges in Large Scale Machine Learning by Charles Parker
 Unexpected Challenges in Large Scale Machine Learning by Charles Parker Unexpected Challenges in Large Scale Machine Learning by Charles Parker
Unexpected Challenges in Large Scale Machine Learning by Charles Parker
 

Similar to BSC and Integrating Persistent Data and Parallel Programming Models

How to make data more usable on the Internet of Things
How to make data more usable on the Internet of ThingsHow to make data more usable on the Internet of Things
How to make data more usable on the Internet of Things
PayamBarnaghi
 

Similar to BSC and Integrating Persistent Data and Parallel Programming Models (20)

Big Data HPC Convergence and a bunch of other things
Big Data HPC Convergence and a bunch of other thingsBig Data HPC Convergence and a bunch of other things
Big Data HPC Convergence and a bunch of other things
 
Data-intensive bioinformatics on HPC and Cloud
Data-intensive bioinformatics on HPC and CloudData-intensive bioinformatics on HPC and Cloud
Data-intensive bioinformatics on HPC and Cloud
 
Stories About Spark, HPC and Barcelona by Jordi Torres
Stories About Spark, HPC and Barcelona by Jordi TorresStories About Spark, HPC and Barcelona by Jordi Torres
Stories About Spark, HPC and Barcelona by Jordi Torres
 
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
 
Innovation med big data – chr. hansens erfaringer
Innovation med big data – chr. hansens erfaringerInnovation med big data – chr. hansens erfaringer
Innovation med big data – chr. hansens erfaringer
 
Big Data
Big Data Big Data
Big Data
 
Dynamic Semantics for Semantics for Dynamic IoT Environments
Dynamic Semantics for Semantics for Dynamic IoT EnvironmentsDynamic Semantics for Semantics for Dynamic IoT Environments
Dynamic Semantics for Semantics for Dynamic IoT Environments
 
Frankfurt Big Data Lab & Refugee Projeect
Frankfurt Big Data Lab & Refugee ProjeectFrankfurt Big Data Lab & Refugee Projeect
Frankfurt Big Data Lab & Refugee Projeect
 
iMicrobe and iVirus: Extending the iPlant cyberinfrastructure from plants to ...
iMicrobe and iVirus: Extending the iPlant cyberinfrastructure from plants to ...iMicrobe and iVirus: Extending the iPlant cyberinfrastructure from plants to ...
iMicrobe and iVirus: Extending the iPlant cyberinfrastructure from plants to ...
 
How to make data more usable on the Internet of Things
How to make data more usable on the Internet of ThingsHow to make data more usable on the Internet of Things
How to make data more usable on the Internet of Things
 
2016 05 sanger
2016 05 sanger2016 05 sanger
2016 05 sanger
 
Presentation on Big Data Analytics
Presentation on Big Data AnalyticsPresentation on Big Data Analytics
Presentation on Big Data Analytics
 
Dynamic Semantics for the Internet of Things
Dynamic Semantics for the Internet of Things Dynamic Semantics for the Internet of Things
Dynamic Semantics for the Internet of Things
 
Ibm and innovation overview 20150326 v15 short
Ibm and innovation overview 20150326 v15 shortIbm and innovation overview 20150326 v15 short
Ibm and innovation overview 20150326 v15 short
 
A Workflow-Driven Discovery and Training Ecosystem for Distributed Analysis o...
A Workflow-Driven Discovery and Training Ecosystem for Distributed Analysis o...A Workflow-Driven Discovery and Training Ecosystem for Distributed Analysis o...
A Workflow-Driven Discovery and Training Ecosystem for Distributed Analysis o...
 
Svenska AI-sällskapet på Vinnova
Svenska AI-sällskapet på VinnovaSvenska AI-sällskapet på Vinnova
Svenska AI-sällskapet på Vinnova
 
Big Data Europe SC6 WS 3: Ron Dekker, Director CESSDA European Open Science A...
Big Data Europe SC6 WS 3: Ron Dekker, Director CESSDA European Open Science A...Big Data Europe SC6 WS 3: Ron Dekker, Director CESSDA European Open Science A...
Big Data Europe SC6 WS 3: Ron Dekker, Director CESSDA European Open Science A...
 
Values & Vision - Cloud Sandboxes for BIG Earth Sciences
Values & Vision - Cloud Sandboxes for BIG Earth SciencesValues & Vision - Cloud Sandboxes for BIG Earth Sciences
Values & Vision - Cloud Sandboxes for BIG Earth Sciences
 
Towards a Community-driven Data Science Body of Knowledge – Data Management S...
Towards a Community-driven Data Science Body of Knowledge – Data Management S...Towards a Community-driven Data Science Body of Knowledge – Data Management S...
Towards a Community-driven Data Science Body of Knowledge – Data Management S...
 
Data management plans – EUDAT Best practices and case study | www.eudat.eu
Data management plans – EUDAT Best practices and case study | www.eudat.euData management plans – EUDAT Best practices and case study | www.eudat.eu
Data management plans – EUDAT Best practices and case study | www.eudat.eu
 

More from inside-BigData.com

Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
inside-BigData.com
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networks
inside-BigData.com
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
inside-BigData.com
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecasts
inside-BigData.com
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
inside-BigData.com
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Acceleration
inside-BigData.com
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Cluster
inside-BigData.com
 

More from inside-BigData.com (20)

Major Market Shifts in IT
Major Market Shifts in ITMajor Market Shifts in IT
Major Market Shifts in IT
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networks
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
 
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networks
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecasts
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Update
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Acceleration
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Era
 
CUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computingCUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computing
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Cluster
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

BSC and Integrating Persistent Data and Parallel Programming Models

  • 1. www.bsc.es Barcelona, September 22nd , 2015 Toni Cortes Leader of the storage-system research group BSC and integrating persistent data and parallel programming models
  • 2. 2 Barcelona Supercomputing Center Centro Nacional de Supercomputación • BSC-CNS objectives: – R&D in Computer, Life, Earth and Engineering Sciences. – Supercomputing services and support to Spanish and European researchers. • BSC-CNS is a consortium that includes: – Spanish Government 60% – Catalonian Government 30% – Universitat Politècnica de Catalunya (UPC) 10% • 425 people, 40 countries
  • 3. 3 BSC Scientific & Technical Departments
  • 4. 4 Mission of BSC R&D Departments EARTH SCIENCES To develop and implement global and regional state-of-the-art models for short-term air quality forecast and long- term climate applications. LIFE SCIENCES To understand living organisms by means of theoretical and computational methods (molecular modeling, genomics, proteomics). CASE To develop scientific and engineering software to efficiently exploit super- computing capabilities (biomedical, geophysics, atmospheric, energy, social and economic simulations). COMPUTER SCIENCES To influence the way machines are built, programmed and used: programming models, performance tools, Big Data, computer architecture, energy efficiency.
  • 5. 5 From Research to Market Embedded electronics for improving safety in time-critical applications Middleware, System Software Automotive Aviation HPC Smart Cities IoT Cloud Big Data Bioinformatic tools for target and drug discovery Pharma Medical Air quality, weather and climate modelling products Weather Services / Climate Agencies Renewables Agriculture Simulations of complex problems Medical Engineering Smart Cities Nautical Automotive Aviation Renewables Oil & Gas Pharma BSC Technologies Programming models, performance tools & energy efficient hardware Mobile HPC Data Centres Rail Space
  • 6. 8 Consolidate Spanish Position: Severo Ochoa Energy-efficiency for Exascale and Bigdata Energy-efficiency for Exascale and Bigdata Multidisciplinary research program to address the design and use of future Exascale supercomputers. – Programming models for energy-efficiency and Big Data. – Three challenging applications as a starting point for Interdepartamental collaboration. – Enhancing external cooperation. – Improving human resource management. – Building internal and external training platforms. – Articulating procedures for a better internal and external communication. • Consolidating the Institution as a world leader both in HPC research and applications and in the scientific and professional empowerment of its members.
  • 7. 9 BSC Severo Ochoa collaborations CS MGT OP CASE LS ES
  • 8. 10 International collaborations: Joint- Laboratory on Extreme Scale Computing • In June 2014, the University of Illinois at Urbana-Champaign, INRIA, Argonne National Laboratory, Barcelona Supercomputing Center and Jülich Supercomputing Centre formed the Joint Laboratory on Extreme Scale Computing. • The Joint Laboratory focuses on software challenges found in extreme scale high-performance computers. • Researchers from the different centres regularly meet for workshops, and at the last one, organised by BSC in Barcelona in June 2015, over 100 researchers, from the six centres which are now members, took part.
  • 9. 11 JLESC: working together towards success Resilience I/O, Storage and Visualisation Parallel ProgrammingTools Applications and Numerical Algorithms
  • 10. 12 Link to EU & Spanish Large Industries Research into advanced technologies for the exploration of hydrocarbons, subterranean and subsea reserve modelling and fluid flows Repsol-BSC Research Center Iberdrola Renovables Model to estimate onshore and offshore wind production
  • 11. 13 Attract R&D projects from IT Corporations Analysis of Hadoop workload performance under different software parameters and hardware configurations. Results available online. BSC-Microsoft Research Centre Future challenges for supercomputers including power efficiency and scalability, new programming models, and tools for analysis and optimization of applications. BSC-IBM Technology Center for Supercomputing Training in Parallel Programming using CUDA and StarSs Optimising management of execution resources in multi-GPU environments with GMAC. BSC-NVIDIA CUDA Center of Excellence Multi-year agreement focussing on optimising efficiency through research into Programming Models, Performance Tools and Applications. Intel-BSC Exascale Lab Agreement on memory performance in HPC systems with
  • 12. 14 Help to define the future of global HPC International Roadmapping Leadership in Exascale Enabling the Data Revolution Contributing to Standardisation
  • 15. 17 Spin-off creation PELE project (Protein Energy Landscape Exploration) NAR, 41, W322-8 (2013); J. Comp Chem 31, 1224-35 (2010) Hormonal nuclear receptors (joint project with AstraZeneca) We can observe how a drug finds its target and we can study, at an atomic level, the way in which they get linked. We can study different effects caused by mutations, as well as new drugs. First BSC’s Spin Off: How a drug finds its target
  • 17. www.bsc.es Barcelona, September 22nd , 2015 Toni Cortes Leader of the storage-system research group BSC and integrating persistent data and parallel programming models
  • 18. Agenda The pillars The dark side The secret potential Time to wake up!
  • 19. From a different perspective… “We cannot solve our problems with the same thinking we used when we created them” Albert Einstein Some of today’s thinking –Data stored in • Files • Databases –Data is a 2nd -class citizen • Accessed with its own primitives • Data and code are different
  • 20. Agenda The motivation The pillars The dark side The secret potential Time to wake up!
  • 21. Before everything started The pillars of dataClay What ignited our research, our “big bang” – Different data models: persistent vs. non persistent – New storage devices: byte addressable – Coupling data and code – Sharing is what really matters And then dataClay came to life … (more details on how all fits together in the next minutes)
  • 22. Two data models! Why waste time doing it twice? Today – We have one data model for volatile data – Traditional data structures and/or objects – We have a different data model for the persistent data – Relational database, NoSQL database, files Future – Store data in the same way as when volatile – Store objects and their relations
  • 23. New storage devices Better to be prepared on time New storage hardware is coming – Storage class memory – Non-volatile RAM Main characteristics – Performance between memory and SSDs – Byte addressable File systems or table based DB are not the right abstraction – Both were designed to use block devices – Can be used, but would be a pity • What a potential loss!! • Imagine a Horse-drawn Ferrari?
  • 24. Coupling data and computation They can live isolated, but … Computation and data are two different abstractions – They are separated This brings the problem of – Should I move the data to compute it? • Does not work for big data sets – Should I move computation to the data? • Deployment difficult If data and code were the same thing … – Using data would be much easier – (and safer  see more in a few minutes)
  • 25. Data sharing today And why it is not enough Download files – Flexible – Only for static data – Avoid unneeded copies and transfers – Data provider loses control over the downloaded data “Data services” an API to access the data – Data provider keeps control – Both dynamic and static data – No unneeded copies or transfers – API restricted to what the provider can do
  • 26. Agenda The motivation The pillars The technology The dark side The secret potential Time to wake up!
  • 27. Our vision What dataClay does dataClay is a platform that enables – Apps to make objects and their relationships persistent – 3rd parties to add mode data or “change” the data model – 3rd parties to upload computations to be shared – Each user to see different “views” of the data – Data owner to maintain control over its data – Efficient access to data Key technologies – Self-contained objects – Data enrichment by 3rd parties
  • 28. Key technology Self-contained objects Push the idea of data services to the limit – Based on the OO paradigm Data Client App Client App Data Data Data FunctionsFunctions Security, Integrity, …Security, Integrity, … Data Security, ... Functions Data service Data store Data store
  • 29. Self-contained objects But, what is really new? Self-contained and data services – Same concept different implementation? Then… – … we need something else … – … something to make it really flexible!
  • 30. 3rd -party enrichment What is it exactly? By enrichment we understand: – Adding new information (fields or data) to existing datasets – Adding new code to existing datasets • New methods • New implementations This enrichment should – Be possible during the life of data – Not be limited to the data owner – Enable different views of the data to different users/clients • Not everybody should see the same enrichments • Several enrichments should be available concurrently – Enable the avoidance of queries
  • 31. 3rd -party enrichment And now animated Data can be enriched both with data and code Code will be executed in the provider infrastructure Enrichment Client App Data-provider Infrastructure
  • 32. Using a single infrastructure? Killing the bottleneck Using a “single” infrastructure may become a bottleneck Security and privacy policies should be part of the data – Thus, data could be offloaded to other infrastructures • Without breaking the data policies – Data owner enables 3rd party enrichment and … … does not lose control How it is implemented? – Policies are defined using a declarative language – Policies enforced as part of object methods
  • 33. Distributing objects Efficient usage of resources – Data and code can be offloaded • to resources not accessible by the data provider Data Security, ... Functions Provider Infrastructure Client Infrastructure Cloud
  • 34. Agenda The motivation The pillars The technology The dark side The integration into the parallel programming language The secret potential Time to wake up!
  • 35. Task-based programming Task is the unit of work Data dependences between tasks – Imply partial order – Exhibit potential parallelism – Imply local synchronization • Not global! Implicit workflow
  • 36. COMPSs Sequential programming – General purpose programming language + annotations • Currently Java and Python Task based – Builds a task graph at runtime • Express potential concurrency • Includes dependencies – Simple linear address space Unaware of computing platform – Enabled by the runtime for clusters, clouds and grids
  • 37. Python (PyCOMPSs) syntax How to write PyCOMPS code Invoke tasks – As functions/methods API for data synchronization Task definition in function declaration – decorators class Foo(object): @task() def myMethod(self): … foo = Foo() myFunction( foo ) foo.myMethod() … foo = compss_wait_on(foo) foo.bar() Main Program @task( par = INOUT ) def myFunction(par): … myF myM synch Function definition
  • 38. Parallel execution ... T1 (data1, out data2); T2 (data4, out data5); T3 (data2, data5, out data6); T4 (data7, out data8); T5 (data6, data8, out data9); ... T10 T20 T30 T40 T50
  • 39. COMPSs framework COMPSs Runtime Job ManagerJob Manager Computing Infrastructure Application Resource ManagerResource Manager SchedulerScheduler Task AnalyzerTask Analyzer Data Info ProviderData Info Provider DAG Application Code Worker Persitent Worker Worker Worker
  • 40. ExecuteTask dataClay as a COMPSs worker Executes a method (possibly static) in a given backend – Acts as COMPSs worker threads As opposed to direct method execution – You can decide the execution backend executeTask – Asynchronous • Result can be checked by using getResult Job ManagerJob Manager Computing Infrastructure Worker Persitent Worker Worker Worker dataClay
  • 41. A trivial example to follow Input: collection of persons – Person … Integer age … Boolean isOlder (limit, outCollection) { if (age>limit) add self into outCollection } Output: collection of persons older than a given age (limit)
  • 42. “Per object” parallelism COMPSs “instantiates” one worker per object – Iterates over a collection using a standard iterator • Instantiates the method in the node where the object is – Targeted at object methods – getLocations • Blocking may be needed – Object-method granularity may be too small – It implies grouping objects in the same backend Task 1 Task 2 Task 3 Task 4 Task 5 Task 6
  • 43. “Per object” parallelism Declare method isOlder as a parallel task Code For element in the collection // For each element // This method is executed in parallel // in the node where the data is element.isOlder(age) Parallelizing for each element may be too small –Blocking
  • 44. “Per object” parallelism Create a new method isOlderBlocking(age,ini,num) For element between ini and ini+num element.isOlder(age) Code For i in (#elements in collection/block) // For each element // This method is executed in parallel element.isOlderBloking(age,i*block, block) Now we have the right granularity –The scientist needs to define blocking size –And placement if locality is important!!!
  • 45. “Per backend” parallelism COMPSs “instantiates” one worker per backend – Obtains all locations using on the collection • getLocations – Each task executes a collection method • Iterates over a “local” iterator – Will only return objects in the current back end – Work stealing may be implemented if needed Task 1 Task 2 Task 3
  • 46. “Per backend” parallelism Create a new collection method isOlderCollection(age) For element in collection using local iterator // No parallelism here element.isOlder(age) Define this method as “parallel” Code // Parallelism: executed in all backends with // elements isOlderCollection (age) Now we have the right granularity –Scientists did not have to write “special” code • Only encapsulated and used a “local” iterator
  • 47. “Other” iterators These are just examples, other iterators could be defined – To implement locality as in a close backend – To implement work stealing – To take into account heterogeneity The iterators are implemented as general in the collection – Scientist only need to understand what they do • And use them
  • 48. Agenda The motivation The pillars The technology The dark side The integration into the parallel programming language The secret potential Conclusions Time to wake up!
  • 49. Conclusions Ideas to take back home Integrating persistent data into the programming model – Unifies the model for both persistent and volatile data – Simplifies the decision of where to compute • Code is part of the data – Enables the use of data parallelism • Iterators can be adapted transparently to the programmer – Enables data distribution • Behavior policies are embedded
  • 50. I talk, they do the work Thanks to … Current team – Anna Queralt – Jonathan Martí – Daniel Gasull – Juanjo Costa – Alex Barceló Master students – David Gracia – Christos Ioannidis Former team members – Ernest Artiaga