Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Quotas: Manage resources, reduce lag and crashes

Effsey Nelson
Junior Member
Join date: 14 Dec 2005
Posts: 8
09-28-2006 16:27
HTML version of proposal:
http://www.foxchange.com/flyintails/sl/quota/

*************************************************
PURPOSE

Reduce lag and crashes by allowing sim owners and groups better control of sim resources.


*************************************************
TABLE OF CONTENTS

* The next logical step
* What are resources?
* How it works
* How this would introduce stability by reducing lag and sim crashes
* Interfacing at the estate and group levels


*************************************************
THE NEXT LOGICAL STEP

If you closely follow Second Life's development, you can get a feel for the direction Second Life is headed.

Better and more control of your Second Life resources. That is the direction.

Privacy, groups, land, instant messages, interface, sims and everything else that makes Second Life tick.

The more we can better help ourselves, the less we have to seek the assistance of a Linden. (You could, for instance, ask a friend for assistance.)


*************************************************
WHAT ARE RESOURCES

Resources in this proposal are defined as scripts, primitives, collisions, and anything else that significantly impacts the performance and stability of a sim.


*************************************************
HOW IT WORKS

1. The sim owner delegates how many resources a lot of land is allowed to consume.

2. The group/avatar that controls this lot of land will decided how to share the sim resources given to them by the sim owner.


*************************************************
HOW THIS REDUCES CRASHES AND LAG

Scenario #1

A small parcel of land with a lot of scripted objects can severely lag an entire sim.

By imposing limits, this small lot of land will not be allowed to consume more then its "fair share" of script time.

"Fair share" could be determined by the size of the parcel on the sim.

Scenario #2

Someone places an object that causes mass collisions. These collisions cause the sim to crash.

This can be prevented.

Groups can set up their parcels so that if a non-member's object has a creates a collision score higher then 50, it will be deactivated.

The sim owner can also apply limits across an entire sim. Objects that create excessive collisions will be deactivated.

The sim does not crash, everyone is happy.


*************************************************
FAIR SHARE

This illustration represents an entire sim. The green area represents a parcel that is 1/16th of a sim.

1/16th of a sim is roughly 6.25% of a sim. This parcel will be allowed to consume 6.25% of scripts, collisions and prims.

Sim owners can add "bonuses" to allow each parcel more resources. (Second Life currently allows for primitive bonuses.)

Second Life currently limits amounts of primitives available based on the size of a parcel.

Applying these limits to other resources would really help reduce crashes and lag.

[image: http://www.foxchange.com/flyintails/sl/quota/map.png]

*************************************************
ESTATE LEVEL RESOURCE MANAGEMENT

Here is a possible interface for the Region/Estate window. The basic options would allow you to have no restrictions (as things currently stand), distribute based on size of parcel, and completely disable the use of a resource.

[image: http://www.foxchange.com/flyintails/sl/quota/quota_estate_tools.png]

*************************************************
GROUP LEVEL RESOURCE MANAGEMENT

Groups will be where restrictions get fine tuned.

Targets for restrictions will be by roles, selected avatars and non-members of the group.

The "Restrictions are applied on a 'per avatar' basis" is important.

Example: All members of a certain role will be limited to 500 prims. If this option is checked, then each member of a certain role will be limited to 500 prims.

There are numerous sims that do not rent parcels of land, but they rent prims on one huge parcel.

By using the "Avatars" tab, a group can establish how many prims a selected avatar is allowed to consume.

Non-members is also important. If you have a community sandbox, may want to allow non-members of group 500 prims, no max collisions with a score higher than 50, no more then 25 scripts that may take up no more then 5% of the group's scripts resources.

[image: http://www.foxchange.com/flyintails/sl/quota/quota_group_roles.png]

*************************************************
FINAL THOUGHTS

This proposal is not perfect, does not cover all bases, and is not exact. The idea is clear:

Second Life residents need some kind of mechanism that allows them to have better control of available resources.
Angel Fluffy
Very Helpful
Join date: 3 Mar 2006
Posts: 810
some comments
09-28-2006 18:57
I've been working on something similar in this topic.

Here are a few suggestions:

1) Have a way to limit *agents* per parcel. The sim's agent limit is a resource, and one which is often exausted by popular parcels such as clubs.

2) Various terms need to be clarified. For example, what does it mean to mark prims as "disabled"? Does that cause the instant wipe of the sim, or just prevent all new rezzing of prims? That needs to be renamed to 'rezzing prims'.
Similarly, what is a collision score? How about renaming 'Bonus' to "normal resource limit multiplied by", and making it clear that quota systems should allow overallocation of resources to handle slack?

3) Distributing prims based on parcel size is ok, but IMHO, there needs to be an override so sim owners can increase/decrease the prim limits of particular parcels. This would allow many things, from parcels with bonus prims (for things like towers) to parcels with less prims (say, for 'park' areas).

4) Do scripts on a parcel count against that parcel's quota even if they're in attachments? When the quota is reached, I assume scripts slow down, but don't stop?

5) "Restrictions applied on a per-avatar basis" is vague - do you mean instead of or in addition to restictions based on group/role? Speaking of group roles, what is the behaviour here, as in, say I'm in two different roles in a group, with different quotas. Do the most lenient quotas take effect, or what?

6) Does "Max Scripts" per role mean scripts beyond this simply don't run at all? Is this for scripts in attachments, or all scripts in all objects on the sim? If the latter, does this mean that in a sim with quotas, a passer-by can rez scripted objects with many scripts in them in order to swamp the quota, and turn off other scripts for that group (thereby doing things like de-activating security orbs, or making the orbs slow down?)

7) Is it practical to put a quota on collisions, or would this cause more lag?

8) IMHO, detecting lag is just as important as using quotas to stop it. I would urge you to look at grumble's post on the topic. He suggests some very good tools that *anyone* can use to find laggy scripts/avatars/etc. This would be great for Mainlanders.... who don't have any EMs/EOs on hand to set sane limits.

9) Assuming your quota system was put in place.... what would the default quotas be for the Mainland, to ensure fair use? We can't just leave this question alone - for if we can't agree on a fair way to use this system on the Mainland, then a) the system would still leave mainlanders out in the cold, and b) it suggests the quota system isn't fair overall.

10) What stops people from gaming the collision system? Example: I can stand in the train tracks, and when the oncoming train hits me, it keeps colliding. Eventually, the train is disabled due to excess collisions. If this really did lead to the object being DISABLED (as opposed to just turned phantom...) then surely this could lead to griefers stopping large objects (like models, floats in parades, etc) simply by bumping into them a lot? It could even lead to de-activations of things like steps (which get bumped a lot) or fast-moving robots which fly around and thus risk many potential collisions.


Great overall direction though - you are right, we do need better tools to detect/prevent lag, and detect/regulate sim resource usage on things like agent counts, prim counts and script time.
_____________________
Volunteer Portal (FAQs!) : https://wiki.secondlife.com/wiki/Volunteer_Portal

JIRA / Issue Tracker : http://jira.secondlife.com (& http://tinyurl.com/2jropp)
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
09-29-2006 04:55
My thoughts on this:

Instead of collision count or whatever, try just "physics time", physics calculations occupy time just like scripting actions, if an object is hogging a lot of the physics processing time, then it gets less priority. This may result in jerkier physics, but shouldn't hamper the accuracy (ie it shouldn't fall through the ground but may move in less steps when being flung around).
Excess physics time however would be devoted to vehicles to prevent planes becoming unresponsive over 'busy' plots of land.

The 'bonus' should not be a multiplier like prims, sim owners should be able to allocate specific settings, this may require recalculating other plots as this happens, reducing their share to accomodate an increase to another. This however allows you to have tiny, script heavy plots if required by your sim.
_____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon
10gb DDR2 800mhz FB-DIMMS
4 x 750gb, 32mb cache hard-drives (RAID-0/striped)
NVidia GeForce 8800GT (512mb)