G06F9/45554

Coordinated scheduling between real-time processes

There is provided a method for coordinated scheduling between real-time processes. The method is performed by a central scheduler. The method comprises acquiring information on runtimes and deadlines for real-time processes of tasks for local schedulers to be executed on shared computing resources. The method comprises scheduling the real-time processes based on the runtimes and deadlines so as to keep the deadlines during execution of the real-time processes. There is also provided a central scheduler configured to perform such a method. There is also provided a computer program comprising computer program code which, when run on a processing unit of a central scheduler causes the processing unit to execute such a method.

DYNAMIC DISCOVERY OF INTERNAL KERNEL FUNCTIONS AND GLOBAL DATA
20200233686 · 2020-07-23 ·

A method is provided to for a hypervisor to dynamically discover internal address information of a guest kernel on a virtual machine. The method includes locating a kernel exported system call or function in an image of the guest kernel in guest memory of the virtual machine, disassembling machine code of the kernel exported system call or function in the image into assembly code, detecting a pattern from memory references in the assembly code, and, after detecting the pattern, determining the internal address information of the guest kernel from the assembly code.

SYSTEMS AND METHODS FOR TASK PROCESSING IN A DISTRIBUTED ENVIRONMENT

Methods and apparatus for task processing in a distributed environment are disclosed and described. An example apparatus includes a task manager and a task dispatcher. The example task manager is to receive a task and create an execution context for the task, the execution context to associate the task with a routine for task execution. The example task dispatcher is to receive a report of task execution progress and provide an update regarding task execution progress, the task dispatcher, upon initiation of task execution, to facilitate blocking of interaction with a resource involved in the task execution. The example task dispatcher is to trigger an indication of task execution progress and, upon task finish, facilitate unblocking of the resource involved in the task execution.

Efficient migration for encrypted virtual machines by active page copying
10693844 · 2020-06-23 · ·

Systems and methods for efficient migration for encrypted virtual machines (VMs) by active page copying are disclosed. An example method may include receiving a request to migrate a VM, identifying a first page of memory of the VM on the source host machine for migration, the first page of memory encrypted with a VM-specific encryption key, protecting the first page from access by the VM, executing a send command to modify the first page from encrypted with the guest-specific encryption key to encrypted with a migration key while the first page remains in place in the memory, allocating a second page in a buffer, copying contents of the first page to the second page, executing a receive command to modify the first page from encrypted with the migration key to encrypted with the guest-specific encryption key while the first page remains in place in the memory, and transmitting contents of the second page.

PERFORMANCE-BASED HARDWARE EMULATION IN AN ON-DEMAND NETWORK CODE EXECUTION SYSTEM

Systems and methods are described for providing performance-based hardware emulation in an on-demand network code execution system. A user may generate a task on the system by submitting code. The system may determine, based on the code or its execution, that the code executes more efficiently if certain functionality is available, such as an extension to a processor's instruction set. The system may further determine that it can provide the needed functionality using various computing resources, which may include physical hardware, emulated hardware (e.g., a virtual machine), or combinations thereof. The system may then determine and provide a set of computing resources to use when executing the user-submitted code, which may be based on factors such as availability, cost, estimated performance, desired performance, or other criteria. The system may also migrate code from one set of computing resources to another, and may analyze demand and project future computing resource needs.

IMPLEMENTING THREE-LAYER COMMUNICATION
20200153659 · 2020-05-14 ·

In an example of a method for implementing three-layer communication of a management packet, a controlling bridge creates a first virtual management ethernet (VME) port with a first MAC address, and allocates a first IP address to the first VME port. A port extender creates a second VME port with a second MAC address, and requests an IP address of the second VME port from the controlling bridge. The controlling bridge allocates a second IP address to the second VME port, and notifies the port extender of the second IP address and the first IP address; acquires the second MAC address of the second VME port to send receive a management packet to/from the second VME port through three-layer communication. The port extender acquires the first MAC address of the first VME port to send receive a management packet to/from the first VME port through three-layer communication.

Hypervisor management of migration notification and response messages for virtual machines
10628198 · 2020-04-21 · ·

A hypervisor may identify that a virtual machine has been migrated to the hypervisor from another hypervisor. In response to identifying that the virtual machine has been migrated, the hypervisor may provide a notification message including one or more network addresses associated with the migrated virtual machine. The hypervisor may receive network traffic data and determine that the received network traffic data corresponds to a response message for at least one of the one or more network addresses associated with the migrated virtual machine. The hypervisor may determine that each of the one or more network addresses has not received the response message and provide a subsequent notification message.

TRANSPARENT SELF-REPLICATING PAGE TABLES IN COMPUTING SYSTEMS
20200117612 · 2020-04-16 ·

An example method of managing memory in a computer system implementing non-uniform memory access (NUMA) by a plurality of sockets each having a processor component and a memory component is described. The method includes replicating page tables for an application executing on a first socket of the plurality of sockets across each of the plurality of sockets; associating metadata for pages of the memory storing the replicated page tables in each of the plurality of sockets; and updating the replicated page tables using the metadata to locate the pages of the memory that store the replicated page tables.

Systems and methods for task processing in a distributed environment

Methods and apparatus for task processing in a distributed environment are disclosed and described. An example apparatus includes a task manager and a task dispatcher. The example task manager is to receive a task and create an execution context for the task, the execution context to associate the task with a routine for task execution. The example task dispatcher is to receive a report of task execution progress and provide an update regarding task execution progress, the task dispatcher, upon initiation of task execution, to facilitate blocking of interaction with a resource involved in the task execution. The example task dispatcher is to trigger an indication of task execution progress and, upon task finish, facilitate unblocking of the resource involved in the task execution.

Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor

In a processor supporting execution of a plurality of functions of an instruction, an instruction blocking value is set for blocking one or more of the plurality of functions, such that an attempt to execute one of the blocked functions, will result in a program exception and the instruction will not execute, however the same instruction will be able to execute any of the functions that are not blocked functions.