a gaming framework for a transactional dsm system

19
PLURIX PLURIX Department of Distributed Systems Department of Distributed Systems A Gaming Framework for a transactional DSM System • Multiplayer Gaming Framework • A Sample Game ‘Teletennis’ • Performance Evaluation • Conclusions & Future Work Speaker: Michael Schoettner • Distributed Heap Storage • Transactional Consistency Ulm University Germany

Upload: others

Post on 21-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

A Gaming Framework for a transactional DSM System

• Multiplayer Gaming Framework• A Sample Game ‘Teletennis’• Performance Evaluation

• Conclusions & Future Work

Speaker: Michael Schoettner

• Distributed Heap Storage• Transactional Consistency

Ulm UniversityGermany

Page 2: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

The Plurix Project

• The Plurix project:- PC-cluster Operating System with special Java compiler,- Single System Image by storing everything in the DSM (including the kernel).

• Major Goal: simplified development of distributed applications, by:- DSM-communication.- Transactional consistency. - Persistence & fault tolerance.- Distributed garbage collection.- Unified name service & cluster perspective.

• Applications:- Virtual worlds,- Telecooperation,- Multi-player games & edutainment,- (Number crunching & parallel processing).

1 / 15

Page 3: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Distributed Heap Storage

2 / 15

• Currently 4 Gbytes of distributed shared virtual memory.

• Garbage collection using a backchain:- Cluster-wide & incremental GC,- object references are linked together,- Garbage blocks have empty backchain.

• Relocation of objects in the Heap:- Reallocate object,- Adjust all references,- avoid fragmentation,- control False Sharing ...

• Persistent heap:- stations leave and join,- persistence by checkpointing,- PageServer(s) used for recovery.

DSM Heap

MMUs

Object References

Object

Page 4: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Transactional Consistency

3 / 15

• Single memory accesses are not of interest, but only a set ofoperations performed within a transaction.

• Transactions within Plurix:- Follow the well-known ACID properties.- Implicitly defined by the command loop.- Are aborted in case of a collision.- May automatically restart.

• Transactional Consistency(Wende):- Sequential consistency always preserved.- Strict consistency at commit points.

�Reduced complexity,but number crunching applicationsmay need additional weaker models.

T1

T2

W(x)=1

R(x)=0 R(x)=1

time

T1

T2

W(x)=1

R(x)=1 R(x)=1

time

serialization

sequential consistency

strict consistency

Page 5: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Restartable Transactions

4 / 15

• Optimistic synchronization between concurrent Transactions:- Writes will initially be on local copies only, shadow copies are preserved- Separate Read-Sets and Write-Sets are built during a transaction,- An ending transaction broadcasts a Commit-Request,- Reset on collision �

• Collision resolution:- short TAs preferred,- Forward-Validation,- Serializing on a token,- Currently „First wins“,- Fairness to be improved.

• Devices & Restartability:- SmartBuffers,- “undo”-Function.

Read-Set

Write-Set

Shadow-copies

Reset

Page 6: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Activity - Transactions

5 / 15

• Activity in Plurix: - no Processes and Threads,- but Transactions.

• Cooperative multitasking (Oberon-style):- Central transaction loop,- Garbage collection task,- Legacy network protocols,- Mouse & keyboard events,- User-installed transactions.

• Transactions:- extend the class “TA”- implement method “run”.- “run” is called by the scheduler.- periodically or as an event listener. - BOT & EOT inserted by scheduler implicitly.- Long running TAs need to be split up explicitly by the programmer.

System System

System

Network

Input

System User

Page 7: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Multiplayer Gaming Framework

6 / 15

• Object-oriented framework in Java:- provides a shared scene graph with moving objects,- replication & consistency of scene data managed by DSM,- application-specific classes inherit, extend, and adapt the framework.

GameViewer

XSprite

XSpriteTA

Sprite

Game

Scene

PaintTA

PicElement

start class

game definition

Application

gamingTK

EventListener

runtime

TA

Page 8: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Multiplayer Gaming Framework (2)

7 / 15

• Shared scene graph accessible through the cluster-wide name-service.

• Each moveable sprite is registered as a periodically called transaction.

• User input to control avatars handled by Java listeners.

• Challenge: transactional graphic output- transactions rollbackable and restartable but device I/O not.- solution 1: implement an undo buffer in display memory- solution 2: execute device commands at commit time � smart buffers

write-off=1

2711

write-off=2read-off=1

0

x

interrupt spacetransaction space

Page 9: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Update on Demand

8 / 15

• Each node executes periodically a PaintTA refreshing the game scene.

• Thus, changed data is automatically fetched by the underlying DSM.• And slower nodes automatically skip object movements.

• But old positions must not be stored within the sprite.�

better stored in the node-local viewer object

Node-1 Node-2

Page 10: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Update on Demand

8 / 15

• Each node executes periodically a PaintTA refreshing the game scene.

• Thus, changed data is automatically fetched by the underlying DSM.• And slower nodes automatically skip object movements.

• But old positions must not be stored within the sprite.�

store with the local viewer object

Node-1 Node-2

Page 11: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Update on Demand

8 / 15

• Each node executes periodically a PaintTA refreshing the game scene.

• Thus, changed data is automatically fetched by the underlying DSM.• And slower nodes automatically skip object movements.

• But old positions must not be stored within the sprite.�

store with the local viewer object

Node-1 Node-2

Page 12: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Update on Demand

8 / 15

• Each node executes periodically a PaintTA refreshing the game scene.

• Thus, changed data is automatically fetched by the underlying DSM.• And slower nodes automatically skip object movements.

• But old positions must not be stored within the sprite.�

store with the local viewer object

Node-1 Node-2

Page 13: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

A Sample Game ‘Teletennis’

9 / 15

• 256 lines of source code.

• Support up to four players.• Ball moved by a periodically called TA.

• Each racket is controlled by an interactive user.

Page 14: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Performance Evaluation

11 / 15

• Measurements with four nodes:- Node 1: Pentium 4, 2.4 GHz, 256 MB RAM (266 Mhz).- Node 2: AthlonXP 2.2, 1.8 GHz, 256 MB RAM (333 Mhz).- Node 3: AthlonXP, 2.0 GHz, 256 MB RAM (333 Mhz).- Node 4: Celeron, 1.8 GHz, 256 MB RAM (266 Mhz).- Connected by a FastEthernet Hub.

• Measurements are integrated into the memory consistency protocol.

• Game setup:- Rackets are moved automatically every 50ms.- PaintTA is executed on each node every 40ms.- Ball is moved by a TA running on the first node every 50ms.

Page 15: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Performance Evaluation – Cluster Latencies

12 / 15

• Average of all page/token requests of all nodes in the cluster.

0

100

200

300

400

500

600

1 2 3 4

#nodes

mic

rose

cond

s

overall page latency page latency

overall token latency token latency

Page 16: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Performance Evaluation – Cluster Throughput

• Total number of commits and aborts in the cluster.

020406080

100120

140160180

1 2 3 4

#nodes

TA

s

commits/s

aborts/s

13 / 15

Page 17: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

Performance Evaluation – Network Traffic

14 / 15

• OS can manage 2´700 page requests per second using Fast Ethernet.

• Number of page requests per second during running game:

0

50

100

150

200

250

300

350

400

450

500

1 2 3 4

#nodes

page

re

que

sts

/ se

cond

node 1

node 2

node 3

total

Page 18: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

• Multiplayer games over new perspectives for DSM systems.

• Distributed Shared Memory:- simplifies distribution and replication of data and - ensures consistency of shared scene graphs.

• More sophisticated games are needed to evaluate scalability …

• Multi-room games and virtual worlds of special interest.

15 / 15

Conclusions

Page 19: A Gaming Framework for a transactional DSM System

PLURIXPLURIXDepartment of Distributed SystemsDepartment of Distributed Systems

The End

CeBIT 2000 DSM-Demonstrator

http://www.plurix.de