You have chosen to sponsor your bid up to a maximum amount of .
AppliedAlgo is a number crunching platform (scheduler/load balancing, with bunch of builtin ETL commands) geared specifically for number crunching. JobController is the core - it distributes to NodeController running on each machine in server farm.
All that NodeController does is:
a. Report periodically to JobController host statistics (CPU Usage/Memory usage and Disk activity) - it's based on this JobController determines if it should route work to a connected node.
NodeController does this by invoking WCF interface (SSL over wsHttpBinding) on JobController
b. JobController dispatch a job to NodeController by calling WCF Interface (SSL over wsHttpBinding) hosted by NodeController.exe
When NodeController receives a job/request, it simply kick off the job via Dos Command Prompt.
Node Controller host WCF interface (WsHttpBinding/SSL) contains only two operations:
public interface INodeControllerService
void Run(string Command, string Argument, string HomeDirectory); --> Kick off another exe via command prompt (Need to run on both Windows & Linux)
void KillNode(); --> JobController call this method to exit/kill the NodeController instance
Currently NodeController only runs on 64 bit Windows. We need someone to:
1. Rewrite NodeController with (C#/Mono/Console Application), so NodeController can run on Linux box as well.
a. Note please be careful path in Windows/Linux different
b. No change to JobController or any other modules in Applied Algo ETL Suite, only NodeController need be rewritten.
c. We'd like WCF interface started programmatically.
* SSL - If you're using SSL certificate, then SecMode = SecurityMode.Transport + ClientCredentialType=None.
* Further, If your JobController is pointing at a self-signed SSL certificate (Detail how to create SSL on Windows refer to Installation Guide on appliedalgo.com), CLIENT-SIDE need to add following. Otherwise, client will not be able to connect to WCF server on error "Could not establish trust relationship for the SSL/TLS secure channel with authority"
Binding.Security.Mode = SecMode;
Binding.Security.Transport.ClientCredentialType = ClientCredentialType;
ControllerUrl = new Uri(RenderedUrl); // Url $PORT$ should be configurable
WcfControllerInterface = new ServiceHost(
ThrottleBehavior = new ServiceThrottlingBehavior();
ThrottleBehavior.MaxConcurrentSessions = AppCtx.MaxWorker;
SvcBehavior = new ServiceMetadataBehavior();
SvcBehavior.HttpsGetEnabled = true;
2. Preparation of vm with Linux Fedora, with NodeController (and test SSL cert) that you write installed as proof/testing
[You'd need download AppliedAlgo ETL Suite]
3. Full Source Code and Documentation on preparation the vm/testing (We have .NET developers, need somebody Linux)
Need more detail, please ask. Thanks