Patent classifications
G06F2209/521
SYSTEM AND METHOD FOR GENERATING PACKAGE FOR A LOW-CODE APPLICATION BUILDER
A method includes receiving a request to generate an application. retrieving a low-code format, generating a low-code package based on the low-code format, and generating the application based on the low-code package. The low-code format is a cross-platform format supported by different application building platforms, and is constructed based on a human-readable universal support format.
METHOD AND APPARATUS TO MANAGE FLUSH OF AN ATOMIC GROUP OF WRITES TO PERSISTENT MEMORY IN RESPONSE TO AN UNEXPECTED POWER LOSS
A group of cache lines in cache may be identified as cache lines not to be flushed to persistent memory until all cache line writes for the group of cache lines have been completed.
Atomic operation predictor to predict whether an atomic operation will complete successfully
In an embodiment, a processor comprises an atomic predictor circuit to predict whether or not an atomic operation will complete successfully. The prediction may be used when a subsequent load operation to the same memory location as the atomic operation is executed, to determine whether or not to forward store data from the atomic operation to the subsequent load operation. If the prediction is successful, the store data may be forwarded. If the prediction is unsuccessful, the store data may not be forwarded. In cases where an atomic operation has been failing (not successfully performing the store operation), the prediction may prevent the forwarding of the store data and thus may prevent a subsequent flush of the load.
Function as a service (FaaS) system enhancements
- Mohammad R. Haghighat ,
- Kshitij Doshi ,
- Andrew J. Herdrich ,
- Anup Mohan ,
- Ravishankar R. Iyer ,
- Mingqiu Sun ,
- Krishna Bhuyan ,
- Teck Joo Goh ,
- Mohan J. Kumar ,
- Michael Prinke ,
- Michael Lemay ,
- Leeor Peled ,
- Jr-Shian Tsai ,
- David M. Durham ,
- Jeffrey D. Chamberlain ,
- Vadim A. Sukhomlinov ,
- Eric J. Dahlen ,
- Sara Baghsorkhi ,
- Harshad Sane ,
- Areg Melik-Adamyan ,
- Ravi Sahita ,
- Dmitry Yurievich Babokin ,
- Ian M. Steiner ,
- Alexander BACHMUTSKY ,
- Anil Rao ,
- Mingwei Zhang ,
- Nilesh K. Jain ,
- Amin Firoozshahian ,
- Baiju V. Patel ,
- Wenyong Huang ,
- Yeluri Raghuram
Embodiments of systems, apparatuses and methods provide enhanced function as a service (FaaS) to users, e.g., computer developers and cloud service providers (CSPs). A computing system configured to provide such enhanced FaaS service include one or more controls architectural subsystems, software and orchestration subsystems, network and storage subsystems, and security subsystems. The computing system executes functions in response to events triggered by the users in an execution environment provided by the architectural subsystems, which represent an abstraction of execution management and shield the users from the burden of managing the execution. The software and orchestration subsystems allocate computing resources for the function execution by intelligently spinning up and down containers for function code with decreased instantiation latency and increased execution scalability while maintaining secured execution. Furthermore, the computing system enables customers to pay only when their code gets executed with a granular billing down to millisecond increments.
Element ordering handling in a ring buffer
Data processing apparatuses, methods of data processing, complementary instructions and programs related to ring buffer administration are disclosed. An enqueuing operation performs an atomic compare-and-swap oper-ation to store a first processed data item indication to an enqueuing-target slot in the ring buffer contingent on an in-order marker not being present there and, when successful, determines that a ready-to-dequeue condition is true for the first processed data item indication. A dequeuing operation, when the ready-to-de-queue condition for a dequeuing-target slot is true, comprises writing a null data item to the dequeuing-target slot and, when dequeuing in-order, further comprises, dependent on whether a next contiguous slot has null content, determining a retirement condition and, when the retirement condition is true, performing a retirement process on the next contiguous slot comprising making the next con-tiguous slot available to a subsequent enqueuing operation. Further subsequent slots may also be retired.
VERIFICATION OF ATOMIC MEMORY OPERATIONS
A computer-implemented method, computerized apparatus and computer program product for verification of atomic memory operations are disclosed. The method comprising: independently generating for each of a plurality of threads at least one instruction for performing an atomic memory operation of a predetermined type on an allocated shared memory location accessed by the plurality of threads; and, determining an evaluation function over arguments comprising values operated on or obtained in performing the atomic memory operation of the predetermined type on the allocated shared memory location by each of the plurality of threads; wherein the evaluation function is determined based on the atomic memory operation of the predetermined type such that a result thereof is not effected by an order in which each of the plurality of threads performs the atomic memory operation of the predetermined type on the allocated shared memory location.
Verification of atomic memory operations
A computer-implemented method, computerized apparatus and computer program product for verification of atomic memory operations are disclosed. The method comprising: independently generating for each of a plurality of threads at least one instruction for performing an atomic memory operation of a predetermined type on an allocated shared memory location accessed by the plurality of threads; and, determining an evaluation function over arguments comprising values operated on or obtained in performing the atomic memory operation of the predetermined type on the allocated shared memory location by each of the plurality of threads; wherein the evaluation function is determined based on the atomic memory operation of the predetermined type such that a result thereof is not effected by an order in which each of the plurality of threads performs the atomic memory operation of the predetermined type on the allocated shared memory location.
Atomicity assurance device and atomicity assurance method
An atomicity securing apparatus that secures atomicity of collaborative services includes: an atomicity determination unit configured to determine, in a case in which there is an error response to a first service among a plurality of types of services configuring the collaborative services in response to a request to execute the plurality of types of services, whether or not a process for updating second services other than the first service in the plurality of types of services is completed in consideration of inquiry to a collaborative service execution apparatus that executes the collaborative services; a cancellation API request generation unit configured to generate a cancellation API request for canceling the process for updating the second services that is completed; and a cancellation API request transmission unit configured to transmit the generated cancellation API request to a server that provides the second services.
Index Structure Using Atomic Multiword Update Operations
A computer implemented method includes receiving multiple requests to update a data structure stored in non-volatile memory (NVM) and applying an atomic multiword update to the data structure to arbitrate access to the NVM. In a further embodiment, a computer implemented method includes allocating a descriptor for a persistent multi-word compare-and-swap operation (PMwCAS), specifying targeted addresses of words to be modified, returning an error if one of the targeted addresses contains a value not equal to a corresponding compare value, executing the operation atomically if the targeted addresses contain values that match the corresponding compare values, and aborting the operation responsive to the returned error.
TECHNIQUES FOR ORDERING ATOMIC OPERATIONS
In various embodiments, an ordered atomic operation enables a parallel processing subsystem to executes an atomic operation associated with a memory location in a specified order relative to other ordered atomic operations associated with the memory location. A level 2 (L2) cache slice includes an atomic processing circuit and a content-addressable memory (CAM). The CAM stores an ordered atomic operation specifying at least a memory address, an atomic operation, and an ordering number. In operation, the atomic processing circuit performs a look-up operation on the CAM, where the look-up operation specifies the memory address. After the atomic processing circuit determines that the ordering number is equal to a current ordering number associated with the memory address, the atomic processing circuit executes the atomic operation and returns the result to a processor executing an algorithm. Advantageously, the ordered atomic operation enables the algorithm to achieve a deterministic result while optimizing latency.