Abstract:
In a computer system having a multithreaded application and a generational garbage collector that dynamically pre-tenures objects from a predetermined number of candidate allocation sites, allocated byte accounting is performed by each application thread using an array that contains a number of entries equal to the total number of candidate sites at any given time. Each array is indexed by a site number assigned to that site and contains a bytes allocated count for that site. At compilation time, object allocation code that is generated by the compiler is modified to update an array entry associated with a site number that is assigned when the site is selected as a candidate site. Since each array is local to the thread that contains it, each thread can write into its array without using atomic operations or locks.
Abstract:
A method for private personal identification number (PIN) management includes receiving a first PIN, receiving a first key used to scramble a second PIN that has been validated, receiving a first scrambled PIN comprising the second PIN scrambled with the first key, scrambling the first PIN with the first key to create a second scrambled PIN and validating the first PIN based at least in part on whether the first scrambled PIN matches the second scrambled PIN.
Abstract:
A pruning algorithm for generating a reverse donut model (RDM) for running timing analysis for a block in an IC includes logic to reduce a hierarchical model of the IC to a single level flat model. A block from a plurality of blocks that make up the IC is identified from the single level flat model of the IC. The pruning algorithm is further used to initialize a timer and to define timing constraints associated with each of a plurality of input and output pins associated with the identified block. A RDM for the identified block is generated by identifying and including connectivity information associated with a plurality of input and output pins in an outer boundary of the identified block and at least one layer of interface connection between each of the plurality of input and output pins in the outer layer of the identified block and one or more circuit elements external to the identified block in the IC interfacing with each of the plurality of input and output pins in the identified block. The generated RDM acts as a blackbox for the identified block and is used in place of the identified block for running the timing analysis.
Abstract:
A system includes a physical NIC associated with the computer and including receive rings for storing network traffic addressed to the VNIC, where the receive rings include a local receive ring for storing local traffic and a forwarding receive ring for storing forwarding traffic. The physical NIC further includes a hardware classifier configured to register a local Internet Protocol (IP) address associated with the VNIC in a lookup table, receive a packet including a destination IP address, classify the packet as local traffic or forwarding traffic using the lookup table, and store the packet in the local receive ring or the forwarding receive ring based on the type. The VNIC is configured to retrieve the packet from the receive ring, and process the packet in a type-specific manner based on the receive ring where the packet was stored, where the type-specific manner is different for local traffic and forwarding traffic.
Abstract:
A network interface card in a networked client computer includes a network interface circuit that decodes and then compares incoming network packet addresses to known address bit patterns, the decoding and comparing circuitry being powered at all times. Receipt and recognition of certain addresses means the client computer must be powered-on, even if manually switched OFF. When such a server-transmitted address is recognized, a power-on signal is issued to a power control unit that causes full operating power to be coupled to the client computer. In this fashion, a server can broadcast power-on signals to a plurality of networked client computers or workstations.
Abstract:
A system that controls one or more operating parameters in a computer system is presented. Until specified values for one or more operating parameters are achieved, the system performs the following operations. The system operates the computer system using a specified load profile. The system then determines whether the specified load profile produces the specified values for the one or more operating parameters. If the specified load profile does not produce the specified values for the one or more operating parameters, the system adjusts the specified load profile, which involves using a pulse-width modulation technique to adjust a duty cycle between a first workload and a second workload.
Abstract:
A computing system is configured to receive incoming packets at a first priority designated for use when receiving packets that are not associated with specific subscription levels. Incoming packets are examined to determine whether they are associated with a particular subscription level. Responsive to a determination that a given packet received over a particular connection is associated with a particular subscription level, the computing system is reconfigured to process packets subsequently received over the same connection at a different priority associated with the particular subscription level.
Abstract:
A method for avoiding tape stiction is provided with a tape drive with a pair of motors for driving a pair of tape reels for conveying data tape across one or more read/write heads. Tachometers measure rotation of the pair of tape reels. Motion of the tape is started and rotation of the tape reels is measured by the tachometers. The measurement of the rotation of the tape reels is compared to determine if there is enough slack associated with tape stiction. The location of tape stiction is stored and weighted. Another method stops motion of the tape at a location wherein excessive tape stiction has not been detected. A tape drive is provided for performing methods for avoiding tape stiction.
Abstract:
A method for media-based data transfer involves obtaining data, by a first virtual network interface card (VNIC) selected from multiple VNICs, where the multiple VNICs are associated with multiple virtual machines, where each of the multiple virtual machines is located in one of multiple computers communicatively coupled with each other via a chassis interconnect, and where the multiple computers share a physical network interface. The method further involves determining a media type connecting the first VNIC with a second VNIC selected from the multiple VNICs, where the first VNIC and the second VNIC are nodes of a virtual network path, where the first VNIC is located in a first computer selected from the multiple computers, and where the second VNIC is located in a second computer selected from the multiple computers. The method further involves choosing a transfer protocol based on the media type, and transferring the data from the first VNIC to the second VNIC using the transfer protocol.
Abstract:
One embodiment of the present invention provides a system that supports different modes of multi-threaded speculative execution on a processor. The system starts with two or more threads executing in a first multi-threaded speculative-execution mode. The system then switches to a second multi-threaded speculative-execution mode by configuring circuits in the processor to enable a second multi-threaded speculative-execution mode. After configuring the circuits, the system next switches the threads from executing in the first multi-threaded speculative-execution mode to executing in the second multi-threaded speculative-execution mode.