摘要:
In one aspect, a data race condition is detected based on an address of a variable shared by at least first and second threads for executing the program code, the shared variable address being stored in a hardware table. Detection of the data race condition in the program code is reported. In another aspect, at least first and second threads for executing the program code are synchronized based on an address of a variable shared by the threads and stored in a hardware table.
摘要:
Various approaches are described for auditing integrity of stored data. In one approach, a data set is provided from a client to a storage provider, and the data set is stored at a first storage arrangement by the storage provider. An auditor determines whether the data set stored at the first storage arrangement is corrupt without reliance on any part of the data set and any derivative of any part of the data set stored by the client. While the auditor is determining whether the data set stored at the first storage arrangement is corrupt, the auditor is prevented from being exposed to information specified by the data set. The auditor outputs data indicative of data corruption in response to determining that the data set stored at the first storage arrangement is corrupt.
摘要:
A conversation definition language (CDL) is disclosed that programmers may use to define sequences of interactions for communicating with a web service to facilitate use of the web service. CDL enables web services provided by different entities to engage in flexible and autonomous interactions. Using CDL, services can communicate by exchanging messages, and the message exchanges are expected to follow a specific pattern (i.e., a conversation). CDL is used to define the conversation, such that a service may expect a particular message in response to transmitting a particular message. CDL includes document type descriptions, interactions and transitions for describing a conversation. The document type descriptions describe the messages that may be exchanged. The interactions describe the type of actions (e.g., receive and/or transmit a message) that may be performed, and the transitions describe the possible sequences of the interactions.
摘要:
A system and method for typing resources in a distributed system is provided which enables flexible searching mechanisms for finding distributed resources. The distributed system includes at least three types of resources: service, vocabulary and contract resources. The service resource includes the implementation logic for the service. A contract resource contains interface data used for accessing resources. The vocabulary resource contains an attribute schema defining attributes used to describe resources. Each resource—including service, vocabulary and contract resources—is typed by associating one or more vocabulary resources and one or more contract resources with the resource. The vocabulary resources explain the meaning of attribute lists describing the resource and enable the resource to be discovered. The contract resources provide data for accessing the resource. Because vocabulary and contract resources are themselves resources, they are also typed by vocabulary and contract resources and are, accordingly, discoverable and accessible. Typing resources with vocabularies and contracts that are themselves discoverable resources, provides a structural mechanism for supporting robust resource discovery processes suitable for large, loosely-coupled distributed systems.
摘要:
A software system that provides access control to resources and that disassociates access rights to resources from references to resources to prevent the formation of large and unwieldy access control lists and to enable advanced decentralized security controls. The software system includes a repository that holds a resource descriptor for each resource including lock/permission pairs. Access to particular resources or groups of resources is provided by providing users with the appropriate keys. The keys are themselves are resources with resource descriptors in the repository. Access rights for users may be revoked by deleting keys from the repository. The software system also provides visibility fields for compartmentalizing access to resources. In addition, the software system provides authorizers that maintain audit trails when critical resource such as keys are passed among users and that enable advanced security control when passing resources among users.
摘要:
Method and apparatus for storing and executing an instruction to load two independent registers with two values is disclosed. In one embodiment, a computer-readable medium is encoded with an instruction including an opcode field specifying that the instruction is an instruction to load two independent registers with a first value and a second value, a source field specifying the first value and the second value, a first target register field specifying a first target register to load with the first value; a second target register field specifying a second target register to load with the second value. A system to execute the instruction is also disclosed.
摘要:
A memory management system is described which divides each virtual page into two or more sectors. Each of these sectors can then be individually loaded into memory in order to reduce bandwidth consumed loading virtual pages into a physical memory. A TLB for this system includes a plurality of TLB entries. Each TLB entry includes a variable physical page number (PPN FIELD) and a variable presence field. Each bit of the presence field indicates whether a corresponding sector is present in physical memory. The TLB entry also includes a page size field, which indicates the size of the corresponding virtual page. This size field also indirectly controls the number of sectors within that page and, thus, the number of presence bits required. As the page size grows the number of bits required to store the physical page number reduces. These unused bits are then consumed by additional presence bits so that all the bits in the TLB entry are used for all page sizes and number of sectors.
摘要:
A method and related control logic for performing in line recovery from deferred exceptions generated by speculative operations. The control logic includes a re-execution register to mark operands of operations that should be re-executed in a special recovery mode. When the processor detects a deferred exception, it branches to the operation that generated the exception and enters the special in-line recovery mode. The processor executes operations non-speculatively in the recovery mode, and marks the result registers of these operations with re-execution flags. The processor then knows whether to re-execute an operation by checking for re-execution flags associated with the operands of an in-line operation. The processor exits recovery mode when it returns to the point where it detected the deferred exception. The re-execution register enables the processor to recover from deferred exceptions using the program code only, without any additional fix-up code or recovery code.
摘要:
A floating point processing system which uses a multiplier unit and an adder unit to perform floating point division and square root operations using both a conventional and a modified form of the Newton-Raphson method. The modified form of the Newton-Raphson method is used in place of the final iteration of the conventional Newton-Raphson so as to compute high precision approximated results with a substantial improvement in speed. The invention computes approximated results faster and simplifies hardware requirements because no multiplications of numbers of the precision of the result are required.
摘要:
A method performed within a multi-processing, multi-programming computer environment for reducing conflict among tasks concurrently accessing COMMON BLOCKs in code sequences compiled within said environment from a FORTRAN like language system, and for reducing the memory used in the storing of private copies of said COMMON BLOCKs. The method involves inserting constructs at compile time into the compiled code which enable the COMMON BLOCKs to be dynamically bound at runtime to two or more referencing tasks. Then, at execution time responsive to the constructs, the blocks are bound to the tasks dynamically and scoped so that they lie within the dynamic nesting of the tasks.