[Opensim-dev] PhysX Integration into OpenSim

James Nichols james.franklin.nichols at gmail.com
Mon Mar 23 22:42:30 UTC 2015


Thank you very much for all the work that has already gone into this effort
and for the work yet to be done. I think it is great to have options, and
look forward to this as another option. A little shacking up of the state
of the system occasionally is a good thing.

OS is based on over ten year old technology, I would hope to see something
similar and unsettling in the graphics side some day soon...

Frank

On Mon, Mar 23, 2015 at 4:48 PM, Sean M <mondesire.sean at gmail.com> wrote:

> Please allow me to elaborate about the MOSES Team’s PhysX integration:
>
> ·         We are not reinventing the wheel: InWorldz [1] has successfully
> integrated PhysX into 2010’s OpenSim 0.6.5 with impressive aircraft [2]and
> ground vehicle [3, 4]movement. We commend Elenia and David from InWorldz
> for their PhysX initiative and information sharing. We are encouraged and
> inspired by their results. With that said, the MOSES team is integrating
> the latest PhysX version (3.3.3) into current OpenSim, with anticipated,
> continued support for future OpenSim versions. Our support includes the
> sharing of the integration source code, documentation, and published
> experiment results that will compare performance between PhysX to
> BulletSim.
>
> ·         With our effort, we are providing an alternative physics
> engine. Just like the introduction of BulletSim into OpenSim when ODE was
> the default, our effort will introduce another option for region owners.
> The code we share will follow the OpenSim plug-in architecture [5] and only
> require minimal OpenSim configuration file changes to employ PhysX, making
> it easy for region owners to run their regions with PhysX and
> experiment/test with the engine themselves.
>
> ·         From two separate OpenSim profiling events conducted November
> 2014 and this January, BulletSim’s CPU demands were observed to be
> alarming. Specifically, when comparing all of the components of the
> OpenSim.Region namespace (one of the heaviest CPU consumers in OpenSim), we
> uncovered that physics dominated consumption by using over 41% of CPU
> processing time. It was concluded that because BulletSim physics required
> such a large disproportionate amount of CPU, the current physics engine
> must be reanalyzed with multithreading and GPU processing capabilities
> targeted for efficiency.
>
> ·         The most current release of PhysX, 3.3.3 is open-API,
> open-sourced, multi-threaded, with complete GPU capabilities. The BulletSim
> 2.8 engine that is default in OpenSim is single-threaded and does not
> support GPU processing; multi-threading and GPU processing capabilities
> will be introduced in BulletSim 3. We have turned to PhysX because it
> offers these capabilities, with the additional possibilities of n-bodied
> physics and more realistic vehicle and robotic movements straight, out of
> the box, today.
>
> ·         PhysX is cross-platform. Our PhysX integration will not
> intentionally break OpenSim portability.
>
> ·         PhysX offers the best open-source use of GPU physics
> calculations available [6]; similarly, Nvidia graphics generally outperform
> the AMD equivalents [7]. Both of these observations steer us towards making
> OpenSim support the best performing external libraries and hardware
> possible. It should be noted that the speed-ups PhysX brings to games and
> simulators are attributed to tight collaboration and integration between
> the physics engine developers and the GPU manufacturer (Nvidia to Nvidia),
> commercial software development focused on efficient use of the GPU, and
> continuous improvements to the SDK [8]. We are integrating PhysX into
> OpenSim because the data suggests that it will give us the best performing
> physics engine available.
>
> ·         Once our integration is complete, we will share performance
> benchmarking methods and tools and performance analysis generated from our
> MOSES grid. We will systematically measure OpenSim performance with and
> without PhysX.  We strive to provide OpenSim with the tools for performance
> and the best simulation experience.
>
>   [1]
>
> "Welcome to the InWorldz virtual world!," [Online]. Available:
> http://inworldz.com/.
>
> [2]
>
> "When a dream comes true," [Online]. Available:
> https://www.youtube.com/watch?v=Fc5O8Jl67wQ&feature=youtu.be.
>
> [3]
>
> "InWorldz PhysX Beta 2 Race," [Online]. Available:
> https://www.youtube.com/watch?v=7oed95OPI3Q.
>
> [4]
>
> "Vehicles in InWorldz - The Road Test | Xay Tomsen," [Online]. Available:
> https://www.youtube.com/watch?v=7zXPtMInJUs.
>
> [5]
>
> "BulletSim - OpenSimulator," [Online]. Available:
> http://opensimulator.org/wiki/BulletSim.
>
> [6]
>
> "Popular Physics Engines comparison: PhysX, Havok and ODE," [Online].
> Available: http://physxinfo.com/articles/?page_id=154.
>
> [7]
>
> "Borderlands 2 GPU & CPU Performance Test," [Online]. Available:
> http://www.techspot.com/review/577-borderlands-2-performance/page5.html.
>
> [8]
>
> "
> http://physxinfo.com/news/11327/multithreaded-performance-scaling-in-physx-sdk/,"
> [Online]. Available:
> http://physxinfo.com/news/11327/multithreaded-performance-scaling-in-physx-sdk/
> .
>
>
>
> All the best,
>
> Sean Mondesire, Ph.D.
>
> Virtual World Research Team
>
>
>
> On Wed, Mar 18, 2015 at 10:51 PM, Michael Emory Cerquoni <
> nebadon2025 at gmail.com> wrote:
>
>> on a other note, if GPU support is the end goal for MOSES team, it should
>> be noted that Bullet also can do GPU support and even multi-threaded cpu
>> support, as it stands right now its only single thread for Bulletsim,
>> though it can be loaded into a separate thread removed from the simulator
>> heartbeat, it should also be noted that very little effort has gone into
>> fully optimizing what Bullet could potentially do in OpenSimulator.  I do
>> kind of wonder why the choice to not improve this effort instead of trying
>> to re-invent the wheel so to speak with yet another platform that
>> ultimately is not all that much better than Bullet in the end and
>> potentially not cross platform. I must admit my interest will be very
>> limited if I am required to use MIAB and likely would not do much testing
>> myself if that is the case, also I would have absolutely no interest at all
>> if it turns out to not have cross platform support though I am not sure
>> that is true.
>>
>> On Wed, Mar 18, 2015 at 10:42 PM, Michael Emory Cerquoni <
>> nebadon2025 at gmail.com> wrote:
>>
>>> GPU is not required for PhysX there is a cpu level it can operate at as
>>> well, and while GPu support is good, I would also be surprised if
>>> OpenSimulator could actually fully utilize a GPU before mono would barf
>>> anyway, mono can only handle so much threading and even offloading all of
>>> that processing to the GPU, all that data ultimately has to flow back
>>> through mono / C# / OpenSim HTTP server and I suspect there will be a huge
>>> bottleneck there that would not allow for much more performance than the
>>> CPU itself could handle anyway, there would likely be some improvement
>>> though, the question is does that warrant the inclusion of an expensive GPU
>>> in a server, its going to draw a lot more power, and will not make a lot of
>>> sense in a standard data center style setup with 1U rack servers, expanding
>>> rack size increases costs quite a lot, the question is does that increased
>>> cost benefit performance enough to justify it, the only way to really find
>>> out is to try, I wonder if InWorldz does any GPu offloading for their
>>> implementation of PhysX, i suspect they do not but would be great to know
>>> for sure.
>>>
>>> On Wed, Mar 18, 2015 at 5:15 PM, David Saunders <abitar.com at gmail.com>
>>> wrote:
>>>
>>>> I know there be allot of grid interested in trying out the new physics
>>>> when offer.
>>>>
>>>> THe only big drawback of people adopting the PhysX is that relies on a
>>>> GPU to do its processing and not sure if you run more then one engine on a
>>>> machine.
>>>>
>>>> I am sure smaller grids and self hosters would love it.
>>>>
>>>> But do correct me, I not looked into PhysX since  last year.
>>>>
>>>> On Wed, Mar 18, 2015 at 4:42 PM, Shaun T. Erickson <ste at smxy.org>
>>>> wrote:
>>>>
>>>>>  It would be sad if this were ultimately for Windows only, as that
>>>>> would rule out its use by a large segment of the OpenSim community.
>>>>>
>>>>> -ste
>>>>>
>>>>> On 3/18/15 4:13 PM, Sean M wrote:
>>>>>
>>>>>  Mike,
>>>>>
>>>>>  Yes, PhysX.net is the targeted wrapper.
>>>>>
>>>>>  Cross compatibility would be nice to maintain but is not a required
>>>>> feature for this effort.
>>>>>
>>>>>  Best regards,
>>>>> Sean Mondesire, Ph.D.
>>>>> MOSES: Virtual World Research Team
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Opensim-dev mailing list
>>>>> Opensim-dev at opensimulator.org
>>>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Opensim-dev mailing list
>>>> Opensim-dev at opensimulator.org
>>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Michael Emory Cerquoni
>>>
>>
>>
>>
>> --
>> Michael Emory Cerquoni
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at opensimulator.org
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20150323/8c5803b1/attachment-0001.html>


More information about the Opensim-dev mailing list