Abstract:
Methods and systems for scheduling jobs to manycore nodes in a cluster include selecting a job to run according to the job's wait time and the job's expected execution time; sending job requirements to all nodes in a cluster, where each node includes a manycore processor; determining at each node whether said node has sufficient resources to ever satisfy the job requirements and, if no node has sufficient resources, deleting the job; creating a list of nodes that have sufficient free resources at a present time to satisfy the job requirements; and assigning the job to a node, based on a difference between an expected execution time and associated confidence value for each node and a hypothetical fastest execution time and associated hypothetical maximum confidence value.
Abstract:
Systems and methods are provided for dynamically adjusting computing resources allocated to tasks within a stream processing application, including initiating monitoring of application-specific characteristics for each task, the characteristics including processor (CPU) usage and processing time, assessing resource allocation needs for each task based on the monitored characteristics to determine discrepancies between current resource allocation and optimal performance requirements, and implementing exploratory resource adjustments by incrementally modifying CPU resources allocated to a subset of tasks and analyzing an impact of the exploratory resource adjustments on task performance metrics. Optimal resource allocations are determined for each task using a regression model that incorporates historical and real-time performance data, and the optimal resource allocations are applied to the tasks to minimize processing time and maximize resource use efficiency. The optimal resource allocations are iteratively updated in response to changes in task characteristics or application demands.
Abstract:
A pull-based communication method for microservices-based real-time streaming video analytics pipelines is provided. The method includes receiving a plurality of frames from a plurality of cameras, each camera including a camera sidecar, arranging a plurality of detectors in layers such that a first detector layer includes detectors with detector sidecars and detector business logic, and the second detector layer includes detectors with only sidecars, arranging a plurality of extractors in layers such that a first extractor layer includes extractors with extractor sidecars and extractor business logic, and the second extractor layer includes extractors with only sidecars, and enabling a mesh controller, during registration, to selectively assign inputs to one or more of the detector sidecars of the first detector layer and one or more of the extractor sidecars of the first extractor layer to pull data items for processing.
Abstract:
A computer implemented method is provided for resource management of stream analytics at each individual node that includes computing a mean of output processing rate of microservices in a pipeline; and evaluating a state of each microservice of the microservices in the pipeline. The computer implemented method also includes selecting a single microservice from the pipeline for updating resources for an action that changes the state in single the microservice that is selected; and performing resource allocation update for the selected microservice. The computer implemented method may also include updating the state of the selected microservice.
Abstract:
Methods and systems for face clustering include determining a quality score for each of a set of input images. A first subset of the input images is clustered, having respective quality scores that exceed a predetermined threshold, to form an initial set of clusters. A second subset of the input images is clustered, having respective quality scores below the predetermined threshold. An action is performed responsive to the clustered images after the second subset is added to the initial set of clusters.
Abstract:
A computer-implemented method includes obtaining a usecase specification and a usecase runtime specification corresponding to the usecase. The usecase includes a plurality of applications each being associated with a micro-service providing a corresponding functionality within the usecase for performing a task. The method further includes managing execution of the usecase within a runtime system based on the usecase and usecase runtime specifications to perform the task by serving an on-demand query and dynamically scaling resources based on the on-demand query, including using a batch helper server to employ the usecase specification to load dynamic application instances and connect the dynamic application instances to existing instances, and employ a batch helper configuration to load nodes/machines for execution of the on-demand query.
Abstract:
Methods and systems for image clustering include matching a new image to a representative image of a cluster. The new image is set as a representative of the cluster with a first time limit. The new image is set as a representative of the cluster with a second time limit, responsive to a determination that the new image has matched at least one incoming image during the first time limit.
Abstract:
A computer-implemented method includes obtaining a usecase specification and a usecase runtime specification corresponding to the usecase. The usecase includes a plurality of applications each being associated with a micro-service providing a corresponding functionality within the usecase for performing a task. The method further includes determining that at least one instance of the at least one of the plurality of applications can be reused during execution of the usecase based on the usecase specification and the usecase runtime specification, and reusing the at least one instance during execution of the usecase.
Abstract:
A method is provided for detecting abnormal changes in real-time in dynamic graphs. The method includes extracting, by a graph sampler, an active sampled graph from an underlying base graph. The method further includes merging, by a graph merger, the active sampled graph with graph updates within a predetermined recent time period to generate a merged graph. The method also includes computing, by a graph diameter computer, a diameter of the merged graph. The method additionally includes determining, by a graph diameter change determination device, whether a graph diameter change exists. The method further includes generating, by an alarm generator, a user-perceptible alarm responsive to the graph diameter change.
Abstract:
A graph storage and processing system is provided. The system includes a scalable, distributed, fault-tolerant, in-memory graph storage device for storing base graph data representative of graphs. The system further includes a real-time, in memory graph storage device for storing update graph data representative of graph updates for the graphs with respect to a time threshold. The system also includes an in-memory graph sampler for sampling the base graph data to generate sampled portions of the graphs and for storing the sampled portions of the graph. The system additionally includes a query manager for providing a query interface between applications and the system and for forming graph data representative of a complete graph from at least the base graph data and the update graph data, if any. The system also includes a graph computer for processing the sampled portions using batch-type computations to generate approximate results for graph-based queries.