Challenge Overview
Project Overview
TopCoder Competition Engine is a system used for Single Round Matches (SRM) and Marathon Matches (MM). We are seeking solutions to get the memory usage when executing SRM solutions, so competitors can get a better understanding of their submission.
Previously, we have implemented the way to return peak memory usage for executing C++, Python and Java Solution in SRM.
Competition Task Overview
For this contest, we'd like to explore the way to get the peak memory usage for the SRM .NET solutions, similar as C++ and Python solution.
Following are the general requirements:
- The solution should not affect the execution thread, like it causes the execution to cost more times.
- The solution should cover the exeuction of C# and VB.NET language.
- It should return the peak (maximum) memory used by the execution.
- The size of used memory should be in MB format, if the memory is not monitored like value (-1), use message N/A for this case.
- The changes should applied to all phases, like Example Tests, System Tests and Practices, no need for challenge phase.
- Use the attached source code in forum to start your implementation.
Implementation Notes
The test execution logic can be found at
- DotNetTester
- DotNetExternalTesterInvoker
- com.topcoder.farm.deployer.process.ProcessRunner ( in farm-deployer project)
- TestProcess.cs
Arena VM Usage
Before asking your own VM, you need to have a public key on your profile before asking for the VM.
You can find more details on how to generate a key http://apps.topcoder.com/wiki/display/projects/Generate+SSH+Key and how to connect using it http://apps.topcoder.com/wiki/display/projects/Connect+Using+SSH+Key.
Please reference http://apps.topcoder.com/wiki/display/docs/Competition+Engine+VM+Setup for general usage.
Previously, we have made several update for the Arena VM. So when the Arena VM allocated is available for you, there is a problem and a SRM contest already setup, you can reuse that for testing.
Windows VM
In order to properly test .NET solution, an Windows VM should be properly setup and connect to the Arena VM as farm processor (tester/compiler).
Please follow the guide to setup windows VM
Final Submission Guidelines
Submission Deliverables
Below is an overview of the deliverables:
- Code Changes for getting and displaying the used memory
- Detail Deployment Guide describing your solution.
Final Submission
For each member, the final submission should be uploaded to the Online Review Tool.