Project Shining to Improve Avatar and Object Streaming Speeds - SLUniverse Forums
Navigation » SLUniverse Forums > Virtual World Discussion > Blog Feed » Project Shining to Improve Avatar and Object Streaming Speeds


Blog Feed Posts from the SL blog.

 
Reply
 
LinkBack Thread Tools Display Modes
Old 06-29-2012, 09:00 PM   #1 (permalink)
Just the Messenger!
 
Blog Bot's Avatar
Wall-E!
 
Join Date: Aug 2008
Posts: 3,457
My Mood:
Arrow Project Shining to Improve Avatar and Object Streaming Speeds

Somewhere below the regolith in the Linden Lab secret lunar base, some of the Lab’s top minds have been tackling performance issues in Second Life. The areas of focus range from infrastructure improvements to server-side texture compositing to object caching.

This year, Linden Lab is making the single largest capital investment in new server hardware upgrades in the history of the company. This new hardware will give residents better performance and more reliability. Additionally, we are converting from three co-locations to two co-locations. This will significantly reduce our inter-co-location latency and further enhance simulator performance.

The Shining project is the name given to a recent Lab effort to identify and measure delays and other problems with streaming avatars and objects and to propose and implement solutions. During the Shining project, several small improvements have been identified and deployed. The next small improvement from Shining to be deployed will be pre-rendering the starter Avatars to improve the new resident experience.

As a result of the Shining investigation, the project has been split into three larger performance projects: Project Sunshine, Object Caching, and HTTP Library.

All together, the hardware upgrades and the Shining projects should improve avatar and object streaming speeds significantly. Depending on your unique situation, your mileage will vary.





Project Sunshine (Server-side Baked Texture Generation & Storage)


Currently, all client viewers are responsible for compositing their own Avatar textures, then sending the results back to the Sim for other viewers to access. This method can lead to slowdowns and errors. The actual calculations for compositing textures are straightforward and not particularly time-consuming. However, in order for the viewer to do the calculations it first has to download a lot of individual assets from the Sim, and must then upload large results back to the Sim. This pushes a lot of bits through the Sim / Viewer connection, which can be slow and unreliable.

Depending on client hardware to do the compositing and uploading of the resulting baked textures can introduce erroneous results (like way too much pink). In order to handle these errors, a number of retry and fallback mechanisms have been put in place. This adds further load and overhead to the whole system.

Project Sunshine stands up a Texture Compositing server that is separate from the Sims servers. When a Viewer needs to render an Avatar, it sends a message to the Sim, which in turn sends a message to the Texture Compositing Server. The Texture Server then performs the texture compositing and sends the results back to the Viewer.

The Texture Server has access to a database of previously generated Avatar textures. If the Sim is asking for the baked textures for an Avatar that has been previously calculated, the Texture Server can pull the results out of the database instead of recalculating. Even if it’s not the same Avatar, but the set of clothes is the same, the Texture Server can use the previously calculated results.

An additional advantage of having a Texture Generation server is that the heavy HTTP communication about the individual assets that make up an Avatar will happen on reliable, fast internal network connections instead of external connections.

Object Caching & Interest Lists

Caching objects on a resident’s hard drive is intended to provide faster drawing of objects that are most likely to be redrawn later in a resident’s session or in the next session.

The current object cache implementation has room for improvement. Currently, the viewer only caches objects at the point the resident disconnects from a region and only objects currently in view are cached. The current caching communication between Sim and Viewer when a scene is initially being loaded is inefficient and resource intensive.

The new system is designed to make sure that a viewer never has to download object information that it already has and is still valid. This will reduce the load on the Sim and on the Sim / Viewer connection.

With the new system, when the Viewer connects to a region, the Sim first says to the Viewer, “Here’s a list of all my object groups by UUID.” The Viewer checks its cache and replies, “Here are the timestamps for the object groups that I found in my cache.” (If an object group is not found in the cache, the timestamp is 0.) The Sim checks the Viewer’s timestamps against its own data and responds, “Here’s a list of object groups in your cache that are still valid.” While the Viewer starts drawing valid objects from its cache, the Sim starts streaming the new object data that the Viewer needs, based on the particular Viewer’s object priorities.

HTTP Library

Top performance for the Shining initiatives depend on the speed and reliability of HTTP messages initiated by both the Viewers and the Sims. The third part of the Shining project, the new HTTP Library, implements modern best practices in messaging, connection management, and error recovery.




More...
Blog Bot is offline   Reply With Quote
1 User Laughed:
2 Users Said Thanks :
Old 06-29-2012, 09:25 PM   #2 (permalink)
SLU Fluffer
 
pancake's Avatar
 
Join Date: Feb 2011
Location: The True North
Posts: 3,437
My Mood:
SL Join Date: 2007
Client: Usually Catznip but I dabble a lot in others

Awards: 1
The Penis Handler 
Quote:
Originally Posted by Blog Bot View Post
Somewhere below the regolith in the Linden Lab secret lunar base, some of the Lab’s top minds have been tackling performance issues in Second Life.
Dear Blog Bot,
This all sounds very interesting and exciting, but I just wanted to say I love the intro here!

Great to see this humour from the Lab, keep it coming.
__________________
My blog and my pictures
"It's one thing to have a difference of opinion, it is quite another to be a consistently toxic ass" ~ Cristiano
pancake is offline   Reply With Quote
1 User Said Thanks:
Old 06-29-2012, 11:05 PM   #3 (permalink)
Senior Member

*SLU Supporter*
 
Eunoli Rain's Avatar
Not eating peas
 
Join Date: Mar 2011
Location: Shady Falls
Posts: 2,033
The object caching list sounds extremely promising.
Eunoli Rain is offline   Reply With Quote
Old 06-30-2012, 12:31 AM   #4 (permalink)
Rumpcious!
 
Kick Frenzy's Avatar
Sobriety is over-rated.
 
Join Date: Apr 2012
Posts: 387
My Mood:
SL Join Date: Feb 4 2010
Business: Bang Rumpus
Client: Official (current)
I'm wondering if that's why they've been quiet lately.
Too busy gettin shit right!

Sounds tasty... can't wait to bite into it.
Kick Frenzy is offline   Reply With Quote
Old 06-30-2012, 12:44 AM   #5 (permalink)
Grid.Living
 
Lordfly Digeridoo's Avatar
I kicked your dog. TO THE MOON.
 
Join Date: Aug 2007
Location: Michigan
Posts: 3,903
My Mood:
SL Join Date: 7/21/2003
Business: Grid.Living

Awards: 1
Thread Title of the Week 
Send a message via MSN to Lordfly Digeridoo Send a message via Skype™ to Lordfly Digeridoo
I'll believe it when I see it. Any of it.
__________________
http://www.lordfly.com/
Lordfly Digeridoo is offline   Reply With Quote
3 Users Laughed:
3 Users Agreed:
Old 06-30-2012, 12:49 AM   #6 (permalink)
Senior Member
 
Evola's Avatar
Ho-Hum
 
Join Date: Sep 2008
Location: Outskirts of Cirque Du Hades
Posts: 1,654
My Mood:
SL Join Date: 2/29/2008
If their investment and other measures actually improve things as promised, it will more than make up for my disappointment in their not taking part in SL9B this year(though I do wish they had at least thrown up a sim for Bear Island this year, after so many residents came together with sims and builds on such short notice. Maybe SL10B!)
Evola is offline   Reply With Quote
Old 06-30-2012, 12:53 AM   #7 (permalink)
Senior Member
 
Darien Caldwell's Avatar
Mayan Time Lord
 
Join Date: Apr 2008
Location: Cali
Posts: 2,003
My Mood:
SL Join Date: 10/12/2006
Business: [H]arsh Styles
Client: Always changing, and too lazy to edit.
Quote:
With the new system, when the Viewer connects to a region, the Sim first says to the Viewer, “Here’s a list of all my object groups by UUID.” The Viewer checks its cache and replies, “Here are the timestamps for the object groups that I found in my cache.” (If an object group is not found in the cache, the timestamp is 0.) The Sim checks the Viewer’s timestamps against its own data and responds, “Here’s a list of object groups in your cache that are still valid.” While the Viewer starts drawing valid objects from its cache, the Sim starts streaming the new object data that the Viewer needs, based on the particular Viewer’s object priorities.
Seems a bit redundant for the viewer to send it's object groups first, then have the viewer say which it has and how old, and then for the sim to return which are valid back.

It would be more efficient for the sim to send what object groups it has and their age from the start, and then the viewer can immediately determine which cached objects are old and which are not.

The big advantage to their method I guess, is that the server does all the heavy decision making. I can only guess they wanted to keep the client as unloaded as possible. Considering how old some people's computers are, I guess wise.

As for the HTTP library, I really hope the fix the viewer. Ever since they put in the nwe CURL library, mesh uploading fails constantly for many people.
__________________
[H]arsh Styles
Darien Caldwell is offline   Reply With Quote
1 User Agreed:
Old 06-30-2012, 01:04 AM   #8 (permalink)
Senior Member
 
Evola's Avatar
Ho-Hum
 
Join Date: Sep 2008
Location: Outskirts of Cirque Du Hades
Posts: 1,654
My Mood:
SL Join Date: 2/29/2008
Quote:
This year, Linden Lab is making the single largest capital investment in new server hardware upgrades in the history of the company.

At least they're throwing money at it. I realize it takes a lot more than that, but seems to be a change from the cutbacks of previous years.
Evola is offline   Reply With Quote
1 User Disagreed:
Old 06-30-2012, 01:09 AM   #9 (permalink)
Abnormally Normal
I Don't Really Exist Do I ?
 
Join Date: Aug 2010
Location: Atlanta, GA
Posts: 1,220
My Mood:
Client: I try all of them, but for everyday use it's Cool VL Viewer.
I'm hoping that all of these server side changes and improvements are in preparation for LL's own version of a Distributed Scene Graph so they can get more people on a region. That, in combination with all the mesh stuff, the two deformer methods, pathfinding, and advanced experience tools, would be a good way to compete with the Cloud Party's of the world.
Lord is offline   Reply With Quote
1 User Agreed:
Old 06-30-2012, 01:54 AM   #10 (permalink)
?
 
Join Date: Apr 2008
Posts: 94
LL has made A LOT of small performance improvements over the last year. At the SL9B event I was actually able to move around and load textures unlike last year. It is good to hear that LL is going to continue to persue those upgrades even further.
hibit is offline   Reply With Quote
1 User Agreed:
1 User Likes This:
Old 06-30-2012, 04:17 AM   #11 (permalink)
Particle Laboratory Elf
 
Jopsy Pendragon's Avatar
 
Join Date: Nov 2008
Location: Hillcrest, San Diego, USA
Posts: 5,564
My Mood:
SL Join Date: Jan 15 2004
Business: Light Sorcery
Outstanding! Thanks for the forecast/update!
Jopsy Pendragon is offline   Reply With Quote
Old 06-30-2012, 06:43 AM   #12 (permalink)
Miss StarLight
 
Hitomi Tiponi's Avatar
The little dabbler
 
Join Date: Mar 2010
Location: Variable
Posts: 2,675
SL Join Date: 06/12/08
This is excellent news, especially on object caching. I think LL have been looking at usage stats and have seen that most users just hang around in a few regions so object caching would be great for them. There also seems to be a major strategy of 'let our servers handle all the heavy stuff' which will put them in a better position for handling cloud-streaming and access via mobile devices.

What surprises me is that there are also lots of other improvements that are currently in development (such as improved sim crossings), that will impact most users, that they don't even bother mentioning. News from LL is always welcome but hiring better PR guys would also be more welcome - it's no good doing good things if no-one realises. Burying a technical explanation in a non-headline blog post means that many of the users will still think that LL is not doing anything and just letting the place die.
Hitomi Tiponi is offline   Reply With Quote
4 Users Agreed:
Old 06-30-2012, 07:19 AM   #13 (permalink)
Is eating your shoes.
 
Naiki's Avatar
Nom
 
Join Date: Jun 2009
Posts: 1,134
Business: Blue Moons
LL are making the single biggest investment in its history?

OMG!!!!! SL IS FAILING! BAIL NOW WHILE YOU CAN STILL CASH OUT LINDENS!!!!!!! I bet they are going bust! This is so they can sell the hardware after they go bust!!!!! Bloody LL'ers!!!!! I am going to go and check a reliable source I know on the matter....

*Opens Hemlets blog*
Naiki is offline   Reply With Quote
1 User Groaned:
Old 06-30-2012, 07:23 AM   #14 (permalink)
Is eating your shoes.
 
Naiki's Avatar
Nom
 
Join Date: Jun 2009
Posts: 1,134
Business: Blue Moons
More seriously... This mean we are getting a better technical SL right?

Naiki is offline   Reply With Quote
1 User Agreed:
Old 07-01-2012, 02:02 AM   #15 (permalink)
Rumpcious!
 
Kick Frenzy's Avatar
Sobriety is over-rated.
 
Join Date: Apr 2012
Posts: 387
My Mood:
SL Join Date: Feb 4 2010
Business: Bang Rumpus
Client: Official (current)
Quote:
Originally Posted by Darien Caldwell View Post
Seems a bit redundant for the viewer to send it's object groups first, then have the viewer say which it has and how old, and then for the sim to return which are valid back.

It would be more efficient for the sim to send what object groups it has and their age from the start, and then the viewer can immediately determine which cached objects are old and which are not.
Doesn't the Viewer have to tell the Sim it's there in the first place?
If so, wouldn't it make sense for the Viewer to say, "I'm here! And here's what I got in my bags!"
Then the server is all, "OHAI! We got this shit already, as a matter of fact, I'm showing it to you right now! So, you only need to show us what other shit you brought."
Then the Viewer is like, "Sweet dude. Imma just start sending you this shit while you're showing me the shit you already got."

Instead of the Sim being like, "I'm going to continuously shout about what I got so anybody who comes around knows"
And then a Viewer coming in and saying, "Shit dude! Ok, so you got that... lemme show you what I got that you don't."
Then the Sim/Server responding, "Cool, I'm gonna start showing you this shit, while you start sending me copies of what I don't have."
Then the Viewer being like, "Cool here's what I have that you don't."
Kick Frenzy is offline   Reply With Quote
3 Users Laughed:
2 Users Like This:
Old 07-01-2012, 06:08 AM   #16 (permalink)
Senior Member
 
Ailsa Muliaina's Avatar
Watch out for hairballs....
 
Join Date: Mar 2010
Location: UK/My own wee world
Posts: 704
My Mood:
Business: ~AMU~
Client: Singularity, Imprudence
Send a message via Yahoo to Ailsa Muliaina
I read "Project Shining" and wondered if Rod had hired Jack Nicholson to help motivate his staff... Guess they'll be worried if he suggests one of those motivational team holidays in a remote hotel!

Ailsa Muliaina is online now   Reply With Quote
1 User Said Yay!:
1 User Agreed:
1 User Likes This:
Old 07-01-2012, 10:33 AM   #17 (permalink)
Senior Member
 
Darien Caldwell's Avatar
Mayan Time Lord
 
Join Date: Apr 2008
Location: Cali
Posts: 2,003
My Mood:
SL Join Date: 10/12/2006
Business: [H]arsh Styles
Client: Always changing, and too lazy to edit.
Quote:
Originally Posted by Kick Frenzy View Post
Doesn't the Viewer have to tell the Sim it's there in the first place?
If so, wouldn't it make sense for the Viewer to say, "I'm here! And here's what I got in my bags!"
Then the server is all, "OHAI! We got this shit already, as a matter of fact, I'm showing it to you right now! So, you only need to show us what other shit you brought."
Then the Viewer is like, "Sweet dude. Imma just start sending you this shit while you're showing me the shit you already got."

Instead of the Sim being like, "I'm going to continuously shout about what I got so anybody who comes around knows"
And then a Viewer coming in and saying, "Shit dude! Ok, so you got that... lemme show you what I got that you don't."
Then the Sim/Server responding, "Cool, I'm gonna start showing you this shit, while you start sending me copies of what I don't have."
Then the Viewer being like, "Cool here's what I have that you don't."
The viewer connecting to the sim is one of the first things that happens when you log in. That's all a sim needs to "know" a viewer is there.

To put in your terms, "hi, viewer here!", then "ok viewer, here's what I got". is what I was talking about. A terse "Viewer here" message would reduce the amount of data being sent by 1/3, but like I pointed out, it requires the viewer to do the heavy decision making.

But as I mentioned, I see the wisdom in what LL is doing. I was really just talking to myself in my post, I know most don't have any idea how things actually work.
__________________
[H]arsh Styles
Darien Caldwell is offline   Reply With Quote
Old 07-01-2012, 10:56 AM   #18 (permalink)
Miss StarLight
 
Hitomi Tiponi's Avatar
The little dabbler
 
Join Date: Mar 2010
Location: Variable
Posts: 2,675
SL Join Date: 06/12/08
Quote:
Originally Posted by Darien Caldwell View Post
I know most don't have any idea how things actually work.
I know, I know.

Log in....magic happens....the world appears!
Hitomi Tiponi is offline   Reply With Quote
1 User Laughed:
2 Users Agreed:
Old 07-01-2012, 11:01 AM   #19 (permalink)
Is eating your shoes.
 
Naiki's Avatar
Nom
 
Join Date: Jun 2009
Posts: 1,134
Business: Blue Moons
Quote:
Originally Posted by Hitomi Tiponi View Post
Log in....magic happens....the world appears!
Are you suggesting theres more to it than that?
Naiki is offline   Reply With Quote
Old 07-02-2012, 02:25 PM   #20 (permalink)
Moo.
 
Penny Patton's Avatar
 
Join Date: Dec 2007
Location: Here and there. Kinda inbetween places now.
Posts: 3,700
My Mood:
SL Join Date: 11/30/2005
Quote:
Originally Posted by Lordfly Digeridoo View Post
I'll believe it when I see it. Any of it.
Although I do have substantially more faith in present day LL following through with promises like these, I have to admit when I read "Linden Lab's top minds", this was the first thing to pop into my head;


So THAT'S where the Nimble volumetric clouds feature went!
__________________
The Digital Pasture - SL from a cow's point of view. When the cow is also a designer.
Penny Patton is online now   Reply With Quote
2 Users Laughed:
1 User Hugged You:
Old 07-02-2012, 02:41 PM   #21 (permalink)
fractal networker
 
infiniview Merit's Avatar
 
Join Date: Jul 2007
Location: seattle
Posts: 1,296
My Mood:
SL Join Date: 4-27-06
Business: Texture Arts
This is Huge!

Back in '08 there was a thread in the old forums about a new company called OTOY OTOY
That caused some speculation about whether SL would ever go to server side rendering.
Back then it was still a far off dream. Now it is almost compulsory to the future of SL in my opinion. Multiple device access will be just one of the possibilities. This should be one of the biggest performance improvements in it's history in terms of the realm of the possible. The client side rendering paradigm at one time a neccessity is quickly becoming a relic of old technology. Problems making your graphics card work with SL? Not any more, things like this will not be SL's concern anymore.

As the cost of processing and memory and storage has decreased the possibilities have exponentialized. Hence the existence of the clouds and people playing crysis on their ipads.

Cutting down on all of the variables included with needing to be able to send so much data that needs to be processed on each different type of local machines should free LL up to make vast improvements on performance issues. Difficulties arising from logins to sim crossings to lag from dense objects should eventually become a thing of the past once they get the systems up and running to their potential. This could even finally allow for the upgrade of the SL standard avatar. Which I think is another thing that is crucial to the number of people willing to use SL.
__________________
Texture Arts Headquarters

http://slurl.com/secondlife/puea/126/10/60/
infiniview Merit is offline   Reply With Quote
1 User Agreed:
Old 07-03-2012, 05:36 PM   #22 (permalink)
Junior Member
 
Join Date: Jul 2012
Posts: 1
This was interesting enough...

To have me make an SL Universe account and pop my head back into SL.

Of course all I can think of right now is...

Blueman Steele is offline   Reply With Quote
1 User Said Yay!:
2 Users Laughed:
1 User Likes This:
Old 07-03-2012, 05:55 PM   #23 (permalink)
CEO Fallen Angel Designs
 
Lloyd Newman's Avatar
sutatS tidE
 
Join Date: Dec 2009
Location: Rigi
Posts: 3,320
My Mood:
SL Join Date: Late 2006
Business: Fallen Angel Designs
Client: Firestorm 4
I see they've started hacking on the server code already...

__________________

Lloyd Newman is offline   Reply With Quote
Old 07-04-2012, 07:11 AM   #24 (permalink)
Large Member
 
Username's Avatar
-
 
Join Date: Mar 2012
Posts: 49
My Mood:
SL Join Date: 2007
Client: Firestorm
Hmm ok, so instead of the viewer requesting your avatars textures, baking them and sending ONE set of textures back, and often failing to do so for various reasons, we are now going to have a constant back and forth level of chatter that attempts to keep the viewer and servers object list in sync, and involves more load on both the server and viewer end to attempt to do so.

Yes. That'll work. :|
__________________
Username is offline   Reply With Quote
Old 07-04-2012, 09:43 AM   #25 (permalink)
Placeholder
 
Cerise's Avatar
Mauves ovriers ne trovera ja bon hostill
 
Join Date: Oct 2010
Posts: 1,720
My Mood:
Client: SL Viewer 3
Quote:
Originally Posted by Username View Post
Hmm ok, so instead of the viewer requesting your avatars textures, baking them and sending ONE set of textures back, and often failing to do so for various reasons, we are now going to have a constant back and forth level of chatter that attempts to keep the viewer and servers object list in sync, and involves more load on both the server and viewer end to attempt to do so.

Yes. That'll work. :|
The server already has to track all that, and simhosts all over the grid already serve the baked textures to the wearer and everybody else. The only big change is where the baking is done, and as a side effect the fragile temporary asset setup can be eliminated.
Cerise is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On