Minutes for OpenSim? Progress Meeting 8 October

The meeting started at 1.30pm NZ time, 9.30am Tokyo time.

Mariusz Nowostawski, Mr Kawabi and Johan Berntsson sent their apologies, so only Mike Mazur and Nigel Tucker were present.

Nigel reported that World45 were in the middle of running the previous tests on the new code base. The current OpenSim? source code had been downloaded and compiled on Visual Studio on Windows XP. The servers have been shown to be fully functional.

Nigel has run some initial tests on profiling the Memory Management and Garbage Collection. Live objects across the servers were taking about 50 Mbytes of memory, with some 2.5MB of garbage collection. Dead objects accounted for 35 Kbytes.

Of the live objects, 19% were Strings, 12% SceneObjectParts? and 11% Double arrays.

Nigel has started updating the World45 Wiki pages and SugarCRM? pages and will publish the links as soon as they are ready.

Mike reported that he had spent the week working on the ClientStack? code and was now resolving difficulties the new code was generating in other parts of OpenSim? .

Mariusz reported: I've been pretty busy with the final week of the teaching within Otago, and spend some time on meetings, with the minimal amount of development work carried out. There is an initiative from within Otago to engage more senior students into the testing and OpenSim? development - I need to iterate with Kawabe-san to which extend 3Di will be interested in collaborating directly with Otago.

On the Linux end of the story, I've got new SVN Mono setup and new SVN Opensim setup, although I've been waiting for Nigel to finish setting up his Windows setup so that I could use his notes to make the required transitions more streamlined. In the meantime, I've been investigating .NET and Mono differences.

There have been some activity in the area of memory consumption and the costs of running generic methods on Mono vs. .Net. Running the same benchmark for memory-eating implementation of fast virtual generic method calls, the Mono team is getting these numbers with the new improved JIT implementation:

no calls: 16.82306 (code is inlined) non-generic calls: 21.41356 (non generic method is called) generic calls: 29.7909 (generic method is called)

non-generic call cost: 4.5905 generic call cost: 12.96784

The old implementation with the old JIT gives:

no calls: 16.63622 non-generic calls: 21.50949 generic calls: 1067.2657

non-generic call cost: 4.87327 generic call cost: 1050.62948

Compared to Microsoft's .NET:

no calls: 18.90625 non-generic calls: 31.40625 generic calls: 52.96875

non-generic call cost: 12.5 generic call cost: 34.0625

I can re-test these with old and new Mono, but, the bottom line is, that we should try to eliminate the generic method calls where appropriate within the OpenSim? codebase as to boost the performance. Also, inlining calls (especially for those short very frequently used methods) may substantially boost performance. Therefore, I'm proposing the following action items:

(W45 - Nigel) - investigate which short/utility methods are the most frequently called, and check if these are normal virtual methods or generic methods - pass the data to 3Di

(3Di - Mike?) - investigate of how much of the codebase relies on generics, and if that can be easily eliminated. Provide a patch, and W45 will retest the system with and without generics so that we can quantify the impact this change can have on speed and memory consumption.

Project Staffing:

World45 will have a research assistant ready to start on Monday - Nathan, who has existing SecondLife? experience; also a Research Student will start in the first week of November. Mariusz and Nigel will continue in their present roles.

Nigel asked about a difficulty he was having in running the servers on one machine and SecondLife? on another. Mike commented that this was likely to be due to a fixed local address in the Resources xml files that needed amending.

The meeting finished at 1.47

Topic revision: r1 - 14 Oct 2008 - 22:05:49 - NigelTucker

tip TWiki Tip of the Day
InterwikiPlugin links
The InterwikiPlugin automatically links ExternalSite:Page text to external sites based on aliases defined ... Read on Read more

 
World45 Wiki
This site is powerd by World45 Wiki collaboration platformCopyright © by World45 Ltd. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback