I should have gone to bed, but...
From: someone
Originally posted by Moleculor Satyr
EDIT: Also, limiting scripting to parcel size still holds the potential to lag a sim. If everyone uses their limit, or if someone comes along and simply drops the described object above on each parcel in the sim, you have the same problem. Something ELSE must be done.
Hypothetically, sure it has the potential. But as it is now, the potential already exists and is sim-wide no matter what you try. At least if plot-size == xx% of cpu usage I'd know that when I hose MY cpu time, I'm at fault and I can cure the problem. As it is now there's no way other than attempting to ask people what their running (which so far has gotten me no where), or maybe ask the Lindens to investigate (more burden for them and annoying as well).
Personally I'd like the (idea of) cpu time quotas to be directly linked to Owner (of the script/scripted obj) or group set on the object (group land, etc). Any other objects running scripts on Joe's land would get a chunk of the "transient" cpu quota, thus not affecting you, or your neighbors, but only affecting any other "transient" objects.
If you do work for Joe, scripting him some butterflies or whatever, then he takes ownership of them, then all is well. Else your butterflies continue to use the transient quota.
I'd imagen all quotas are dynamic and only are active when the sim is seriously burdened (like when noob_00 decides to res 100 scripted sensomatics). I personally don't see anything bad with the idea. One will have to manage their land a bit more, but so be it -- right now it's a free for all.
Btw, Blue hit an all-time low yesterday. Here's the last 6-day Scrubbie report! Joy!
Polls are 2sec intervals, so 43200 would be a full day's worth, which is never hit (due normal script cpu slice timing, etc)Object-Name: Scrubbie3
Region: Blue (255744, 257536)
Local-Position: (214, 62, 34)
-------------------------------------------------------
--==[ Last 6 Days ]==--
2004-08-24 :: Avg: 43, Low: 6, High: 143, Polls: 42651
2004-08-23 :: Avg: 166, Low: 7, High: 291, Polls: 42959
2004-08-22 :: Avg: 188, Low: 7, High: 292, Polls: 42957
2004-08-21 :: Avg: 172, Low: 8, High: 285, Polls: 42958
2004-08-20 :: Avg: 166, Low: 7, High: 312, Polls: 42952
2004-08-19 :: Avg: 194, Low: 29, High: 291, Polls: 13106
--==[ FPS Range Breakdowns (percent of all polls), Last 6 Days ]==--
2004-08-24 :: 1-50: 72.96%, 51-100: 22.89%, 101-150: 4.13%, 151-200: 0.00%, 201-250: 0.00%, 251-300: 0.00%, 301+: 0.00%
2004-08-23 :: 1-50: 0.51%, 51-100: 4.90%, 101-150: 33.37%, 151-200: 37.74%, 201-250: 21.61%, 251-300: 1.85%, 301+: 0.00%
2004-08-22 :: 1-50: 0.37%, 51-100: 2.87%, 101-150: 14.13%, 151-200: 40.65%, 201-250: 38.19%, 251-300: 3.76%, 301+: 0.00%
2004-08-21 :: 1-50: 0.46%, 51-100: 9.32%, 101-150: 18.72%, 151-200: 40.34%, 201-250: 29.51%, 251-300: 1.63%, 301+: 0.00%
2004-08-20 :: 1-50: 0.42%, 51-100: 13.70%, 101-150: 27.25%, 151-200: 28.54%, 201-250: 22.45%, 251-300: 7.56%, 301+: 0.05%
2004-08-19 :: 1-50: 0.29%, 51-100: 5.16%, 101-150: 12.38%, 151-200: 31.22%, 201-250: 39.50%, 251-300: 11.42%, 301+: 0.00%
--==[ Dil percentages ]==--
2004-08-24 :: 0.96-1.0: 60.47%, 0.90-0.95: 14.01%, 0.60-0.89: 25.12%, 0.40-0.59: 0.21%, 0.0-0.39: 0.16%
2004-08-23 :: 0.96-1.0: 97.59%, 0.90-0.95: 1.86%, 0.60-0.89: 0.35%, 0.40-0.59: 0.08%, 0.0-0.39: 0.09%
2004-08-22 :: 0.96-1.0: 97.68%, 0.90-0.95: 1.75%, 0.60-0.89: 0.40%, 0.40-0.59: 0.11%, 0.0-0.39: 0.04%
2004-08-21 :: 0.96-1.0: 96.80%, 0.90-0.95: 2.56%, 0.60-0.89: 0.52%, 0.40-0.59: 0.07%, 0.0-0.39: 0.03%
2004-08-20 :: 0.96-1.0: 96.08%, 0.90-0.95: 3.25%, 0.60-0.89: 0.57%, 0.40-0.59: 0.05%, 0.0-0.39: 0.03%
2004-08-19 :: 0.96-1.0: 97.13%, 0.90-0.95: 2.47%, 0.60-0.89: 0.35%, 0.40-0.59: 0.03%, 0.0-0.39: 0.00%
-------------------------------------------------------
This small example shows a
real problem in how scripting is a free for all. The sim has been brought to it's knees.
Every resident and visitor is affected. That just seems wrong. When a sim, which normally runs so-so (acceptable levels) is running 72.96% (17.33 hours!!) at pure crap simFPS levels then something needs fixed/adjusted/balanced. It's too hard policing indiviguals, the only solution I see is the (hinted at) idea of cpu quotas. Also look how bad the dilation is: 25% of the day the sim was struggle'n (well I personally consider anything <90 as "bad", in particular if it's that way for a period of time (6 hours worth yesterday!)).
Now, please continue suffering through my 5am drivel...
You have raised valid points. But I think a smart system would work, solving/eliminating your concerns.
A quota system would need to only go into affect when the sim starts running poorly (say 200simFPS for theory's sake).
So, soon as Sim X hits 200FPS the quota kicks in, the
primary goal is to insure that
Residents of Sim X continue to run their scripts. Residents of Sim X, afterall, should be the priority for Run Tasks in Sim X.
If the sim was running fine, I see no reason any quotas would need to be established -- it's only when performance gets low that such quotas would need to kick into action -- ensuring Residents get priority, and governed by plot size (so far the defacto prim limiter).
Groups would need to be taken into consideration, just as they are with prim quotas/auto-delete.
Just like Auto-Delete, transient scripts need to be the
lowest priority, to the point of just not getting
any cycles. The number one goal should be maintaining run tasks for residents
during poor sim performance.
If Joe's holding a party on his land, and Sally comes to visit wearing her scripted bracelet, but sim performance drops to terrible levels, then I see absolutely no reason that Sally's bracelet should get 0% CPU time, while Joe's dance-o-matic plot of land gets xx% - guaranteed. Thus continuing the festivities. Heck Sally probably won't even notice her online-alerter super-senso stopped functioning. Actually Sally probably doesn't even know it's scripted to begin with. :p Anywho, Joe's parties are a success because his dance-o-matic never fails. The sim, while somewhat slow, is survivable because when performance is so bad the cpu is now smart enough to know to just NOT run all the transient crap. Thus giving more time to avatar processing (dancing and those really nifty sexual animations, huzzah!) :p
Bos
Edit: Change code flag to quote flag cuz it was long...
edit2: removed quote cuz it's stupid too, added intriguing dashed lines.