Abstract:
Embodiments include computing devices, apparatus, and methods implemented by a computing device for task scheduling in the presence of task conflict edges on a computing device. The computing device may determine whether a first task and a second task are related by a task conflict edge. In response to determining that the first task and the second task are related by the task conflict edge, the computing device may determine whether the second task acquires a resource required for execution of the first task and the second task. In response to determining that the second task fails to acquire the resource, the computing device may assign a dynamic task dependency edge from the first task to the second task.
Abstract:
Various embodiments may include a computing device analyzing an image to identify one or more elements of interest in the image, identifying concepts associated with elements of interest in the image, and identifying potential elements of interest and potential concepts that are not included in the image using other information. Various embodiments may include presenting the one or more elements of interest, the one or more potential elements of interest, and the one or more concepts, receiving a user input that selects one or more of the one or more elements of interest, the one or more potential elements of interest, and the one or more concepts identified in the identified elements of interest and concepts or any combination thereof for a target image, and generating the semantic representation of the target image based on the selected elements of interest and concepts.
Abstract:
Various embodiments include methods of protecting a computing device within a network from malware or other non-benign behaviors. A computing device may monitor inputs and outputs to a server, derive a functional specification from the monitored inputs and outputs, and use the functional specification for anomaly detection. Use of the derived functional specification for anomaly detection may include determining whether a behavior, activity, web application, process or software application program is non-benign. The computing device may be the server, and the functional specification may be used to determine whether the server is under attack. In some embodiments, the computing device may constrain the functional specification with a generic constraint, detect a new input-output pair, determine whether the detected input-output pair satisfies the constrained functional specification, and determine that the detected input-output pair is anomalous upon determining that the detected input-output pair (or request-response pair) satisfies the constrained functional specification.
Abstract:
Embodiments include computing devices, apparatus, and methods implemented by the apparatus for implementing data flow management on a computing device. Embodiment methods may include initializing a buffer partition of a first memory of a first heterogeneous processing device for an output of execution of a first iteration of a first operation by the first heterogeneous processing device on which a first iteration of a second operation assigned for execution by a second heterogeneous processing device depends. Embodiment methods may include identifying a memory management operation for transmitting the output by the first heterogeneous processing device from the buffer partition as an input to the second heterogeneous processing device. Embodiment methods may include allocating a second memory for storing data for an iteration executed by a third heterogeneous processing device to minimize a number of memory management operations for the second allocated memory.
Abstract:
Embodiments include computing devices, systems, and methods for task signaling on a computing device. Execution of a task by an initial thread on a critical path of execution may be interrupted to create at least one parallel task by the initial thread that can be executed in parallel with the task executed by the initial thread. An initial signal indicating the creation of the at least one parallel task to a relay thread may be sent by the initial thread. Execution of the task by the initial thread may resume before an acquisition of the at least one parallel task.
Abstract:
Methods, devices, and non-transitory process-readable storage media for dynamically adapting a frequency for detecting work-stealing operations in a multi-processor computing device. A method according to various embodiments and performed by a processor includes determining whether any work items of a cooperative task have been reassigned from a first processing unit to a second processing unit, calculating a chunk size using a default equation in response to determining that no work items of the cooperative task have been reassigned from the first processing unit, calculating the chunk size using a victim equation in response to determining that one or more work items of the cooperative task have been reassigned from the first processing unit, and executing a set of work items of the cooperative task that correspond to the calculated chunk size.
Abstract:
A computing device may be configured to commence or begin executing a first task via a first thread (e.g., in a first processor or core), begin executing a second task via a second thread (e.g., in a second processor or core), identify an operation of the second task as being dependent on the first task finishing execution, and change an operating state of the second task to "executed" prior to the first task finishing execution so as to allow the computing device to enforce task-dependencies while the second thread continues to process additional tasks. The computing device may begin executing a third task via the second thread (e.g., in a second processing core) prior to the first task finishing execution, and change the operating state of the second task to "finished" after the first task finishes.
Abstract:
Embodiments include computing devices, apparatus, and methods implemented by a computing device for task scheduling in the presence of task conflict edges on a computing device. The computing device may determine whether a first task and a second task are related by a task conflict edge. In response to determining that the first task and the second task are related by the task conflict edge, the computing device may determine whether the second task acquires a resource required for execution of the first task and the second task. In response to determining that the second task fails to acquire the resource, the computing device may assign a dynamic task dependency edge from the first task to the second task.
Abstract:
Embodiments include computing devices, apparatus, and methods implemented by a computing device for accelerating execution of a plurality of tasks belonging to a common property task graph. The computing device may identify a first successor task dependent upon a bundled task such that an available synchronization mechanism is a common property for the bundled task and the first successor task, and such that the first successor task only depends upon predecessor tasks for which the available synchronization mechanism is a common property. The computing device may add the first successor task to a common property task graph and add the plurality of tasks belonging to the common property task graph to a ready queue. The computing device may recursively identify successor tasks. The synchronization mechanism may include a synchronization mechanism for control logic flow or a synchronization mechanism for data access.
Abstract:
Aspects may relate to a server comprising: an interface to receive a service request; and a processor coupled to the interface to receive the service request, the processor configured to: implement a firewall appliance for the service request; operate a first micro-security application to generate an anomaly alert for the service request; and operate a second micro-security application to receive the anomaly alert from the first micro-security application or from another server's micro-security application and to determine whether the service request corresponds to a non-benign behavior.