denis caromel1 florian doyon, fabrice huet, julien vayssiere, david sagnol inria -- cnrs - i3s --...

11
Denis Caromel 1 Denis Caromel Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis [email protected] DIVA: Distributed and Interactive Virtual world in Java 1. Objectives 2. Structure and Features of DIVA 3. Demo ... 4. Benchmarks and conclusions

Upload: timothy-fisher

Post on 13-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 1

Denis CaromelFlorian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol

INRIA -- CNRS - I3S -- Univ. of Nice [email protected]

DIVA: Distributed and Interactive Virtual world in Java

1. Objectives

2. Structure and Features of DIVA

3. Demo ...

4. Benchmarks and conclusions

Page 2: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 2

ObjectivesTest and benchmark the Java technology in:• Concurrency, Distribution, Applications

JavaGrande working groug

• In actual applications, featuring not a single task to benchmark, but:

• RMI communications

• computations

• visualization (3D)

• User Interface

Page 3: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 3

DIVA: Distributed Int. Virtual World in Java

Page 4: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 4

Structure of Diva

ProActive:

- asynchronous calls

- future-based synchronization

- migration of Active Objects

Java3D:

- Graphical 3D objects

- RenderingRMI

ProActiveJava3D AWT-Swing

server

client

client

client

client

RUN-TI

ME

S

O

F

T

Page 5: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 5

Features of DivaGraphical objects:

• Avatars : user reprensantation --> 1 thread

• Autonomous active objects :• Droids, dogs, sheeps, etc. (open 3D model) --> 1 thread

• Passive objects (cube, sphere, etc.)

Interactions:• Collision, pickup and move around objects

Migration:• active objects live in the client

• migrate from one VM to another

No classical optimizations:• No point to point client communications

• No motion predictions

Page 6: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 6

Demo

• 2 Pentium II (300 and 400 Mhz), 128 MB RAM

• Under NT

• One with a client + the server

• One with a client

Page 7: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 7

Benchmarking such an application

• Hard to do

• Try anyway:

• Frames per second:

• Add a counter in the routine postRender () of Java3D

• Throughput : point to point, one way

• Number of communications

• We know the size of data transmited

The update time (server to clients) varies: 25 ms to 300 ms

Same run accross the virtual world: takes about 1.5 minute

Page 8: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 8

Benchmark platform

Local:• bi Pentium II, 450 Mhz, 256 Mo ram,

• Matrox G200, no 3D card (DirectX)

• NT 4, Service Pack 3

• JDK 1.2.1

Distributed• 2 of those

• Ethernet Lan 10 Mb

Page 9: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 9

Distributed testUpdate time (ms) 0 25 50 75 100 200 300Running time (ms) 77 719,00 79 718,00 79 047,00 79 463,00 113 250,00 152 203,00Frames 651,00 733,00 782,00 749,00 1 232,00 2 420,00Broadcasts 683,00 470,00 464,00 405,00 405,00 399,00

Frames per second 8,38 9,19 9,89 9,43 10,88 15,90Broadcasts/seconds 8,79 5,90 5,87 5,10 3,58 2,62Frames/boradcast 0,95 1,56 1,69 1,85 3,04 6,07Throughput[bytes/sec] 667,89 448,08 446,11 387,35 271,79 199,23

EXPERIMENTAL DATAS

CALCULATIONS

10

110

210

310

410

510

610

710

810

25 50 75 100 200 300

Update Time [ms]

Th

rou

gh

pu

t [b

yte

s\s

ec

]

8

9

10

11

12

13

14

15

16

17

Fra

me

s p

er

se

co

nd

Throughput [bytes/sec]

Frames per second

Left:

Better throughput, but

Too many updates,

Server is overloaded

Client cannot render

Right:

Too much lag

But good frames/s …

Best peformances:

75 ms of UT

10 Frames/s

4 Kb/s Thgh.

(client to server)

Page 10: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 10

Time repartition of threads

70 %

30 %

Distribution

Java 3D

• OptimizeIt, thread repartition

•Java 3D : 30 % collision, 30 % Render, 15 % Traversal

Page 11: Denis Caromel1 Florian Doyon, Fabrice Huet, Julien Vayssiere, David Sagnol INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis caromel@unice.fr DIVA:

Denis Caromel 11

Conclusion

• Low points for performances:• Throughput: only about 10 Kb/s (eff., and application) but

• RMI seems not to be a problem

• More costly: Collision detection, Rendering, Traversal of graphical objects

• Able to do:• 10 frames per second between distributed clients

• Update time of about 75 ms

• Perspectives:• Improvements after the benchmarks

• Needs more benchmarks (RMI, Java3D, etc.)

• No real threads priority, optimization --> Java3D 1.2 early 2000

Want to know more ? www.javagrande.org