ASAS 2013 - Space-based architecture: Linear scalability? High throughput? Low latency?
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 439 views

By Pedro Rodrigues

By Pedro Rodrigues

Statistics

Views

Total Views
439
Views on SlideShare
439
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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 ▫ Linear scalability: demo Agenda
  • “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?
  • “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
  •  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
  •  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
  •  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
  • 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 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
  • 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
  • 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 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
  •  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
  •  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
  •  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
  •  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
  • 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 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.
  •  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
  •  Give SBA a try if you’re dealing with data flood  “write once, scale anywhere” seems more than a slogan Take Home Message
  • ?
  • Contact Pedro Rodrigues prodrigues@sogyo.nl 030 - 220 22 16 Web: www.sogyo.nl Blog: www.software–innovators.nl