G06F9/4825

SUPPORTING INVOCATIONS OF THE RDTSC (READ TIME-STAMP COUNTER) INSTRUCTION BY GUEST CODE WITHIN A SECURE HARDWARE ENCLAVE

Techniques for supporting invocations of the RDTSC (Read Time-Stamp Counter) instruction, or equivalents thereof, by guest program code running within a virtual machine (VM), including guest program code running within a secure hardware enclave of the VM, are provided. In one set of embodiments, a hypervisor can activate time virtualization heuristics for the VM, where the time virtualization heuristics cause accelerated delivery of system clock timer interrupts to a guest operating system (OS) of the VM. The hypervisor can further determine a scaling factor to be applied to timestamps generated by one or more physical CPUs, where the timestamps are generated in response to invocations of a CPU instruction made by guest program code running within the VM, and where the scaling factor is based on the activated time virtualization heuristics. The hypervisor can then program the scaling factor into the one or more physical CPUs.

Method, apparatus and device for transitioning between data and control core and migrating clock task from data core to control core

A clock task processing method includes before or when running a service process by using at least one data core, disabling a clock interrupt of the at least one data core, and processing a clock task in the at least one data core by using at least one control core of multiple control cores that cannot process service data.

Network function virtualization service container creation

A service container creation method and apparatus, where the method includes receiving, by a virtualization layer in a network functions virtualization (NFV) infrastructure (NFVI), a container creation message from a virtualized infrastructure manager (VIM) for a target service, creating, by the virtualization layer, a service container in the NFVI, deploying the target service in the service container, according to the container creation message, and establishing, by the virtualization layer according to a timer type in the container creation message, a binding relationship between the service container and one or more central processing units (CPUs) in the NFVI. Hence, isolate performance impact posed by a high-precision timer in an NFV system within a range of a single service container such that the NFV system considers performance of each service container while ensuring flexible service deployment.

Method, device, and single-tasking system for implementing multi-tasking in single-tasking system

Disclosed are a method, a device, and a single-tasking system for implementing multi-tasking in a single-tasking system. The method includes: performing a master task; allocating a hardware timer to a slave task on a central processing unit (CPU); configuring an interrupt period of the hardware timer; and generating, by the hardware timer, a hardware interrupt periodically based on the interrupt period to trigger the performance of the slave task. Therefore, independent and concurrent execution of the master task and slave task can be achieved in a single-tasking system, without the need to add an unwieldy multitasking scheduling framework to the operating system. Furthermore, the slave task is executed only when the hardware timer generates hardware interrupts, so less system resources will be consumed and the unwieldy inter-process communication mechanisms as adopted in traditional multi-tasking systems won't be needed. Example inter-process communication mechanisms may include, semaphores, spinlocks, etc.

Synchronizing multiple devices

An apparatus, and computer program product for synchronously starting programs on multiple devices connected to a server is provided. A synchronous point of a program to be synchronously started for each of the multiple devices is identified. A wait function is dynamically injected into the synchronous point for each of the multiple devices. A start time from the server is received in response to the multiple devices entering a waiting state. The programs are synchronously started in response to the start time arriving for each of the multiple devices.

Synchronizing multiple devices

A method, apparatus, and computer program product for synchronously starting programs on multiple devices connected to a server is provided. A synchronous point of a program to be synchronously started for each of the multiple devices is identified. A wait function is dynamically injected into the synchronous point for each of the multiple devices. A start time from the server is received in response to the multiple devices entering a waiting state. The programs are synchronously started in response to the start time arriving for each of the multiple devices.

Application code callbacks at regular intervals

A method may include obtaining, for a thread executing application code, a recurring task, a recurring interval, a previous callback time, a starting counter value, and a counter trigger, initializing a current counter value to the starting counter value, and performing checks in response to adjustments to the current counter value. Each check may determine whether the respective adjusted current counter value satisfies the counter trigger. The method may further include in response to a check determining that the adjusted current counter value satisfies the counter trigger, invoking a callback handler with a callback that performs the recurring task, and in response to an elapsed time exceeding the recurring interval, executing, by the callback handler, the callback. The elapsed time may be an amount of time elapsed between the previous callback time and the first invocation. The method may further include modifying the starting counter value using the elapsed time.

SENSOR DEVICE, SENSOR DEVICE MANAGEMENT SYSTEM, AND SENSOR DEVICE MANAGEMENT METHOD
20200272516 · 2020-08-27 ·

A processor 204 of a sensor device performs measurement processing by one or a plurality of sensors 203 and transmission processing of sensor data generated by the measurement processing. The sensor device includes a processing routine table 211 that stores a processing routine configured to include, corresponding to an identifier for identifying processing performed by a processor, a type of the processing, an execution trigger of the processing, and trigger information that prescribes a trigger for transmitting the sensor data. The processor controls processing in a processing routine of the processing routine table, based on trigger information, so that the sensor data subjected to measurement processing is immediately transmitted, or temporarily stored in a buffer 212 and transmitted after a predetermined time.

Timer-based I/O completion polling for low latency storage device

An I/O processing system includes reception of a request to perform an I/O operation at a storage driver, and, in response to receiving the request, providing of the request to a storage device, and scheduling a timer associated with a callback routine to determine whether the storage device has completed the I/O operation, and, in response to expiration of the scheduled timer, determination of whether the storage device has completed the I/O operation.

Abstraction of spin-locks to support high performance computing

A method comprises receiving a non-privileged disable interrupts instruction from a user application executing in user space, the non-privileged disable interrupts instruction having an operand with a non-zero value; determining a value in a special purpose register associated with disabling interrupts; and in response to determining that the value in the special purpose register associated with disabling interrupts is zero, disabling interrupts and placing the non-zero value of the operand in the special purpose register associated with disabling interrupts.