asas 2013 - space-based architecture: linear scalability? high throughput? low latency?

Post on 29-Nov-2014

498 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

By Pedro Rodrigues

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

2AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

“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?

3AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

“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

4AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

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

5AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

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

6AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

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

7AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

Linear scalability using Tuple Space: how?

8AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

SBA: processing unit

9AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

Processing Unit

SpaceData

Messages

Service A

Service B Service

C

NotifyTake Write

Processing Unit

SpaceData

Messages

Service A

Service B Service

C

Processing Unit

SpaceData

Messages

Service A

Service B Service

C

Processing Unit

SpaceData

Messages

Service A

Service B Service

C

SBA: linear scalability processing unit replication + sharding

10AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

ClientApplication

Space Proxy

Processing Unit

SpaceData

Messages

Service A

Service B Service

C

Processing Unit

SpaceData

Messages

Service A

Service B Service

C

SBA: fault toleranceprimary and backup processing units

11AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

Primary Processing Unit

SpaceData

Messages

Service A

Service B Service

C

Backup Processing Unit

SpaceData

Messages

Service A

Service B Service

C

SBA: deployment/run environment

12AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

@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

14AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

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

15AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

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

16AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

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

17AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

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

18AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

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

19AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

Linear scalability: a demo

SBA

20AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

SBA: demo

21AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

Processing Unit

Space

MessageProcessor

Take WriteClient

Application

Space Proxy

1. Writes a maximum of 30000 messages per second into the space.

2. Reads the number of messages processed after 10 seconds.

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

22AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

Give SBA a try if you’re dealing with data flood “write once, scale anywhere” seems more than a

slogan

Take Home Message

23AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

?

24AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 2013

AGILE SOFTWARE ARCHITECTURE SYMPOSIUM 201325

Contact

Pedro Rodrigues

prodrigues@sogyo.nl

030 - 220 22 16

Web: www.sogyo.nl

Blog: www.software–innovators.nl

top related