Abstract:
Method and apparatus are provided in a shared memory, multi-processor computer system for reducing the time required to run an application program on the processors of the system by reducing the overhead associated with the separation of the program and the initiation of the parallel execution of the tasks. The system has a plurality of processors wherein the application program is separated into different tasks and the tasks are executed in parallel on the processors of the system. The system further includes a process enabling the execution of either opportunistic or queued threads. In the preferred embodiment, the method includes the steps of (a) determining if one of the processors is free to execute a first task, and (b) performing the first task if step (a) determines that none of the processors are free. The method also includes the steps of (c) reserving the one processor for the first task if step (a) determines the one processor is free, and (d) constructing and transferring a task data structure for the first task to the reserved processor. Finally, the method includes the steps of (e) creating a future object for the first task, (f) performing the first task on the one processor, and (g) placing the results of step (f) in the future object. An alternative embodiment includes the ability to stack or queue threads onto a Global Queue to await execution by a free processor.
Abstract:
Method and apparatus are provided for encoding data types to identify the type of object being operated on during execution of a computer program on a data processing system including byte-addressed memory. The object is represented by at least one machine word having a plurality of bits. The method includes the steps of storing an object in the byte-addressed memory so that the lower three bits of the object are in a zero state and setting one of the lower three bits to a non-zero state to indicate a particular data type. Three different types of data can be verified by checking the state of a single bit. In one embodiment of the invention the method further includes the step of setting a second one of the lower three bits to a non-zero state to indicate that the object, such as NIL, is a member of two data types. In a second embodiment of the invention the method further includes the step of setting a bit immediately adjacent the lower three bits to a non-zero state to indicate whether the object is a short-float object. The invention has particular utility for use with the computer programs written in a LISP-like language.
Abstract:
This invention provides efficient and scalable enantioselective methods that yield 2-alkyl-2-allylcycloalkyanone compounds with quaternary stereogenic centers. Methods include the method for the preparation of a compound of formula (I): comprising treating a compound of formula (II) or (III): with a palladium (II) catalyst under alkylation conditions.
Abstract:
A system for waterproofing a basement or similar structure including a horizontal section disposed on the top surface of the structure's foundation footer, and a vertical section that extends from the horizontal section in communication with the structure's foundation wall. The horizontal section includes a top surface, side walls, and a bottom surface that define a central drainage area, the side walls include lower apertures. The vertical section includes front and back surfaces, the back surface includes an edge having passages in fluid communication with the lower apertures. The vertical section includes an upper flange that protrudes a distance from the back surface such that the lower edge and flange portion abut the interior surface of the foundation wall.
Abstract:
An article and related method for creating custom and decorative fringes including an elongate and flexible template exhibiting an interior and linear extending slot. A yarn or ribbon is successively wrapped around the sides of the template in length progressing fashion as to overlay the slot. A stabilizer, including such as a hem tape, bias tape or ribbon, is aligned with the slot and sewn or otherwise secured to the yarn or ribbon, following which the lateral extending edges are sectioned to remove the finished item from the template and to permit subsequent application to an edge or other surface of an existing article.
Abstract:
A method and system for indicating availability of a contact is provided. The presence system displays to the user an indication of the presence state in association with the contact. The presence system provides an indication of the availability associated with the presence state of the contact when the user indicates to view such information. When the contact has high availability, the presence system displays an increasing animation. When the contact has low availability, the presence system displays a decreasing animation.
Abstract:
An apparatus includes a valve and an actuator. The valve has a portion movably disposed within a valve pocket defined by a cylinder head of an engine. The valve is configured to move relative to the cylinder head a distance between a closed position and an opened position. The portion of the valve defines a flow opening that is in fluid communication with a cylinder of an engine when the valve is in the opened position. The actuator is configured to selectively vary the distance between the closed position and the opened position.
Abstract:
An apparatus and method for molding a component onto a stretched blank. The apparatus includes a stretching assembly mounted adjacent to a first mold part. The stretching assembly includes a plurality of clamp assemblies that grasp the peripheral edge of the blank and a plurality of slide assemblies that move the clamp assemblies away from one another to apply a stretch to the fabric. The apparatus further includes a press for closing a second mold part onto the first mold part while the fabric is held in a stretched condition by the stretching assembly. In one embodiment, the stretching assembly may include a float plate that is movable with respect to the first mold part between a stretch position and a mold position. The apparatus may include a robot with tooling for moving the fabric onto the stretching assembly. The tooling may include a plurality of shot pins that push the fabric off of the tooling onto corresponding fabric pins in the stretching machine. In one embodiment, the apparatus include a stretch measuring device adapted to measure the stretch applied to the fabric.
Abstract:
An apparatus and method for using the apparatus for staining particular cell markers is disclosed. The apparatus includes a flexible tube that is reversibly pinched into compartments with one or more clamps. Each compartment of the tube contains a separate reagent and is in selective fluid communication with adjoining compartments.
Abstract:
A method and apparatus for management of application programs in a computer network are disclosed. A modified hierarchical database which includes application objects that represent applications and their execution environments is utilized. Administrator tools support the creation, deletion, and modification of application objects. Each application object includes the location of an executable code for a given application, an icon, a working directory name, drive mappings, printer port captures, command line parameters, and similar information. An application launcher queries the database and updates a list of available applications which is kept in the user's desktop. The launcher automatically launches specified applications when a user runs the launcher. The launcher also uses the information in the application object to setup resources needed by the application, to create a process that executes the application, and to clean up after the application terminates. Resource setup involves mapping drives and capturing printer ports as needed. The database, the launcher, and the administrator tools allow consistent tracking and use of information about application programs and their execution environments in the network.