SlideShare a Scribd company logo
Towards Scalable Service
Composition on Multicores
Daniele Bonetta,
Achille Peternier, Cesare Pautasso,Walter Binder
Faculty of Informatics
University of Lugano - USI
Switzerland
http://sosoa.inf.usi.ch
daniele.bonetta@usi.ch
Service Composition
Build Services by reusing existing Web services
Client
Web
Service
Web
Service
Web
Service
Composite
Web
Service
Composition Engines
Focus: Service Composition Runtime
Execution Environment
Client
Web
Service
Web
Service
Web
Service
Composite
Web
Service
Service
Composition
Engine
How to scale?
Client
Web
Service
Web
Service
Web
Service
Composite
Web
Service
Service
Composition
EngineClient
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
How to scale?
Client
Web
Service
Web
Service
Web
Service
Composite
Web
Service
Service
Composition
EngineClient
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
ent
ient
ent
ent
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
Outline
1. Problem: Scalable Service Composition
2. Opportunity: Multicores
3. Scalable Composition Engine Architecture
4. Multicore-Aware Deployment
5. Preliminary Evaluation
6. Conclusion & Outlook
Scalability Constraints
• Service Level Agreement
• Response Time
• Throughput
• Portability
• Heterogeneous environments
Existing solutions
• Centralized:
• Scale on cluster of computers, beowulf
• Decentralized:
• Scale on P2P networks
s.c.e.
ws
ws
ws
cli
cli
ws
ws
ws
sce
sce
sce
sce
Scalability on the Cloud
Today’s challenge
The Cloud
Services
Data
Code
Service
Composition
Engine
Portability
The Cloud
Service
Composition
Engine
Before scaling out on the cloud it is important
to make efficient usage of the hardware
architectures that are available on the Cloud
The cloud is a very heterogeneous environment
Scalability on Multicores
core core core core core core
core core core core core core
core core core core core core
core core core core core core
core core core core core core
core core core core core core
Quad-Core
AMD Opteron
core core core core core core
core core core core core core
core core core core core core
core
core core
core
Scalability on Multicores
On top of today’s heterogeneous hardware
• Different number of
cores
• Different type of
cores (SMT = n)
• Different chip
memory layouts
(cache levels, cache
size, NUMA)
Engine Architecture
Run a large number of concurrent
compositions with a limited
number of execution threads
Request
Handler
Kernel Invoker
Engine Architecture
Request
Handler
Kernel Invoker
• 3-stage Pipeline
•Thread Pools
• Non-blocking I/O
Deployment on Multicores
core
core core
core core
core corecore
core
core
core core
core
core
core
core
...
#2 #4 #6 # n
// threads
Request
Handler
Kernel Invoker
Deployment on Multicores
core
core core
core core
core corecore
core
core
core core
core
core
core
core
...
#2 #4 #6 # n
// threads
Request
Handler
Kernel Invoker
How?
Deployment Challenge
!
 	

 







	


!
 
 #







	


!$
$ 
	 		







	


!	

	
 	
	 	







	


!	
	 	#
	$ 	







	


!


 
	


 








	


!


 


 
#







	


!
$

$
!


 
 







	


!
 #
$ 







	


!
 	

 







	


!
 
 #







	


!$
$ 
 	







	


!


 
 







	


!
 #
$ 







	


!
!
 
 #







	


!$
$ 
# #	







	


!#

#
 #
# #







	


!#
# ##
#$ #







	


!$
$ $	
$
 $







	


!$
$ $
$ $#







	


!$$
$$ $
 	







	


!
!
 #
$ 







	


!	
	 		
	
 	







	


!	
	 	
	 	#







	


!	$
	$ 	
		 			







	


!		

		
 		
		 		







	


!		
		 		#
		$ 		







	


!	

	
 	
	
	

 	








	


!	

	
 	

	
 	
#
• 4 P7 CPUs
• 32 cores
• 128 // threads
Deployment Challenge
How to scale on multicores?
Just increase the number of
parallel concurrent threads
in the engine?
Experimental Results
200
400
600
800
1000
1200
1400
1600
1800
0 20 40 60 80 100 120 140
Throughput(Instances/sec)
Number of threads (per pool)
ForEach
Sequential
Parallel
Loop
Just increasing the number of threads...
# of threads
Throughput(req/s)
Our Proposal
Topology-Aware deployment
Our Proposal
• Replicate the architecture instead of just
increasing the number of threads
Topology-Aware deployment
Our Proposal
• Replicate the architecture instead of just
increasing the number of threads
• Bind threads to specific affinity groups
Topology-Aware deployment
Our Proposal
• Replicate the architecture instead of just
increasing the number of threads
• Bind threads to specific affinity groups
• Distribute resources(memory/threads)
among replicas proportionally to hw-
resources and number of replicas
Topology-Aware deployment
Example
• 4 cores, 4 L1 caches, 2 L2 caches
L2 cache L2 cache
L1 L1 L1 L1
C1 C2 C3 C4
Single Instance
This baseline deployment lets the OS thread
scheduler map the engine threads on all cores
L2 cache L2 cache
L1 L1 L1 L1
C1 C2 C3 C4
Engine Instance
(8 threads)
Two instances
The threads of each
instance are bound to specific cores
L2 cache L2 cache
L1 L1 L1 L1
C1 C2 C3 C4
Instance
#1
(4 threads)
Instance
#2
(4 threads)
Hardware Awareness
1. Gather hardware topology information:
• #cores, #caches, #cache-levels, ...
2. Replicate the engine architecture:
• One instance per last-level shared cache
• Configure the thread pool sizes
Self-configuration at startup:
Experimental Results
Sequence
Invoke/ 6x
(a)
/Sequence
Sequential
Foreach 6x
Invoke/
(b)
/Foreach
Foreach
Flow
Invoke/ 6x
(c)
/Flow
Parallel
While 6x
Invoke/
(d)
/While
Loop
......
Experimental Results
200
400
600
800
1000
1200
1400
1600
1800
0 20 40 60 80 100 120 140
Throughput(Instances/sec)
Number of threads (per pool)
ForEach
Sequential
Parallel
Loop
Just increasing the number of threads...
# of threads
Throughput(res/s)
Experimental Results
Fixing the number of threads to the
optimal value number
# of
Replicas
Request
Handler
Kernel Invoker Total
1
2
6
12
12
6
2
1
12
6
2
1
12
6
2
1
36
36
36
36
Experimental Results
2 x AMD Barcelona 6 cores processors with 2 LLC
300
600
900
1200
1500
1800
2100
300 600 900 1200 1500 1800 2100 2400 2700 3000 3300
Throughput(Instances/sec)
Number of Clients
1 Replica
2 Replicas
6 Replicas
12 Replicas
Scalability (Throughput up to 3300 clients)
# of clients
Throughput(res/s)

More Related Content

What's hot (20)

PDF
Varnish Cache - International PHP Conference Fall 2012
Mike Willbanks
 
PDF
Reinventing the wheel: libmc
Myautsai PAN
 
PDF
Creating PostgreSQL-as-a-Service at Scale
Sean Chittenden
 
PPTX
Async servers and clients in Rest.li
Karan Parikh
 
PDF
Cache is King - RubyHACK 2019
Molly Struve
 
PDF
Fisl - Deployment
Fabio Akita
 
PDF
Developing cacheable PHP applications - PHPLimburgBE 2018
Thijs Feryn
 
PPTX
bootstrapping containers with confd
m_richardson
 
PPTX
June8 presentation
nicobn
 
PDF
Developing cacheable PHP applications - Confoo 2018
Thijs Feryn
 
PDF
Apache::LogFormat::Compiler YAPC::Asia 2013 Tokyo LT-Thon
Masahiro Nagano
 
PDF
Integrated Cache on Netscaler
Mark Hillick
 
PDF
Inno Db Performance And Usability Patches
MySQLConference
 
PDF
Puppet and the HashiStack
Bram Vogelaar
 
PDF
Big Master Data PHP BLT #1
Masahiro Nagano
 
KEY
Composer
Tom Corrigan
 
PDF
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
 
PDF
Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...
Aerospike
 
PDF
如何使用 iframe 製作一個易於更新及更安全的前端套件
Mu Chun Wang
 
PPTX
DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...
PROIDEA
 
Varnish Cache - International PHP Conference Fall 2012
Mike Willbanks
 
Reinventing the wheel: libmc
Myautsai PAN
 
Creating PostgreSQL-as-a-Service at Scale
Sean Chittenden
 
Async servers and clients in Rest.li
Karan Parikh
 
Cache is King - RubyHACK 2019
Molly Struve
 
Fisl - Deployment
Fabio Akita
 
Developing cacheable PHP applications - PHPLimburgBE 2018
Thijs Feryn
 
bootstrapping containers with confd
m_richardson
 
June8 presentation
nicobn
 
Developing cacheable PHP applications - Confoo 2018
Thijs Feryn
 
Apache::LogFormat::Compiler YAPC::Asia 2013 Tokyo LT-Thon
Masahiro Nagano
 
Integrated Cache on Netscaler
Mark Hillick
 
Inno Db Performance And Usability Patches
MySQLConference
 
Puppet and the HashiStack
Bram Vogelaar
 
Big Master Data PHP BLT #1
Masahiro Nagano
 
Composer
Tom Corrigan
 
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
 
Combining Real-time and Batch Analytics with NoSQL, Storm and Hadoop - NoSQL ...
Aerospike
 
如何使用 iframe 製作一個易於更新及更安全的前端套件
Mu Chun Wang
 
DevOpsDays Warsaw 2015: Running High Performance And Fault Tolerant Elasticse...
PROIDEA
 

Viewers also liked (8)

PPT
BITB -- The Digitally Integrated Pitch
agencyside
 
DOCX
Artist study things
haverstockmedia
 
PDF
Aniketos 2nd cluster meeting
fcleary
 
DOCX
Evaluation - 4018
haverstockmedia
 
PDF
Elastic High Performance Applications – A Composition Framework
Hong-Linh Truong
 
PPT
Cloud computing(bit mesra kolkata extn.)
ASHUTOSH KUMAR
 
PPTX
SIMULATION AND PERFORMANCE ANALYSIS OF A LARGE SCALED INTERNET APPLICATION ...
ankit_saluja
 
PDF
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
AtakanAral
 
BITB -- The Digitally Integrated Pitch
agencyside
 
Artist study things
haverstockmedia
 
Aniketos 2nd cluster meeting
fcleary
 
Evaluation - 4018
haverstockmedia
 
Elastic High Performance Applications – A Composition Framework
Hong-Linh Truong
 
Cloud computing(bit mesra kolkata extn.)
ASHUTOSH KUMAR
 
SIMULATION AND PERFORMANCE ANALYSIS OF A LARGE SCALED INTERNET APPLICATION ...
ankit_saluja
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
AtakanAral
 
Ad

Similar to Towards Scalable Service Composition on Multicores (20)

PDF
Scaling a Rails Application from the Bottom Up
Abhishek Singh
 
PDF
Vert.x – The problem of real-time data binding
Alex Derkach
 
PDF
WebSockets with Spring 4
Sergi Almar i Graupera
 
PPTX
Building production websites with Node.js on the Microsoft stack
CellarTracker
 
PPTX
Full Stack Load Testing
Terral R Jordan
 
PPTX
Web Application Defences
Damilola Longe, CISSP, CCSP, MSc
 
PDF
The effect of page size modification on jvm
Parameswaran Selvam
 
PPTX
Epidemic Failures
Adrian Cockcroft
 
PDF
Avatar 2.0
David Delabassee
 
PPTX
Sql sever engine batch mode and cpu architectures
Chris Adkin
 
PDF
My Opera meets Varnish, Dec 2009
Cosimo Streppone
 
PPTX
24 Hours of PASS, Summit Preview Session: Virtual SQL Server CPUs
David Klee
 
PDF
Caching with Varnish
schoefmax
 
PDF
Server Side JavaScript on the Java Platform - David Delabassee
JAXLondon2014
 
PDF
Big datadc skyfall_preso_v2
abramsm
 
PDF
VMworld 2013: Extreme Performance Series: Storage in a Flash
VMworld
 
PDF
How we use and deploy Varnish at Opera
Cosimo Streppone
 
PDF
Arquitetura Hibrida - Integrando seu Data Center com a Nuvem da AWS
Amazon Web Services LATAM
 
PPTX
introduction to node.js
orkaplan
 
PDF
StackiFest 16: Stacki Overview- Anoop Rajendra
StackIQ
 
Scaling a Rails Application from the Bottom Up
Abhishek Singh
 
Vert.x – The problem of real-time data binding
Alex Derkach
 
WebSockets with Spring 4
Sergi Almar i Graupera
 
Building production websites with Node.js on the Microsoft stack
CellarTracker
 
Full Stack Load Testing
Terral R Jordan
 
Web Application Defences
Damilola Longe, CISSP, CCSP, MSc
 
The effect of page size modification on jvm
Parameswaran Selvam
 
Epidemic Failures
Adrian Cockcroft
 
Avatar 2.0
David Delabassee
 
Sql sever engine batch mode and cpu architectures
Chris Adkin
 
My Opera meets Varnish, Dec 2009
Cosimo Streppone
 
24 Hours of PASS, Summit Preview Session: Virtual SQL Server CPUs
David Klee
 
Caching with Varnish
schoefmax
 
Server Side JavaScript on the Java Platform - David Delabassee
JAXLondon2014
 
Big datadc skyfall_preso_v2
abramsm
 
VMworld 2013: Extreme Performance Series: Storage in a Flash
VMworld
 
How we use and deploy Varnish at Opera
Cosimo Streppone
 
Arquitetura Hibrida - Integrando seu Data Center com a Nuvem da AWS
Amazon Web Services LATAM
 
introduction to node.js
orkaplan
 
StackiFest 16: Stacki Overview- Anoop Rajendra
StackIQ
 
Ad

More from Cesare Pautasso (20)

PDF
Beautiful APIs - SOSE2021 Keynote
Cesare Pautasso
 
PDF
How do you back up and consistently recover your microservice architecture?
Cesare Pautasso
 
PDF
Microservices: An Eventually Inconsistent Architectural Style?
Cesare Pautasso
 
PDF
Disaster Recovery and Microservices: The BAC Theorem
Cesare Pautasso
 
PPTX
The Blockchain as a Software Connector
Cesare Pautasso
 
PPTX
Team Situational Awareness and Architectural Decision Making with the Softwar...
Cesare Pautasso
 
PDF
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
Cesare Pautasso
 
PDF
Push-Enabling RESTful Business Processes
Cesare Pautasso
 
PDF
BPMN for REST
Cesare Pautasso
 
PDF
SOA with REST
Cesare Pautasso
 
PDF
Atomic Transactions for the REST of us
Cesare Pautasso
 
PDF
Service Oriented Architectures and Web Services
Cesare Pautasso
 
PDF
Exploiting Multicores to Optimize Business Process Execution
Cesare Pautasso
 
PDF
Real-time Mashups di Web Service Geografici
Cesare Pautasso
 
PDF
BPM with REST
Cesare Pautasso
 
PDF
WS-* vs. RESTful Services
Cesare Pautasso
 
PDF
RESTful Service Composition with JOpera
Cesare Pautasso
 
PDF
SOA2010 SOA with REST
Cesare Pautasso
 
PPT
USI SCUBE Associate Member
Cesare Pautasso
 
PDF
Lighweight Collaboration Management (Mashups09@OOPSLA)
Cesare Pautasso
 
Beautiful APIs - SOSE2021 Keynote
Cesare Pautasso
 
How do you back up and consistently recover your microservice architecture?
Cesare Pautasso
 
Microservices: An Eventually Inconsistent Architectural Style?
Cesare Pautasso
 
Disaster Recovery and Microservices: The BAC Theorem
Cesare Pautasso
 
The Blockchain as a Software Connector
Cesare Pautasso
 
Team Situational Awareness and Architectural Decision Making with the Softwar...
Cesare Pautasso
 
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
Cesare Pautasso
 
Push-Enabling RESTful Business Processes
Cesare Pautasso
 
BPMN for REST
Cesare Pautasso
 
SOA with REST
Cesare Pautasso
 
Atomic Transactions for the REST of us
Cesare Pautasso
 
Service Oriented Architectures and Web Services
Cesare Pautasso
 
Exploiting Multicores to Optimize Business Process Execution
Cesare Pautasso
 
Real-time Mashups di Web Service Geografici
Cesare Pautasso
 
BPM with REST
Cesare Pautasso
 
WS-* vs. RESTful Services
Cesare Pautasso
 
RESTful Service Composition with JOpera
Cesare Pautasso
 
SOA2010 SOA with REST
Cesare Pautasso
 
USI SCUBE Associate Member
Cesare Pautasso
 
Lighweight Collaboration Management (Mashups09@OOPSLA)
Cesare Pautasso
 

Recently uploaded (20)

PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PDF
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
PDF
Are there government-backed agri-software initiatives in Limerick.pdf
giselawagner2
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
Are there government-backed agri-software initiatives in Limerick.pdf
giselawagner2
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 

Towards Scalable Service Composition on Multicores