Exemple #1
0
        public void Submit(IEvaluatorRequest request)
        {
            LOGGER.Log(Level.Info, "Submitting request for {0} evaluators and {1} MB memory and  {2} core to rack {3} and runtime {4}.", request.Number, request.MemoryMegaBytes, request.VirtualCore, request.Rack, request.RuntimeName);
            lock (Evaluators)
            {
                for (var i = 0; i < request.Number; i++)
                {
                    if (!string.IsNullOrWhiteSpace(request.RuntimeName))
                    {
                        if (runtimes.runtimeNames != null && !runtimes.runtimeNames.Contains(request.RuntimeName))
                        {
                            throw new ArgumentException(string.Format("Requested runtime {0} is not in the defined runtimes list {1}", request.RuntimeName, string.Join(",", runtimes.runtimeNames)));
                        }
                    }

                    var descriptor = new EvaluatorDescriptorImpl(new NodeDescriptorImpl(), EvaluatorType.CLR, request.MemoryMegaBytes, request.VirtualCore, request.RuntimeName, request.Rack);
                    var key        = string.Format(CultureInfo.InvariantCulture, "{0}{1}{2}", request.EvaluatorBatchId, BatchIdxSeparator, i);
                    try
                    {
                        Evaluators.Add(key, descriptor);
                    }
                    catch (ArgumentException e)
                    {
                        Exceptions.Caught(e, Level.Error, string.Format(CultureInfo.InvariantCulture, "EvaluatorBatchId [{0}] already exists.", key), LOGGER);
                        Exceptions.Throw(new InvalidOperationException("Cannot use evaluator id " + key, e), LOGGER);
                    }
                }
            }

            Clr2Java.Submit(request);
        }
Exemple #2
0
        public EvaluatorRequestBuilder NewBuilder(IEvaluatorRequest request)
        {
#pragma warning disable 618
            return(new EvaluatorRequestBuilder(request));

#pragma warning restore 618
        }
        public void Submit(IEvaluatorRequest request)
        {
            LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "Submitting request for {0} evaluators and {1} MB memory and  {2} core to rack {3}.", request.Number, request.MemoryMegaBytes, request.VirtualCore, request.Rack));

            lock (Evaluators)
            {
                for (int i = 0; i < request.Number; i++)
                {
                    EvaluatorDescriptorImpl descriptor = new EvaluatorDescriptorImpl(new NodeDescriptorImpl(), EvaluatorType.CLR, request.MemoryMegaBytes, request.VirtualCore);
                    descriptor.Rack = request.Rack;
                    string key = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", request.EvaluatorBatchId, i);
                    try
                    {
                        _evaluators.Add(key, descriptor);
                    }
                    catch (ArgumentException e)
                    {
                        Exceptions.Caught(e, Level.Error, string.Format(CultureInfo.InvariantCulture, "EvaluatorBatchId [{0}] already exists.", key), LOGGER);
                        Exceptions.Throw(new InvalidOperationException("Cannot use evaluator id " + key, e), LOGGER);
                    }
                }
            }
            
            Clr2Java.Submit(request);
        }
Exemple #4
0
        public void Submit(IEvaluatorRequest request)
        {
            LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "Submitting request for {0} evaluators and {1} MB memory and  {2} core to rack {3}.", request.Number, request.MemoryMegaBytes, request.VirtualCore, request.Rack));

            lock (Evaluators)
            {
                for (int i = 0; i < request.Number; i++)
                {
                    EvaluatorDescriptorImpl descriptor = new EvaluatorDescriptorImpl(new NodeDescriptorImpl(), EvaluatorType.CLR, request.MemoryMegaBytes, request.VirtualCore);
                    descriptor.Rack = request.Rack;
                    string key = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", request.EvaluatorBatchId, i);
                    try
                    {
                        _evaluators.Add(key, descriptor);
                    }
                    catch (ArgumentException e)
                    {
                        Exceptions.Caught(e, Level.Error, string.Format(CultureInfo.InvariantCulture, "EvaluatorBatchId [{0}] already exists.", key), LOGGER);
                        Exceptions.Throw(new InvalidOperationException("Cannot use evaluator id " + key, e), LOGGER);
                    }
                }
            }

            Clr2Java.Submit(request);
        }
Exemple #5
0
        public void Submit(IEvaluatorRequest request)
        {
            LOGGER.Log(Level.Info, "Submitting request for {0} evaluators and {1} MB memory and  {2} core to rack {3} and runtime {4}.", request.Number, request.MemoryMegaBytes, request.VirtualCore, request.Rack, request.RuntimeName);
            lock (Evaluators)
            {
                for (var i = 0; i < request.Number; i++)
                {
                    if (!string.IsNullOrWhiteSpace(request.RuntimeName))
                    {
                        if (runtimes.runtimeNames != null && !runtimes.runtimeNames.Contains(request.RuntimeName))
                        {
                            throw new ArgumentException(string.Format("Requested runtime {0} is not in the defined runtimes list {1}", request.RuntimeName, string.Join(",", runtimes.runtimeNames)));
                        }
                    }

                    var descriptor = new EvaluatorDescriptorImpl(new NodeDescriptorImpl(), EvaluatorType.CLR, request.MemoryMegaBytes, request.VirtualCore, request.RuntimeName, request.Rack);
                    var key = string.Format(CultureInfo.InvariantCulture, "{0}{1}{2}", request.EvaluatorBatchId, BatchIdxSeparator, i);
                    try
                    {
                        Evaluators.Add(key, descriptor);
                    }
                    catch (ArgumentException e)
                    {
                        Exceptions.Caught(e, Level.Error, string.Format(CultureInfo.InvariantCulture, "EvaluatorBatchId [{0}] already exists.", key), LOGGER);
                        Exceptions.Throw(new InvalidOperationException("Cannot use evaluator id " + key, e), LOGGER);
                    }
                }
            }

            Clr2Java.Submit(request);
        }
Exemple #6
0
 public EvaluatorRequestBuilder(IEvaluatorRequest request)
 {
     Number            = request.Number;
     MegaBytes         = request.MemoryMegaBytes;
     VirtualCore       = request.VirtualCore;
     _evaluatorBatchId = request.EvaluatorBatchId;
     _rackName         = request.Rack;
 }
 public EvaluatorRequestBuilder(IEvaluatorRequest request)
 {
     Number = request.Number;
     MegaBytes = request.MemoryMegaBytes;
     VirtualCore = request.VirtualCore;
     _evaluatorBatchId = request.EvaluatorBatchId;
     _rackName = request.Rack;
 }
 internal EvaluatorRequestBuilder(IEvaluatorRequest request)
 {
     Number = request.Number;
     MegaBytes = request.MemoryMegaBytes;
     VirtualCore = request.VirtualCore;
     _evaluatorBatchId = request.EvaluatorBatchId;
     _rackName = request.Rack;
     _runtimeName = request.RuntimeName;
 }
Exemple #9
0
 internal EvaluatorRequestBuilder(IEvaluatorRequest request)
 {
     Number            = request.Number;
     MegaBytes         = request.MemoryMegaBytes;
     VirtualCore       = request.VirtualCore;
     _evaluatorBatchId = request.EvaluatorBatchId;
     _rackName         = request.Rack;
     _runtimeName      = request.RuntimeName;
 }
Exemple #10
0
        public void OnNext(IDriverStarted value)
        {
            IEvaluatorRequest request =
                _evaluatorRequestor.NewBuilder()
                .SetNumber(_numEvaluators)
                .SetMegabytes(512)
                .SetCores(2)
                .SetRackName("WonderlandRack")
                .SetEvaluatorBatchId("BroadcastEvaluator").Build();

            _evaluatorRequestor.Submit(request);
        }
 internal EvaluatorRequestBuilder(IEvaluatorRequest request)
 {
     Number               = request.Number;
     MegaBytes            = request.MemoryMegaBytes;
     VirtualCore          = request.VirtualCore;
     _evaluatorBatchId    = request.EvaluatorBatchId;
     _rackName            = request.Rack;
     _runtimeName         = request.RuntimeName;
     _nodeNames           = request.NodeNames;
     _relaxLocality       = request.RelaxLocality;
     _nodeLabelExpression = request.NodeLabelExpression;
 }
Exemple #12
0
        public void OnEvaluatorRequest(IEvaluatorRequest evaluatorRequest)
        {
            var request = new ResourceRequest()
            {
                ResourceCount = evaluatorRequest.Number,
                Cores         = evaluatorRequest.VirtualCore,
                MemorySize    = evaluatorRequest.MemoryMegaBytes,
                RelaxLocality = evaluatorRequest.RelaxLocality,
                RuntimeName   = evaluatorRequest.RuntimeName,
                NodeLabel     = evaluatorRequest.NodeLabelExpression
            };

            if (!string.IsNullOrEmpty(evaluatorRequest.Rack))
            {
                request.RackNameList.Add(evaluatorRequest.Rack);
            }
            request.NodeNameList.Add(evaluatorRequest.NodeNames);
            _driverServiceStub.RequestResources(request);
        }
Exemple #13
0
        public void Submit(IEvaluatorRequest request)
        {
            LOGGER.Log(Level.Info, "Got an EvaluatorRequest");
            ResourceRequestProto proto = new ResourceRequestProto();

            //TODO: request.size deprecated should use megabytes instead
            //switch (request.Size)
            //{
            //        case EvaluatorRequest.EvaluatorSize.SMALL:
            //        proto.resource_size = SIZE.SMALL;
            //        break;
            //        case EvaluatorRequest.EvaluatorSize.MEDIUM:
            //        proto.resource_size = SIZE.MEDIUM;
            //        break;
            //        case EvaluatorRequest.EvaluatorSize.LARGE:
            //        proto.resource_size = SIZE.LARGE;
            //        break;
            //        case EvaluatorRequest.EvaluatorSize.XLARGE:
            //        proto.resource_size = SIZE.XLARGE;
            //        break;
            //    default:
            //        throw new InvalidOperationException("invalid request size" + request.Size);
            //}
            proto.resource_count = request.Number;
            if (request.MemoryMegaBytes > 0)
            {
                proto.memory_size = request.MemoryMegaBytes;
            }

            //final ResourceCatalog.Descriptor descriptor = req.getDescriptor();
            //if (descriptor != null) {
            //  if (descriptor instanceof RackDescriptor) {
            //    request.addRackName(descriptor.getName());
            //  } else if (descriptor instanceof NodeDescriptor) {
            //    request.addNodeName(descriptor.getName());
            //  }
            //}

            //_futureResourceRequestHandler.Get().OnNext(proto);
        }
 public EvaluatorRequestBuilder NewBuilder(IEvaluatorRequest request)
 {
     return(NewBuilder());
 }
 public void Submit(IEvaluatorRequest request)
 {
     // for test we don't really submit evaluator request,
     // but can't throw exception here as Driver calls this method before cancellation flow can be initiated.
 }
        public EvaluatorRequestBuilder NewBuilder(IEvaluatorRequest request)
        {
#pragma warning disable 618
            return new EvaluatorRequestBuilder(request);
#pragma warning restore 618
        }
Exemple #17
0
 public void Submit(IEvaluatorRequest request)
 {
     // nada
 }
Exemple #18
0
 public void Submit(IEvaluatorRequest request)
 {
     _driverServiceClient.OnEvaluatorRequest(request);
 }
Exemple #19
0
 public EvaluatorRequestBuilder NewBuilder(IEvaluatorRequest request)
 {
     return new EvaluatorRequestBuilder(request);
 }