Abstract:
A method is provided for controlling a compute cluster having a plurality of nodes. Each of the plurality of nodes has a respective computing device with a main server and one or more coprocessor-based hardware accelerators. The method includes receiving a plurality of jobs for scheduling. The method further includes scheduling the plurality of jobs across the plurality of nodes responsive to a knapsack-based sharing-aware schedule generated by a knapsack-based sharing-aware scheduler. The knapsack-based sharing-aware schedule is generated to co-locate together on a same computing device certain ones of the plurality of jobs that are mutually compatible based on a set of requirements whose fulfillment is determined using a knapsack-based sharing-aware technique that uses memory as a knapsack capacity and minimizes makespan while adhering to coprocessor memory and thread resource constraints.
Abstract:
A runtime method is disclosed that dynamically sets up core containers and thread-to-core affinity for processes running on manycore coprocessors. The method is completely transparent to user applications and incurs low runtime overhead. The method is implemented within a user-space middleware that also performs scheduling and resource management for both offload and native applications using the manycore coprocessors.
Abstract:
A method is disclosed to manage a multi-processor system with one or more manycore devices, by managing real-time bag-of-tasks applications for a cluster, wherein each task runs on a single server node, and uses the offload programming model, and wherein each task has a deadline and three specific resource requirements: total processing time, a certain number of manycore devices and peak memory on each device; when a new task arrives, querying each node scheduler to determine which node can best accept the task and each node scheduler responds with an estimated completion time and a confidence level, wherein the node schedulers use an urgency-based heuristic to schedule each task and its offloads; responding to an accept/reject query phase, wherein the cluster scheduler send the task requirements to each node and queries if the node can accept the task with an estimated completion time and confidence level; and scheduling tasks and offloads using a aging and urgency-based heuristic, wherein the aging guarantees fairness, and the urgency prioritizes tasks and offloads so that maximal deadlines are met.
Abstract:
Systems and methods for scaling in a container orchestration platform are described that include configuring an autoscaler in a control plane of the container orchestration platform to receive stream data from a data exchange system that is measuring stream processing of a pipeline of microservices for an application. The systems and methods further include controlling a number of deployment pods in at least one node of the container orchestration platform to meet requirements for the application provided by the pipeline of microservices.
Abstract:
Methods and systems for camera configuration include configuring an image capture configuration parameter of a camera according to a multi-objective reinforcement learning aggregated reward function. Respective quality estimates for analytics are determined after configuring the image capture parameters. The aggregated reward function is updated based on the quality estimates.
Abstract:
A method for implementing application self-optimization in serverless edge computing environments is presented. The method includes requesting deployment of an application pipeline on data received from a plurality of sensors, the application pipeline including a plurality of microservices, enabling communication between a plurality of pods and a plurality of analytics units (AUs), each pod of the plurality of pods including a sidecar, determining whether each of the plurality of AUs maintains any state to differentiate between stateful AUs and stateless AUs, scaling the stateful AUs and the stateless AUs, enabling communication directly between the sidecars of the plurality of pods, and reusing and resharing common AUs of the plurality of AUs across different applications.
Abstract:
A method is provided for managing applications for sensors. In one embodiment, the method includes loading a plurality of applications and links for communicating with a plurality of sensors on a platform having an interface for entry of a requested use case; and copying a configuration from a grouping of application instances being applied to a first sensor performing in a function comprising of the requested use case. The method may further include applying the configuration for the grouping of application instances to a second set of sensors to automatically conform the plurality of sensors on the platform to perform the requested use case.
Abstract:
A method for optimal placement of microservices of a micro-services-based application in a multi-tiered computing network environment employing 5G technology is presented. The method includes accessing a centralized server or cloud to request a set of services to be deployed on a plurality of sensors associated with a plurality of devices, the set of services including launching an application on a device of the plurality of devices, modeling the application as a directed graph with vertices being microservices and edges representing communication between the microservices, assigning each of the vertices of the directed graph with two cost weights, employing an edge monitor (EM), an edge scheduler (ES), an alerts-manager at edge (AM-E), and a file transfer (FT) at the edge to handle partitioning of the microservices, and dynamically mapping the microservices to the edge or the cloud to satisfy application-specific response times.
Abstract:
Systems and methods to specify and execute real-time streaming applications are provided. The method includes specifying an application topology for an application including spouts, bolts, connections, a global hash table, and a topology manager. Each spout receives input data and each bolt transforms the input data, the global hash table allows in memory communication between each spout and bolt to others of the spouts and the bolts. The topology manager manages the application topology. The method includes compiling the application into a shared or static library for applications, and exporting a special symbol associated with the application. The runtime system can be used to retrieve the application topology from the shared or static library based on the special symbol and execute the application topology on a single node or distribute across multiple nodes.
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.