A Scalable Server for 3D Metaverses Ewen Cheslack-Postava, Tahir Azim, Behram F.T. Mistree, Daniel Reiter Horn, Je ff Terrace, Philip Levis, and Michael J. Freedman sirikata.com
Metaverses 2
Metaverses 3
Metaverses 3
Metaverses 3
Metaverses Applications: • Games • Augmented reality • Historical recreations • Collaborative visualization • ... what will users create? 4
5
6
7
8
These are systems problems. 9
Object Discovery 10
Object Discovery 10
Object Discovery 10
How do we scale up the world without limiting the scope of interaction? 11
Sirikata Seamless, scalable, and federated metaverses 12
Insight The real world scales. 13
Design Principle Scale by applying real-world constraints to the system. 14
Object Discovery 15
Object Discovery 15
Solid Angle Queries Insight : Limited display resolution Solid angle: how large an object appears 16
Ideal 17
Distance, 3000 Objects 18
Solid Angle, 3000 Objects 19
Solid Angle & Aggregates, 3000 Objects 20
Ideal 21
Object Discovery Solid angle queries are global. How do we e ffi ciently and scalably evaluate solid angle queries? 22
Data Structure - BVH 23
Data Structure - BVH C D A B A B C D 23
Data Structure - BVH C D X X A B A B C D 23
Data Structure - BVH Y C D X X Y A B A B C D 23
Data Structure - BVH Y Z C Z D X X Y A B A B C D 23
Data Structure - BVH Q Y Z C Z D X X Y A B A B C D 24
Data Structure - BVH Q Y Z C Z D X X Y A B A B C D 25
Data Structure - BVH Q Y Z C Z D X X Y A B A B C D 26
New Data Structure - LBVH Q Y Z C Z (A) D X X (A) Y (C) A B A B C D 27
New Data Structure - LBVH Q Y Z A C Z (A) D X X (A) Y (C) A B A B C D 27
LBVH 75 - 90% fewer nodes tested than with BVH 28
Dynamic Objects Moving objects make the LBVH ine ffi cient over time X A B 29
Dynamic Objects Moving objects make the LBVH ine ffi cient over time X A B 29
Dynamic Objects ��������������������������������� ���� ������������������������������� ���� ����� ���� ���� ���� �������������������� ������������ ���� � ����� ������� ������� ������� ������� ������������������ 30
Dynamic Objects ��������������������������������� ���� ������������������������������� ���� ����� ���� ���� ���� �������������������� ������������ ���� � ����� ������� ������� ������� ������� ������������������ Split between static and dynamic objects 30
Dynamic Objects 10 - 15% less expensive during short, 100 second experiment Bene fi t improves over time 31
Standing Queries Z (A) X (A) Y (C) A B C D Cuts avoid redundant work
Standing Queries Z (A) X (A) Y (C) A B C D Cuts avoid redundant work
Standing Queries Z (A) X (A) Y (C) A B C D Cuts avoid redundant work
Standing Queries Z (A) X (A) Y (C) A B C D Cuts avoid redundant work
Standing Queries Z (A) X (A) Y (C) A B C D Cuts avoid redundant work
Standing Queries Z (A) X (A) Y (C) A B C D Cuts avoid redundant work
Standing Queries Z (A) X (A) Y (C) A B C D Cuts avoid redundant work
Standing Queries 20 - 56% increase in query evaluation rate 38
Aggregation Z (A) X (A) Y (C) A B C D 39
Aggregation Z (A) X (A) Y (C) A B C D 39
Aggregation Z (A) X (A) Y (C) A B C D 39
Aggregation Z (A) X (A) Y (C) A B C D 39
Aggregation Z (A) X (A) Y (C) A B C D 39
Aggregate Queries • Queries on a server are all similar • Aggregate queries to reduce inter- server querying load • Filter results further before returning results to querier 40
Server Discovery 10 41 10
Server Discovery • Geometric server discovery • Determine which other servers need to be queried • Built on same LBVH data structure 42
43
44
Also in the Paper • Globally consistent distributed data structure mapping regions to servers • Global routing table enabling all-pairs communication • Forwarder with intuitive, physically- based weighting emphasizing local tra ffi c 45
Wiki World Automatically fi nd information about objects on Wikipedia 46
But wait, there’s more... There are many more systems challenges at the intersection of systems, graphics, PL, databases, ... A few examples: • Audio: distant siren, roar of a crowd • E ffi cient property updates 47
Thank You Download and code at sirikata.com Questions? 48
Recommend
More recommend