|Anonymous | Login | Signup for a new account||2018-11-16 04:48 PST|
|Main | My View | View Issues | Change Log | Roadmap | Summary | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005512||opensim||[REGION] OpenSim Core||public||2011-06-01 16:05||2011-07-12 05:20|
|Priority||normal||Severity||feature||Reproducibility||have not tried|
|Status||closed||Resolution||no change required|
|Product Version||master (dev code)|
|Target Version||Fixed in Version|
|Summary||0005512: More stable Opensim architecture|
|Description||-subdivide Opensim into more almost independent services - executables|
-make them communicate together via sockets, WCF or something similar
-add a main monitor executable which would start and monitor the services and restart them in case of crash. This monitor program should be very simple to reduce amount of of bugs. It would also take care about startup and shutdown procedure of the sim. If done well it is not expected to crash.
|Additional Information||Current state|
- any more serious exception starts slow degradation/crash of the whole simulator
- chance to recover from critic exception are low
- simulator is oversensitive on any instability especially on the chain input>process/cache>send data to viewer
- much better stability
- better ability to survive failures in the input
- ability to recover from partial crash
- ability watch own performance and do partial automatic reboot in case of need
- better utilization of multiple CPU cores
- higher expected uptime
- ability post automatic bug-reports to a specialized grid service
- lower probability that new code can affect negatively whole simulator.
- easier testing and development of new features/modules
- and much much more. Just a new horizon;-)
- i see first reaction is that it is NOT possible. But please try to look on the code you know for years using "new eyes". Anything has more solutions and within the sim it may work in alternative ways.
- i know that accepting this would mean temporal froze of the other development
- i know that it is boring to rewrite/clean up working stuff
Anyway i hope that natural advantages of the advantage will win over the implentation costs.
Thanks for reading
|Tags||No tags attached.|
|Git Revision or version number||any|
|Run Mode||Grid (Multiple Regions per Sim)|
Bo Iwu (reporter)
edited on: 2011-06-08 03:17
even if the sim would be in Java(my "native" programming language) i don't think that it is a single developer task.
It is more likely a task for the whole team. On the other side the challenge may stick the dev team together and make it again very attractive to participate on Opensim...
Are you suggesting that the opensim core devs stop working on the current implementation and start a new project from scratch? That is a completely unreasonable suggestion. I think you need to read a thing or two about how open source projects like OpenSim actually come and stay together. Even in corporate environments, dropping a project and starting something else from scratch is not something people do very often.
In any case, I personally like to see other server implementations, be it forks of OpenSim like Aurora or entirely new systems written from scratch. But it's completely unreasonable to suggest that this team drops the current implementation and starts something else -- that's a job for other people/teams. Good luck!
Bo Iwu (reporter)
first i would like to say thank you for the response.
The suggestion is NOT "start from scratch", but rather explore the code and see whose parts can be separated into the standalone services.
The business logic is not affected by this proposal.
I self have experiences with J2EE services being reworked in more effective way. And i know that every developer has it's favorite part of code he knows best. Therefore the team is always better for that than individual who would have to learn all the classes from scratch.
Yours in respect Bo
Thanks for the general suggestions.
We don't usually do profound refactorings, as it destabilizes the project and the community. We prefer incremental improvements. But profound refactorings have happened before. If you have a concrete refactoring you want to suggest, please do so. Otherwise, I don't see a direct link between your general textbook suggestions and the stated expected improvements, as most of the instability in OpenSim is implementation deficiencies, not architecture -- exceptions not being caught, null pointers not being checked, etc. The architecture is actually quite good, and it already has a lot of what you suggest in general terms -- separation of concerns into independent services that can run in a variety of deployment configurations, including independent exe's. The monitoring part is not "core"; that is a separate project. Perhaps you should focus on that yourself -- that would be a good contribution. (Although I suspect that the serious players have their own solutions for that)
|We already have enough status reporting to provide external tools with the information it needs to monitor and control the instances. I built a system in python to monitor and control mine. We could use some polish/consolidation in the things we have. But, I think the monitoring and control belongs outside.|
Bo Iwu (reporter)
edited on: 2011-06-09 01:25
You are welcome
You are also right that i have no actual problems with stability. I run it on a strong server with bold line and have it well monitored by Monit. Actually it is exactly the environment the current architecture is made for.
But well. Deployments like this aren't the only on the Osgrid. Actually the servers hosted on home computers with ADSL connection are the ones who would benefit from this change best. Those users just want start it and have it running without taking care.
My suggestion is aimed generally to improve stability of Osgrid like grids. Of course you devs are those supposed to know best if the markedly improved stability in unstable environment is worth of the effort.
I really admire the work you did on the Opensim. I didn't posted this Mantis to tell that you are doing it wrong. I posted it to inspire you how to utilize the work(i admire) a lil bit better*wink
Best wishes, Bo
PS: What about the better utilization of multiple CPU cores on heavy load sim installations?
Reason of edit:slightly improved stability should be :markedly improved stability
|closing since the reporter has been satisfied with the replies|
|2011-06-01 16:05||Bo Iwu||New Issue|
|2011-06-01 16:05||Bo Iwu||Git Revision||=> any|
|2011-06-01 16:05||Bo Iwu||SVN Revision||=> 0|
|2011-06-01 16:05||Bo Iwu||Run Mode||=> Grid (Multiple Regions per Sim)|
|2011-06-01 16:05||Bo Iwu||Physics Engine||=> BasicPhysics|
|2011-06-01 16:05||Bo Iwu||Environment||=> Unknown|
|2011-06-01 16:05||Bo Iwu||Mono Version||=> None|
|2011-06-07 20:27||Diva||Note Added: 0018595|
|2011-06-08 00:52||Bo Iwu||Note Added: 0018602|
|2011-06-08 00:54||Bo Iwu||Note Edited: 0018602|
|2011-06-08 03:17||Bo Iwu||Note Edited: 0018602|
|2011-06-08 08:14||Diva||Note Added: 0018607|
|2011-06-08 08:20||Bo Iwu||Note Added: 0018609|
|2011-06-08 08:33||Diva||Note Added: 0018610|
|2011-06-08 08:52||BlueWall||Note Added: 0018612|
|2011-06-08 08:56||Bo Iwu||Note Added: 0018613|
|2011-06-08 08:59||Bo Iwu||Note Edited: 0018613|
|2011-06-09 01:25||Bo Iwu||Note Edited: 0018613|
|2011-07-12 05:20||makopoppo||Note Added: 0018815|
|2011-07-12 05:20||makopoppo||Status||new => closed|
|2011-07-12 05:20||makopoppo||Resolution||open => no change required|
|Copyright © 2000 - 2012 MantisBT Group|