Thanks, Doug.Speaking both as an open source developer, as an academic
and as a regular citizen, I really appreciate that you are going out of
your way to make the code your lab develops matter and be available to
others, now and in the future. That is the answer I was hoping to hear!
As you say, way too many federally-funded projects have evaporated after
serving some short-term purpose (like writing a paper or making a demo
to upper management, for example), and that's just a waste. So kudos to
you for exploring outside the box of comfort!
There's all sorts of software processes, and some are difficult to
integrate. There's a range of options for co-existing, and hopefully
we'll find one that works. Having a framework as the common core has
worked very well for this project from early on, as pretty much every
core developer that joined had their own vision about how to use this --
entertainment, education, research, urban planning, simulations,
training... These are all very different usage scenarios that require
different approaches in certain aspects of the design of these virtual
environments. Our convergence towards the framework solution was not as
much planned as it was a natural consequence of us needing a large
engineering team to make our visions happen, and having no choice but to
work together in spite of wanting to go in different directions.
On 8/19/2015 5:32 AM, Maxwell, Douglas CIV USARMY ARL (US) wrote:
Classification: UNCLASSIFIED
Caveats: NONE
I'm pleased to see the discussion stimulated thoughtful responses. A number of
you have PM'd me with similar questions, so I'll answer some of them here:
1. Does the MOSES project want to manage Open Simulator? No. I have very
specific training and education requirements that the MOSES prototype
satisfies, but the Open Simulator development is quite broad and would need
leadership that cares about issues such as entertainment and profit-motivated
business models.
2. Do you (Doug Maxwell) want to manage Open Simulator? No. It would be a
conflict of interest given that I am a federal employee and my project
responsibilities include funding the code modifications to the platform to achieve
the mission S&T goals.
3. Does the MOSE project want to become part of the Open Simulator Core
Development team? No. As subjective, disorganized and chaotic as the dev code
acceptance process seems to be, it is still your community. Our code
development culture is quite rigid and I fear our presence would be too
disruptive. We plan and schedule everything since funding is tied to the
effort. There's eight of us working on PhysX at the moment to meet the Sept
deadline for testing and evaluation.
4. Why do you care about whether or not the Open Simulator developers accept
MOSES code contributions? I have seen many examples of military funded science
and technology projects not emerge from the labs. They serve a limited purpose
and are retired when complete. The work we are doing with MOSES will provide
valuable guidance to the Army acquisition community when specifying
requirements for the next generation of infantry soldier skills trainers. We
also are making usage discoveries in the field that guide our interface design
decisions. My job is not to create operational training systems, but rather to
investigate gaps in our training and find solutions. I don't want to see the
MOSES prototype forgotten after it is retired at the logical end of our
investigation. The code we are pouring into the Open Simulator to address
common deficiencies in performance across all virtual world platforms should be
re-used to benefit the community as a whole.
5. Are we holding any code back? No. I've made it clear to all the MOSES
developers that there is a clear delineation between the simulator and the
content it serves. This makes life easier on all fronts. By hanging our code
off the GitHub, we can collaborate with other Gov't researcher (civilian and
military) quite efficiently. We've created MOSES-in-a-Box for the agencies who
cannot expose their networks to the open Internet, but can still participate
internally in MOSES related activities.
6. Are we holding any content back? Yes. Lots. We provide sanitized
examples of usage through our web site with some OAR downloads, but any
scenario that has accurate information in it is not for public consumption.
7. What will MOSES work on after PhysX? Our profiling activities discovered
the Open Simulator was spending most of its time in the Physics, Client
Manager, and Script Engines. BulletSim was low hanging fruit for us since it
is single threaded and we are genuinely curious to see if GPU acceleration
through PhysX will have a meaningful impact on simulator performance. Sean
Mondesire and Glenn Martin are also working on a distributed PhysX server that
is separate from Open Simulator that we hope will have major performance gains.
After PhysX, we will make the decision to either tackle the client manager or
the script engine. Much of this is derivative from the DSG work done in 2013,
however instead of middle-ware brokering synchronization of multiple Open
Simulator instances with identical databases - this is truly breaking up the
engine into major constituent pieces and distributing them across a network to
spread load.
v/r -doug
Dr. Douglas Maxwell
Science and Technology Manager
Virtual World Strategic Applications
U.S. Army Research Lab
Simulation & Training Technology Center (STTC)
(c) (407) 242-0209
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Justin Clark-Casey
Sent: Tuesday, August 18, 2015 6:51 AM
To: [email protected]
Subject: Re: [Opensim-dev] The Future of Open Simulator(?) (UNCLASSIFIED)
On point 2, the coding standards are pretty much the C# guidelines at [1] (I
thought there used to be a longer doc but can't find it on a quick google).
On point 3, this is very true. It's a problem of the codebase having grown
organically with many different developers of varying skill levels.
During the 2013 and 2014 OSCC conferences I spent a lot of time on scalability
but much of this was ad-hoc fixes or measurement tooling. The advantage of
being extremely thread happy is that if one thread gets blocked (e.g. waiting
on I/O) then this won't halt other threads (assuming it isn't in a locked
region). But the disadvantage is unpredictable performance and overhead though
I don't know how much.
I believe any VW engine eventually need something like an OS scheduler to
control work performance and make sure that CPU utilization is efficient and
handles degradation gracefully at 100% utilization. However, that's an
extremely tough problem and I'm not sure it's even possible in a managed
language.
On point 4, I believe any future is gradual evolution. The investment required
for radical change is simply too high. Perhaps it would be easier if some way
can be found to break apart monolithic VW systems but then monoliths have
continued to win in the operating system space (Linux vs micro-kernels for
instance) and I think operating systems have many similarities with user script
executing virtual worlds.
-- Justin
-- Justin
[1] https://msdn.microsoft.com/en-us/library/ff926074.aspx
On Thu, Aug 13, 2015 at 5:32 PM, Cinder Roxley <[email protected]> wrote:
On August 13, 2015 at 8:14:30 AM, Maxwell, Douglas CIV USARMY ARL (US)
([email protected]) wrote:
Classification: UNCLASSIFIED
Caveats: NONE
Can someone explain to me why the core developers insist on
control of the
code, but refuse to manage the project? I ask again: what are
your plans for
the future of Open Simulator? It's ok to say you don't have
any, let's make
some!
I'll throw out some ideas based on the MOSES goals and
objectives:
1) Scale limitations lifted. We need a system that is governed
by its
available hardware and network resources, not bound by software
limits.
2) Let's create clear definitions of "stability".
3) Clear and up-to-date API documentation.
4) Clear and up-to-date OS deployment guidance under numerous
typical network
topologies.
5) Bug identification & reduction.
6) Efficient ray tracing. Useful for simulation of sensors as
well as
naturalized bot interactions.
7) N-body physics. Would be nice to have vehicles that can
follow terrain
and not look like Star Wars land speeders. Would also be nice
to have more
natural avatar movement rather than the rigid animations we use
now.
What are yours? Anyone?
v/r -doug
This can be considered my “wish list” as I don’t really have a say in
what happens, but I’m willing to put in a fair share of work in seeing that it
can be done if others agree these are desirable targets:
1) Restating what Doug has mentioned, Clear and up-to-date API
documentation. This hinders contributors, myself included, from working on
things and leads to a lot of frustration and disappointed from well-intentioned
folks.
2) A coding standard that defines and formalizes the style of code used
throughout the codebase and is adhered to and enforced and should be pointed to
often and regularly for contributions. Good code is easy to read and
manageable. A formal coding standard is a good step in that direction.
3) OpenSim is a thread monster. There doesn’t seem to be any sort of
approach to how threading is handled. This I think would fall under Doug’s
criteria for #1.
4) I think it’s time to hop off the fence and decide whether to
maintain the Second Life protocol compatibility, (Which, let’s be honest, is
pretty lacking. There’s a lot missing post-2010.) or to break new ground.
Linden Lab has apparently made their decision regarding that. There are viewer
developers out there willing to work with OpenSimulator is doing this. I am one
of them. I just can’t be in IRC all the time, but I want to do this with you
guys and I know there are others out there willing to put in the work to build
clients to connect to new and better worlds with sensible protocols.
Please don’t take any of this as criticism as it is not meant as such.
I appreciate all the work that everyone on this project and who is affiliated
with it does.
--
Cinder Roxley
Sent with Airmail
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Classification: UNCLASSIFIED
Caveats: NONE
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev