Space-Based Architecture:
Linear scalability? High throughput?
Low latency?
Pedro Rodrigues – prodrigues@sogyo.nl
 Space-Based Architecture (SBA) intro:
▫ Main concepts & a bit of history
 SBA in practice
▫ Lessons learned
 SBA live
...
“Space-Based Architecture (SBA) is a software
architecture pattern for achieving linear scalability of
stateful, high-perf...
“scalability: scalability is the ability to grow an
application to meet growing demand, without
changing the code, and wit...
 Distributed memory model for interprocess
coordination/communication.
 Memory contents: tuples
▫ e.g. (“Pedro”, “Sogyo”...
 Operations available:
▫ in – atomic read and remove
▫ rd – atomic read
▫ out – write tuple into space
▫ eval – create ne...
 1983 – Linda programming model, Tuple Space.
– David Gelernter and Nicholas Carriero at Yale
University
 1998 – Jini, J...
Linear scalability using Tuple Space: how?
8AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013
SBA: processing unit
Processing Unit
Space
Data
Messa
ges
Service
A
Service
B Service
C
Notify
Take Write
Processing Unit
Space
Data
Messa
ges
Service
A
Service
B Service
C
Processing Unit
Space
Data
Messa
ges
Service
A
Service
...
SBA: fault tolerance
primary and backup processing units
Primary Processing Unit
Space
Data
Messa
ges
Service
A
Service
B ...
SBA: deployment/run environment
@wiki.gigaspaces.com
SBA in practice
13AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013
 Disclaimer
▫ For secrecy reasons, no detailed information
about the project can be provided.
SBA in practice: a project
 Client:
▫ Dutch governamental organisation
 Goal:
▫ Proof of concept of a system that extracts
information in “real tim...
 Team:
▫ @full-time
▫ 1 architect
▫ 1 project manager
▫ 3 experienced developers with (almost) no previous
experience wit...
 End Result:
▫ A working PoC
▫ … and guidelines to guarantee high-performance
of the system to be built upon the delivera...
 SBA is not difficult to grasp
 Involve people with SBA experience
 Keep learning
 Partitioning data is key
▫ do it ba...
 Only write to disk if necessary
 If you have to write to disk, do it asynchronously
(and in batches)
 Garbage Collecti...
Linear scalability: a demo
SBA
SBA: demo
Processing Unit
Space
MessageProcessor
Take Write
Client
Applicati
on
Spa
ce
Pro
xy
1. Writes a maximum
of 30000...
 SBA offers a simplified programming model to
build high-performance distributed systems
 SBA simplifies administration/...
 Give SBA a try if you’re dealing with data flood
 “write once, scale anywhere” seems more than a
slogan
Take Home Messa...
?
Contact
Pedro Rodrigues
prodrigues@sogyo.nl
030 - 220 22 16
Web: www.sogyo.nl
Blog: www.software–innovators.nl
Upcoming SlideShare
Loading in …5
×

ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Low latency?

656 views
517 views

Published on

By Pedro Rodrigues

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
656
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Low latency?

  1. 1. Space-Based Architecture: Linear scalability? High throughput? Low latency? Pedro Rodrigues – prodrigues@sogyo.nl
  2. 2.  Space-Based Architecture (SBA) intro: ▫ Main concepts & a bit of history  SBA in practice ▫ Lessons learned  SBA live ▫ Linear scalability: demo Agenda
  3. 3. “Space-Based Architecture (SBA) is a software architecture pattern for achieving linear scalability of stateful, high-performance applications using the tuple space paradigm.” @wikipedia What is SBA?
  4. 4. “scalability: scalability is the ability to grow an application to meet growing demand, without changing the code, and without sacrificing the data affinity and service levels demanded by your users.” “linear scalability: the ability to grow as much as needed, at a fixed price per capacity unit” @The Scalability Revolution: From Dead End to Open Road Linear scalability
  5. 5.  Distributed memory model for interprocess coordination/communication.  Memory contents: tuples ▫ e.g. (“Pedro”, “Sogyo”, 5)  Memory is associative ▫ retrieval through template matching (e.g. (“Pedro”, ?Employer, ?YearsOfService)) Tuple Space
  6. 6.  Operations available: ▫ in – atomic read and remove ▫ rd – atomic read ▫ out – write tuple into space ▫ eval – create new processes to evaluate tuples and write the results to the space Tuple Space
  7. 7.  1983 – Linda programming model, Tuple Space. – David Gelernter and Nicholas Carriero at Yale University  1998 – Jini, JavaSpaces – Sun Microsystems  2000 – GigaSpaces provides first commercial implementation of JavaSpaces  2000-2003 – SBA is born @GigaSpaces  2013 – GigaSpaces XAP 9.6.0 SBA: A bit of history
  8. 8. Linear scalability using Tuple Space: how? 8AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013
  9. 9. SBA: processing unit Processing Unit Space Data Messa ges Service A Service B Service C Notify Take Write
  10. 10. Processing Unit Space Data Messa ges Service A Service B Service C Processing Unit Space Data Messa ges Service A Service B Service C Processing Unit Space Data Messa ges Service A Service B Service C SBA: linear scalability processing unit replication + sharding Client Application Spa ce Pro xy Processing Unit Space Data Messa ges Service A Service B Service C Processing Unit Space Data Messa ges Service A Service B Service C
  11. 11. SBA: fault tolerance primary and backup processing units Primary Processing Unit Space Data Messa ges Service A Service B Service C Backup Processing Unit Space Data Messa ges Service A Service B Service C
  12. 12. SBA: deployment/run environment @wiki.gigaspaces.com
  13. 13. SBA in practice 13AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013
  14. 14.  Disclaimer ▫ For secrecy reasons, no detailed information about the project can be provided. SBA in practice: a project
  15. 15.  Client: ▫ Dutch governamental organisation  Goal: ▫ Proof of concept of a system that extracts information in “real time” from data coming in from a large set of disparate data sources.  Constraints: ▫ Number of data sources and the amount of incoming data is due to increase at a large pace in the near future. SBA in practice: a project
  16. 16.  Team: ▫ @full-time ▫ 1 architect ▫ 1 project manager ▫ 3 experienced developers with (almost) no previous experience with SBA ▫ @part-time ▫ 1 consultant with experience in SBA  Duration: ▫ 7 months SBA in practice: a project
  17. 17.  End Result: ▫ A working PoC ▫ … and guidelines to guarantee high-performance of the system to be built upon the deliverables of the PoC. SBA in practice: a project
  18. 18.  SBA is not difficult to grasp  Involve people with SBA experience  Keep learning  Partitioning data is key ▫ do it badly and you’ll pay the price  Size matters (when objects reach the millions) ▫ E.g. Calendar vs long, 432 bytes vs 8 bytes  Perform (automatic?) integration tests in a cluster from the start The project: lessons learned
  19. 19.  Only write to disk if necessary  If you have to write to disk, do it asynchronously (and in batches)  Garbage Collection remains a challenge. The project: lessons learned II
  20. 20. Linear scalability: a demo SBA
  21. 21. SBA: demo Processing Unit Space MessageProcessor Take Write Client Applicati on Spa ce Pro xy 1. Writes a maximum of 30000 messages per second into the space. 2. Reads the number of messages processed after 10 Takes every message written into the space and writes back a new object. Can process a maximum of 1000 messages per second.
  22. 22.  SBA offers a simplified programming model to build high-performance distributed systems  SBA simplifies administration/monitoring  SBA itself does not guarantee high-performance ▫ Linear scalability, low latency, high throughput can be achieved but only with care  Beware: ▫ It remains a challenge to introduce SBA in an organisation used to work mainly with tier based solutions Conclusion
  23. 23.  Give SBA a try if you’re dealing with data flood  “write once, scale anywhere” seems more than a slogan Take Home Message
  24. 24. ?
  25. 25. Contact Pedro Rodrigues prodrigues@sogyo.nl 030 - 220 22 16 Web: www.sogyo.nl Blog: www.software–innovators.nl

×