Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Babbage Linden - Limit scripts PER PARCEL

Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-04-2009 11:45
From: Viktoria Dovgal
The average Mono script is using only 11K, that is from Babbage's measurements. LSL scripts use 16K regardless of how much they need.
The average sim doesn't require memory limits to avoid thrashing, either, it's only exceptional circumstances that lead to this problem... so looking at *average* script usage isn't going to tell you where the problem is... it's *exceptional* script usage that's the problem.

And the average size of mono scripts is increasing, as people take more advantage of it and as people simply recompile scripts as mono just because they "know" it's better.
From: someone
And the memory limit plan predates the Mono rollout.
The Mono project predated the Mono rollout by at least a year.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Viktoria Dovgal
Join date: 29 Jul 2007
Posts: 3,593
05-04-2009 11:55
From: Argent Stonecutter
The Mono project predated the Mono rollout by at least a year.

Try three years. And the whole point of the exercise was to get them more flexibility and better memory management. It's basically that Mono enables this limits thing, it's not the cause of it.
Yumi Murakami
DoIt!AttachTheEarOfACat!
Join date: 27 Sep 2005
Posts: 6,860
05-04-2009 12:09
Let's not forget that most usages of multiple scripts are just to get around the forced delays the Lindens themselves artificially impose!

Give us llSetPrimitiveParamsLink with no sleep and the 200 prim hair needs only one script.

Or how about in-script multithreading or proper libraries?
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-04-2009 12:11
From: Viktoria Dovgal
Try three years. And the whole point of the exercise was to get them more flexibility and better memory management.
Ah, that's why all the presentations and promotions have been about performance, performance, performance, cool fractals, and performance.

Mono is not a requirement for anything they're doing now. Mono makes it harder and more complex to limit script memory and CPU usage.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Maelstrom Janus
Ban Ban Lines !!!
Join date: 4 Jul 2007
Posts: 1,220
05-04-2009 12:24
Some arrogant jumped up twit said :

'Good scripters should welcome these changes....incompetent scripters should rightly fear them, for they will be exposed for the charlatans that they are.'


I haven't learned to use scripts yet - I merely bung in a door script in here or a particle script there changing the numbers until they work. And if they work as far as Im concerned I worked using the tools as provided by lindens and people who wrote the scripts before me.....

How I tire of so called experts arguing among themselves while others have a go at dispporoving them.

We're using the tools and materials lindens laid down and if they work - great. Don't you go pulling your jumped up snooty name calling on anyone....
_____________________
The Janus Chrononauts - 'Investigate and Explore.'
Viktoria Dovgal
Join date: 29 Jul 2007
Posts: 3,593
05-04-2009 12:31
From: Argent Stonecutter
Ah, that's why all the presentations and promotions have been about performance, performance, performance, cool fractals, and performance.

Those make good videos, memory makes a boring movie.

From: someone
Mono is also considerably more memory efficient than LSL2: on average
each script in Abbotts was using 5551 bytes for its stack, heap and
text, while each Themiskyra script was using 7061 bytes. These figures
don’t include the memory allocated by Mono for the JIT output of each
script, but even if that output was the size of the original CIL
bytecode Mono would still be using less memory per script than LSL2. The big saving
is due to the dynamic allocation of stack space by the microthreading
code. Typically each script uses less than 1k of heap to store its stack
state between timeslices.


That was in 2005.

From: someone
Mono is not a requirement for anything they're doing now. Mono makes it harder and more complex to limit script memory and CPU usage.

If it was so easy to fix LSO, Cory wouldn't have hired somebody to replace it.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-04-2009 12:53
From: Viktoria Dovgal
That was in 2005.
And every time they come up with these figures the numbers are bigger. 7k, then 9k, then 11k.

They could have added a checkbex on the LSO compiler to allocate 4k, 8k, or 16k for the script (which is basically what they are now saying they're going to put in for Mono, except it'll be 8k, 16k, on up to 64k) and 90% of the LSO scripts would have been able to run under 4k.

From: someone
If it was so easy to fix LSO, Cory wouldn't have hired somebody to replace it.
It wouldn't have taken 3 years to fix in LSO. I could have done it in less time than that. I *HAVE* done comparable kinds of work on real-time interpreters in less time than that. But it wouldn't have been fast enough to run Mandelbrot sets in real time.

If it was *just* a matter of memory management and scheduling, it wouldn't have been necessary. Performance was always the driver for the Mono conversion. And I'm not saying that performance is a bad thing, I'm just saying that the advantages of Mono are way overstated... to the point where they're spinning workaround for *disadvantages* of Mono as advantages.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Viktoria Dovgal
Join date: 29 Jul 2007
Posts: 3,593
05-04-2009 14:28
Performance was one driver, memory was another, a way to get away from a dog of an interpreter locked into a dog of a language was yet another. Sure, they could have slapped on a few band aids and called it a day, but there would still be the attendant dependency hunts and multiple binary formats and bugs, all nice and happy until the next problem showed up. CIL got them something that already met those wishes, and it got done in way less than the chronological time (it was all put on hold for a couple of years there).

And of course, the thrashing issues with void sims were apparent months before Mono went live. Content wasn't limiting itself to 16K. In the contents of a popular pre-Mono bed from a maker probably better known for courtroom adventures than products at this point, there are 41 scripts (1 controller and 40 workers) for storage alone, plus 9 more scripts (4 of those 9 are permissions holders for the 4 pose balls so not much to be done about that), and that's before any pose balls are rezzed. That's 784K for one idle object, good old fashioned LSO.

Perhaps there is some confusion about the scheduler bug vs. the limits? Those are separate things.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-04-2009 14:38
From: Viktoria Dovgal
Performance was one driver, memory was another, a way to get away from a dog of an interpreter locked into a dog of a language was yet another.
Which comes down to performance. And I'm not saying that's not adequate justification. I'm saying that MEMORY IS NOT. Because setting a less aggressive version of the optional per-script quotas they're proposing for Mono would have cut the real memory use of LSO scripts even more than it will for Mono.

The first real-time interpreter I worked with had a total of 16k, for everything on the system, including multiuser development. And in production 12k of that 16k was ROM... you only got 4k for data, for ALL your threads. You can do a lot in 4k.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
05-04-2009 16:25
From: Yumi Murakami
Let's not forget that most usages of multiple scripts are just to get around the forced delays the Lindens themselves artificially impose!
What do you think the purpose of these "artificial" delays is? Give that some careful thought, and note that virtually all of these functions use a lot more sim resources than merely running LSL code and computing values.
From: someone
Give us llSetPrimitiveParamsLink with no sleep and the 200 prim hair needs only one script.
The 200 scripts is more due to lack of llGetPrimitiveParams, which is another story. I disagree with LL's arguments for not implementing it.
From: someone
Or how about in-script multithreading or proper libraries?
I don't think multithreading is necessary or appropriate for LSL. There's a lot to be said for the simplicity of the language.

Libraries you can do externally. It sure would be nice to have them inworld, but it wouldn't improve script efficiency or affect any of the issues we're discussing here.
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
05-04-2009 16:28
From: Bhakta Thor
How can I find out how much lag I am creating? How can I measure each item for the lag it contributes? I like to keep things on in my house, but I do park the dog. It is very easy for me to conserve prims and I do the best that I can. But I have no idea how to measure script resources.
Unfortunately, you have to be an estate manager on a private estate to see script runtime usage, and there's currently no way to see script memory usage.

LL are planning to roll out the ability to see script memory for parcel owners, which will be a great thing. I hope that in the process they can add the abilitty to show script runtimes as well.

IMHO, more than half the problem would be solved just by giving more folks the tools to see these measurements.
Qie Niangao
Coin-operated
Join date: 24 May 2006
Posts: 7,138
05-04-2009 17:02
From: Athena Ellison
I agree with you Phil

I know people who are not professional " creators"
or scripters.. the only reason they are here is the shear
enjoyment of experimenting and enjoying building new "stuff"

I'm sure I am guilty of having too many " Bad "
scripts running on my parcel.

But how do we know? will it just dissapear because it is causing a problem?
Will there be a notice or an IM at least?
If things go according to plan, as part of this whole "memory limits" initiative we expect some better tools for seeing what scripts are consuming what memory and what processing resources, even on Mainland parcels.

Right now, though... not much you can do, really. If you have the source code for the scripts, you might be able to get some useful info out of llGetFreeMemory(), although it's tricky to interpret.

If one wanted to prepare for memory limits well in advance, one might do a very coarse-grained script audit: just counting which objects have how many scripts. If they're mod-perm, it may be worth checking to see which scripts are actually in the Running state. One could also look at scripts left around that aren't doing anything anymore, such as texture animation scripts in water prims, or particle effects that never change; those may be worth disabling or removing.

I suppose it would be prudent to be a little cautious about buying new scripted items until this all sorts out. For example, I wouldn't rush out to buy a texture organizer with a gazillion memory scripts inside. Probably the same with networked vendors, although one supposes the big names will issue memory-conserving updates before it becomes a critical problem.

(Dumb question for the VM-acquainted folks here: If a script is set to the not running state, do we think it still counts against memory limits? It seems like it would still be memory resident on the sim, just not scheduled... but if it were paged out, nobody would care until it was set to run again. But still... if it's in a rezzed object but doesn't count against memory limits, how would those limits be enforced when another script wakes it up?)
_____________________
Archived for Your Protection
MarkTwain White
4th Incarnation
Join date: 6 Nov 2004
Posts: 293
05-04-2009 17:44
From: Maelstrom Janus
if scripts are going to be limited isnt everything going to become dull and static...everything interesting in sl uses scripts...


Its not about reducing scripts, its about distributing their use more equitably. I work my butt off to keep scripts lowered in Hollywood Airport (Santa Barbara Sim) so that planes can operate smoothly, then a couple ladies walk in with high prim scripted hair and Mystitools on. BAM, so much for my efforts to keep the sim running smoothly.
_____________________
"Years from now you will be more disappointed
by the things you didn't do than by the ones you did do.
So throw off the bow lines. Sail away from the safe harbor.
Catch the tradewinds in your sails. Explore. Dream. Discover."
-- Mark Twain

MarkTwain White
Living in Union Passage on the shores of the BLAKE SEA
http://slsailing.COM
MarkTwain White
4th Incarnation
Join date: 6 Nov 2004
Posts: 293
05-04-2009 17:52
From: Maelstrom Janus
so my suggestion would be to stop making more and more land available for sale until the system can adequately handle what there is and give those currently paying value for money...

anything else is just greed surely ?


My suggestion is to carry on as planned. Stop individual hoarding of sim resources. YAAAH LL on this one. :)
_____________________
"Years from now you will be more disappointed
by the things you didn't do than by the ones you did do.
So throw off the bow lines. Sail away from the safe harbor.
Catch the tradewinds in your sails. Explore. Dream. Discover."
-- Mark Twain

MarkTwain White
Living in Union Passage on the shores of the BLAKE SEA
http://slsailing.COM
MarkTwain White
4th Incarnation
Join date: 6 Nov 2004
Posts: 293
05-04-2009 18:04
From: Lear Cale
Unfortunately, you have to be an estate manager on a private estate to see script runtime usage, and there's currently no way to see script memory usage.

LL are planning to roll out the ability to see script memory for parcel owners, which will be a great thing. I hope that in the process they can add the abilitty to show script runtimes as well.

IMHO, more than half the problem would be solved just by giving more folks the tools to see these measurements.


But you don't have to be an estate manager or private estate owners to see how much your avatar rendering costs (ARC) are (a different but still valuable measurement).

Go to ADVANCED --> RENDERING --> INFO DISPLAYS --> AVATAR RENDERING COSTS.

You will be amazed at what high prim hair will do to your ARC
_____________________
"Years from now you will be more disappointed
by the things you didn't do than by the ones you did do.
So throw off the bow lines. Sail away from the safe harbor.
Catch the tradewinds in your sails. Explore. Dream. Discover."
-- Mark Twain

MarkTwain White
Living in Union Passage on the shores of the BLAKE SEA
http://slsailing.COM
Jahar Aabye
Registered User
Join date: 14 Mar 2007
Posts: 58
05-04-2009 18:59
ARC is pretty much pointless. Doesn't really deal with server-side lag causes, such as scripts, and it doesn't really do a good job of calculating client-side rendering lag anyways since it doesn't take texture size into account, among other things.

Unfortunately, all that ARC seems to accomplish, in practice, is convincing people that they're "low lag" if they have a low ARC score, even though they may be wearing all kinds of resource-hogging scripts.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-04-2009 19:47
From: MarkTwain White
But you don't have to be an estate manager or private estate owners to see how much your avatar rendering costs (ARC) are (a different but still valuable measurement).
A naked avatar with no prims attached SHOULD have an ARC of about 6000, based on the overhead of rendering the avatar mesh... the avatar mesh is EXPENSIVE. It's got an ARC of 1.
From: someone
You will be amazed at what high prim hair will do to your ARC
Might increase your real ARC by 50%, and has no effect at all on the sim.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Sindy Tsure
Will script for shoes
Join date: 18 Sep 2006
Posts: 4,103
05-04-2009 19:56
From: Argent Stonecutter
A naked avatar with no prims attached SHOULD have an ARC of about 6000, based on the overhead of rendering the avatar mesh... the avatar mesh is EXPENSIVE. It's got an ARC of 1.

I think it would probably be more confusing if 6000 was the lowest ARC you could get...

Not that I think the current implementation is without bugs, just that starting at 1 is less confusing than starting at 6000.
_____________________
Sick of sims locking up every time somebody TPs in? Vote for SVC-3895!!!
- Go here: https://jira.secondlife.com/browse/SVC-3895
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-04-2009 20:05
From: Sindy Tsure
I think it would probably be more confusing if 6000 was the lowest ARC you could get...
Sure. Facts are often confusing, because they're complex. People have to understand facts to actually make use of them. And they do. People can understand 0C, 32F, and 273K. They can understand 6000 ARC.

From: someone
Not that I think the current implementation is without bugs, just that starting at 1 is less confusing than starting at 6000.
Start at 100 and divide all values by 60.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Snickers Snook
Odd Princess - Trout 7.3
Join date: 17 Apr 2007
Posts: 746
05-04-2009 22:39
From: Argent Stonecutter
Might increase your real ARC by 50%, and has no effect at all on the sim.
But doesn't it have an effect on how long it takes people to rez? That's a very real perception of lag -- not just how quickly or smoothly you can move. I see people with Damselfly hair and lots of jewelry with ARCs of over 10000. That has to be doing something to my ability to see SL right? (BTW, they take off the hair and the ARC drops by 6000.)
_____________________

Buh-bye forums, it's been good ta know ya.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-05-2009 01:33
From: Snickers Snook
But doesn't it have an effect on how long it takes people to rez? That's a very real perception of lag
That's a different kind of lag and nothing to do with scripts (see thread title).

From: someone
I see people with Damselfly hair and lots of jewelry with ARCs of over 10000. That has to be doing something to my ability to see SL right? (BTW, they take off the hair and the ARC drops by 6000.)
Not as much as you'd think. The difference between one avatar with an ARC over 10,000 and two avatars with ARCs of 2,000 isn't that much.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Bhakta Thor
Escape from RL
Join date: 31 Jan 2008
Posts: 291
scripted thanks
05-05-2009 05:23
From: Lear Cale
Unfortunately, you have to be an estate manager on a private estate to see script runtime usage, and there's currently no way to see script memory usage.

LL are planning to roll out the ability to see script memory for parcel owners, which will be a great thing. I hope that in the process they can add the abilitty to show script runtimes as well.

IMHO, more than half the problem would be solved just by giving more folks the tools to see these measurements.


Thank you for this information. If I could see such usage the way I can see prims, I would control them for my own good.

BT
Storyof Oh
Registered User
Join date: 14 Apr 2007
Posts: 139
05-05-2009 08:26
omg..what a difference a few minutes makes...activated ARC and i was about 5000....took off hair and was 800....went shopping got new hair equally effective 1352...........

BUT saw a woman that was 135758 can this be a record? and she wasnt that flashy either...
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
05-05-2009 08:29
You can have a huge ARC and cause no lag at all, and a low ARC and be very laggy. It's a very rough guide at best.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
1 2 3 4 5 6 7 8 9