Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

TopCoder Competition Engine is a system used for Single Round Matches (SRM) and Marathon Matches (MM).

 

Competition Task Overview

Current Situtation

Recently, we have updated our production environment to x64 OS, but there is a limitation for running .NET solutions (C# and VB.NET), as the

TestProcess.exe and LongWrapper.exe

used by windows processor are compiled with

/platform:x86

option, you can see https://github.com/cloudspokes/app/blob/master/build_csharp.xml.


 
    <target name="build-csharp" depends="init-csharp" description="Builds CSharp test harness">
        <dn:csc srcDir="${csharp.main.dir}" targetType="exe" mainClass="TopCoder.Server.Controller.CTMain"
            references="${csharp.lib.dir}/Microsoft.VisualBasic.dll;${csharp.lib.dir}/TopCoder.Io.Serialization.BasicType.dll" outputFile="${build.dotNet}/DotNetCompilerTester.exe" />
        <!-- debuy="true" can be added -->
        <dn:csc srcDir="${csharp.main.dir}" extraOptions="/platform:x86" targetType="exe" mainClass="TopCoder.Internal.LongWrapper"
            references="${csharp.lib.dir}/Microsoft.VisualBasic.dll;${csharp.lib.dir}/TopCoder.Io.Serialization.BasicType.dll" outputFile="${build.dotNet}/LongWrapper.exe" />
        <dn:csc targetType="library" outputFile="${build.dotNet}/RefDlls.dll" references="${csharp.lib.dir}/Microsoft.VisualBasic.dll;${csharp.lib.dir}/TopCoder.Io.Serialization.BasicType.dll">
            <src dir="${csharp.main.dir}" includes="TopCoder/Server/Compiler/RefDlls.cs"/>
        </dn:csc>
        <dn:csc srcDir="${csharp.main.dir}" targetType="exe" mainClass="TopCoder.Server.Compiler.AssemblyChecker"
            references="${csharp.lib.dir}/Microsoft.VisualBasic.dll;${csharp.lib.dir}/TopCoder.Io.Serialization.BasicType.dll" outputFile="${build.dotNet}/AssemblyChecker.exe" />
        <dn:csc srcDir="${csharp.main.dir}" extraOptions="/platform:x86" targetType="exe" mainClass="TopCoder.Server.Tester.NetTestProcess"
            references="${csharp.lib.dir}/Microsoft.VisualBasic.dll;${csharp.lib.dir}/TopCoder.Io.Serialization.BasicType.dll" outputFile="${build.dotNet}/TestProcess.exe" />
        <dn:csc srcDir="${csharp.main.dir}" targetType="exe" mainClass="TopCoder.Server.Controller.CSharpService"
            references="${csharp.lib.dir}/Microsoft.VisualBasic.dll;${csharp.lib.dir}/TopCoder.Io.Serialization.BasicType.dll" outputFile="${build.dotNet}/CSharpService.exe" />
        <dn:csc srcDir="${csharp.main.dir}" targetType="exe" mainClass="TopCoder.Server.Compiler.CSSecurityCheck"
            references="${csharp.lib.dir}/Microsoft.VisualBasic.dll;${csharp.lib.dir}/TopCoder.Io.Serialization.BasicType.dll" outputFile="${build.dotNet}/CSSecurityCheck.exe" />
    </target>
 
This limits to use large memory, like big than 2GB.
 
Expectation Solution
We'd like to remove the extraOptions limit.
 
So please look into the implementation of TestProcess, and make it properly work under x64 architecture environment.
 
 
The Fix should be applied to SRM and MM problem.
 
Please check the SRM Problem Guide and MM Problem Guide for reference.

About Code Base

For the code under /home/apps/dev directory, some are hosted in internal svn repositories, some are hosted in private repositories in github.

You can check Source Code Management For TopCoder Competition Engine - TopCoder Wiki

For SVN Access, please send request to support@topcoder.com, For github access, please post your github account in forum to ask PM to grant you access.

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

processor should be properly setup in Windows VM in order to reproduce the problem and verify your fix.

a Windows VM will be provided to each competitor, and the login credential will be provided in forum.

 

 


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.

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30042538