Object Sharing Service John Mehnert-Spahn, Marc-Florian Mller, - - PowerPoint PPT Presentation

object sharing service
SMART_READER_LITE
LIVE PREVIEW

Object Sharing Service John Mehnert-Spahn, Marc-Florian Mller, - - PowerPoint PPT Presentation

Object Sharing Service John Mehnert-Spahn, Marc-Florian Mller, Kim-Thomas Mller, Michael Schttner XtreemOS IP project 1 is funded by the European Commission under contract IST-FP6-033576 XtreemOS IP project 1/34 is funded by the


slide-1
SLIDE 1

1

1/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Object Sharing Service

John Mehnert-Spahn, Marc-Florian Müller, Kim-Thomas Möller, Michael Schöttner

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

slide-2
SLIDE 2

2

2/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Multicore CPUs
  • Parallel programming (multi threading)
  • -> shared memory within one process address space
  • In-memory architectures
  • In-memory data grids --> shared memory for grids
  • In-memory files, databases --> shared memory for clouds
  • Sharing in-memory data is useful and there

are open research topics

Motivation

slide-3
SLIDE 3

3

3/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Simplify the development of distributed and parallel applications

(in clusters, grids, clouds)

  • Not replacing message-passing solutions but complement them
  • Speed-up data access

Objectives

slide-4
SLIDE 4

4

4/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Speed-up data access by keeping data in RAM
  • Not a new file cache but keep everything in RAM
  • Enable transparent remote memory access
  • System takes care of fetching non-present data
  • Automatic replica management
  • For performance and reliability
  • Multiple consistency models
  • Different data comes with different consistency requirements

Approach

slide-5
SLIDE 5

5

5/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Computing and data intensive apps.
  • Simulations, data mining, ray tracing, … →
  • Typically a few large objects
  • Mostly scalar data

(no pointers)

  • Interactive applications
  • Multi-user games →
  • Many small objects
  • Object structures with

and without pointers

Target Applications

slide-6
SLIDE 6

6

6/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Architecture

slide-7
SLIDE 7

7

7/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Cache Management

  • Hierarchical memory management
  • Distributed allocator -> for allocating zones
  • Sub allocator -> node-local heap management
  • basic unit -> object
slide-8
SLIDE 8

8

8/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Cache Management

  • Access detection
  • Page-based approach --> language independent
  • False sharing
  • Two or more objects reside on one page
  • One object is modified frequently by one node
  • Other objects are accessed by different nodes
  • -> result: page thrashing
slide-9
SLIDE 9

9

9/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

False Sharing Avoidance

  • Using millipages
  • One page per object
  • Different pages mapped onto same page frame

0x2000 0x4000 0x1000 page page frame Logical address space Physical address space

slide-10
SLIDE 10

10

10/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Consistency Models

  • Multiple consistency models are supported
  • within one application
  • It is easy to extend OSS by an own consistency model
  • Typically defined during allocation of an object
  • May be re-defined dynamically before accesses
  • Annotations by the programmer required
  • Allows optimizations
slide-11
SLIDE 11

11

11/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Idea: optimistic instead of pessimistic transactions
  • -> avoiding locks and deadlocks
  • Transactions come with ACId properties
  • For multicore machines but also for distributed systems
  • Much interest in academia and industry in TM-systems
  • We expect more and more transactional applications

Distributed Transactional Memory

slide-12
SLIDE 12

12

12/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • By comparing read and write sets of running
  • verlapping transactions (forward validation)
  • No conflicts --> commit transaction
  • Bundling of writes allows

bulk network transfers

  • Conflict --> abort and
  • ptionally restart transaction

Validation

T1 T2 W(x)=1 R(x)=0

tim e

T1 T2 W(x)=1 R(x)=1

tim e

serialization

slide-13
SLIDE 13

13

13/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Restartability

Read-Set Write-Set Shadow- copies Reset

  • MMU-based access detection
  • One page fault for each first

read or write access

  • Shadow copies for write

accesses → restartability

  • System- and I/O-calls are difficult …
slide-14
SLIDE 14

14

14/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Only one transaction can commit at a point of time
  • Can be implemented by passing a token around
  • Problem: hard to find the token
  • Solution: coordinator-based token-passing
  • Optimization:
  • Extend token by a request-list (filled by coordinator)
  • Token can be passed directly between peers (until list is empty)

Commit Serialization

C 2 3

slide-15
SLIDE 15

15

15/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Commits are numbered by a 64-Bit Commit-Number
  • Incremented by each commit
  • Stored in the token
  • Allows sending commits without waiting for acks
  • Receivers buffer and sort incoming commits and deliver

them in ascending commit-number order

Commit Propagation

slide-16
SLIDE 16

16

16/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Overlay Network

  • Group geographically near nodes
  • Heuristic: ping round-trip time
  • Super-peer candidates
  • Nodes with good

network connection

  • High cpu power

...

  • For scalability
slide-17
SLIDE 17

17

17/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Super-Peer Commit

  • Token passed among super peers, only
  • Reduced number of nodes compete for the token
  • Super-peers can commit a bunch of transactions
  • While waiting for the token they can validate pending

transactions of their group against each other

  • Conflicts may be detected before token arrives
  • -> affected transaction can be aborted immediately
  • Also allows transaction ordering, e.g. for fairness
slide-18
SLIDE 18

18

18/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Consistency domains
  • Transactions run within a certain domain
  • Domains are synchronized separately
  • Local Commit (without network communication)
  • If transaction has not written any data
  • Or if only data has been modified that is not replicated
  • Chained transactions to mask commit latency
  • Start with next transaction, while commit is pending

Further Scalability Aspects

slide-19
SLIDE 19

19

19/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Adaptive replication based on monitoring access patterns
  • Mix of updates and invalidates
  • For performance near accessing clients
  • For reliability spread in the network
  • Backup replicas
  • Needed to allow local commits
  • Must not be accessed directly

Replica Management

slide-20
SLIDE 20

20

20/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Data objects can be named and registered in the built-in naming

service

  • Entries point to data objects using an address/ID
  • Where to find this address/ID ?
  • Super peers manage the global address/ID space in a ring
  • A new arriving super peer gets its logical

position in the ring using a hash function

  • It takes over a part of the ID space from its successor
  • From then it is reponsible for zone allocations in this subspace
  • This allows a conflict-free global address/ID space management

Data Search

slide-21
SLIDE 21

21

21/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Address Space Mgmt.

100 220 350 Super peer Peer

  • Example: 3 super peers, 6 additional peers
slide-22
SLIDE 22

22

22/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Data Search

  • If an address/ID is unknown a node contacts its super peer
  • The super peer can easily determine the super peer responsible for the

address/ID region wherein the searched address/ID resides

  • It contacts this super-peer which will know which node

has allocated a zone within its managed region

  • This note has still this object or knows at least to

which node it has sent the object

slide-23
SLIDE 23

23

23/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • A node asks its super peer for object 47

Data Search Example

100 220 350 Super peer Peer 47?

slide-24
SLIDE 24

24

24/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • The super peer forwards this request to the

appropriate super peer

Data Search Example

100 220 350 Super peer Peer 47?

slide-25
SLIDE 25

25

25/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • This super peer replies with the peer ID that has allocated the

relevant zone

Data Search Example

100 220 350 Super peer Peer Node 1234

slide-26
SLIDE 26

26

26/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • The super peer forwards the reply to the requesting peer

Data Search Example

100 220 350 Super peer Peer Node 1234

slide-27
SLIDE 27

27

27/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Finally, the node sends the request directly to the node managing

the relevant zone

It may then receive the object or the node ID of the actual object holder

Data Search Example

100 220 350 Super peer Peer Get 47

slide-28
SLIDE 28

28

28/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Super peers and other peers see commits
  • -> all nodes learn about object migrations
  • Super peers store finished commits (transaction history)
  • Necessary if node needs to recover from missed commits
  • But also useful for data search:

If a super peer has the searched object ID in its cache it directly contacts this node

If this search fails it searches the zone holder (like described before)

Data Search Optimizations

slide-29
SLIDE 29

29

29/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Fault-tolerant overlay-network
  • Adaptive replication
  • For performance near accessing clients
  • For fault reliability spread in the network
  • Transaction history buffer to recovery missed write sets
  • Checkpointing for fault tolerance

Reliability Aspects

slide-30
SLIDE 30

30

30/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

XOSAGA Example

shared_buffer_service sbs(bootstrap_url, local_url); transactional_domain dom; shared_buffer buf; transaction_id tid; dom = sbs.create_transactional_domain("test_transactional"); buf = dom.create_buffer(buf_name, buf_size); tid = dom.begin(); // ... dom.commit(tid);

slide-31
SLIDE 31

31

31/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • In-memory data sharing allows fast data access and simplifies

the development of distributed & parallel applications

  • Automatic replication provides performance & reliability
  • Multiple consistency models within one app. for different needs
  • Including distributed transactional memory
  • -> strong consistency, comparable efficient
  • But weaker consistency models, too
  • Tested with different apps., including a multi-user virtual world

Conclusions

slide-32
SLIDE 32

32

32/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

  • Tests with further applications:
  • software engineering
  • bioinformatics
  • ...
  • Data sharing for cloud applications (map&reduce)
  • Optimization of replica management, transactions, ...

Outlook

slide-33
SLIDE 33

33

33/34

XtreemOS IP project is funded by the European Commission under contract IST-FP6-033576

Marc-Florian Müller: transaction, replication, network Marc-Florian.Mueller@uni-duesseldorf.de Kim-Thomas Möller: cache management, replication, data search, network Kim-Thomas.Moeller@uni-duesseldorf.de Michael Schöttner: team leader Michael.Schoettner@uni-duesseldorf.de

Contacts