CA1272809A - Dynamically partitionable parallel processors - Google Patents

Dynamically partitionable parallel processors

Info

Publication number
CA1272809A
CA1272809A CA000529317A CA529317A CA1272809A CA 1272809 A CA1272809 A CA 1272809A CA 000529317 A CA000529317 A CA 000529317A CA 529317 A CA529317 A CA 529317A CA 1272809 A CA1272809 A CA 1272809A
Authority
CA
Canada
Prior art keywords
processors
processor
status
group
dynamic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA000529317A
Other languages
French (fr)
Inventor
Philip Malcolm Neches
Alexandros Christou Papachristidis
Richard Joseph Baran
David Henry Hartke
Darryl Lawrence Woodcock
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Teradata Corp
Original Assignee
Teradata Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Teradata Corp filed Critical Teradata Corp
Application granted granted Critical
Publication of CA1272809A publication Critical patent/CA1272809A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture

Abstract

Abstract of the Disclosure A system for dynamically partitioning processors in a multiprocessor system intercoupled by a network utilizes, in association with each processor, a network accessible, locally changeable memory section. An available one of a number of common dynamic group addresses in each of the memories is reserved for a subgroup for the performance of subtasks within an overall task, and members of the group are designated as they receive messages to be processed. The members then locally update status words which establish membership, group validity and semaphore conditions, so that transactions may be initiated, coordinated and terminated with minimum involvement of processors that have no relevant subtasks. When the full task is completed the dynamic group is relinquished for use when a new task is to be undertaken.
The system enables many tasks to be carried out concurrently with higher intercommunication efficiency.

Description

I~YN~MIC~I.I,Y P~RTITIO?~;~BLE P~R~LLl~:~ PF<OC~:SSORS
~ackground oE the Invention Multiprocessor architectures provide powerful computer systems which, by subdivision of tasks between processors, can handle complex problems and manipulate large data bases quickly and reliably. With most architectures, however, the overhead of managing the resources o~ the system can become so complex and time consuming that it can severely limit system performance. The processors must intercommunicate among themselves, prioritize different messages, and execute various tasks in the most efficient manner. ~epending upon the architecture, this has required the development of very complicated software overhead for system resource management.
Such ~actors, along with the difficulty of writing software and complex procedures for system expansion, have in the past limited the application of multi~rocessor systems.
Most multiprocessors utilize single or double intercommunication busses with priority being determined in accordance with an assigned hierarchy or on the basis of time.
`~0 Control functions are exercised by specific processors, or by bus controllers, or by a variety of other means.
Recognizing the exte~t of ~hese and other problems, a new multiprocessor system has been introduced and is now in widespread use, based upon the concepts shown and described in U. S. Patent No. 4,412j2~5 to Philip M. ~eches et al and U. S. Patent ~os. 4~445,171 and 4~543,630 to Philip M. Meches.
~ significantly different approach is used in these systems, whichcommunicate between processors by an activelogic network .
.

:: .: . - . , ' : ' ~ ~' '', :' ' ' . ,. ' . ,: , . , ~7~ `3 havinga treeconEigurationandmeansfor prioritizingmessages based upon data content. The tree network also broadcasts messages having priority to all processors. T.ocal determinations are made, at the processors, as to messages to be responded to or processed by those processors. ~ata, status, control and response messages are organized in a coherent priority scheme that, together with the system architecture, greatly reduces the complexity of the overhead ~unctions and enables ready expansion oE the system to a very 1~ large (e.g. 1,024 processor) configuration. This system has proven to be of unique significance, for example, in deriving complex relational ~ueries from vas~ data bases which may have hundreds of state cf the art processors handling up to 1012 bytes (terabytes) of stored data. In the relational 1~ data base situation the contents must be constantly updated, extracted, processed and modified as entries are made and complex relational queries are answeredO
The referenced patents describe a variety of approaches utilized in communications between processors.
~0 ~11 of the processors can be addressed by a broadcast mode, or at the other extreme specific processors can intercommunicate by identification of a particular recipient. Processors can also be designated in accordance with data responsibility ("hashed mode") or as a participant in a pre-identified group.
~5 ~uch groups are established during an initialization process and thereafter are not changed except by returning to initialization. ~very message is addressed to all members of the group concurrently, only those processors,which are members oE the group acknowledge the message and process data 3~ contributing to the completion of the given task.
Besides interprocessor communication, a practical system must provide means for external communication. Good examples of these needs can be found in the "Backend Processor"
configuration described in the referenced patents, in which : -: . . ' - .' ' ' ' . ' ~ :
.
` " '` ~ ' :`' ~ ' .
, 7~

the multiprocessor system is utilized to update the data base and answer relational data base querie.s from one or more mainframe computers. Communication with the mainframe is effected by interface processors which usually, but not necessarily, accept assignments from the mainframe system and parse the task into substeps, messages for which are then transmitted into the network.
~ s the various subtasks are being carried out, it is necessary to be able to monitor progress of the responsible processors toward completion. It is also necessary to be able conveniently to restore the data base if an erroneous or unacceptable condition arises as a transaction is carried out. For example, transfers of funds between accounts may be undertaken before it is subsequently determined that the transaction is invalid because some funds are inadequate. In these circumstances, the already completed steps must be reversed in order to restore data to its prior status. This means that the processors then involved in other subtasks of the aborting transaction should not only restore their data but terminate their efforts, and accept no new subtask assignments for the aborting transaction.
~ lso, the system operates with Begin Transaction and ~nd Transaction phases needed to achieve coordination and eliminate ambiguity. In the Begin Transaction phase the originating processor, by one or more messages on the network, involves all processors that are members of some process class, preparing them to receive and process the specific "steps" or subtasks of the transaction. ~imilarly,,allmembers o the process class are again involved in the ~nd Transaction phase.
In the system described in the original Neches et al patents, the process class is necessarily large, because such process classes are established during system initialization and are intended to encompass many different . . : .
' , .

types and categories of transactions. secause in many circumstances only a small subgroup of a process class may be involved in a given transaction, there can be an undesired level of overhead activity and processor time committed to overhead functions. The members of a process class are identified and addressed by a ~estination selection Word (~SW), which when used with a hashing algorithm enables any processor containing specifically sought data to recognize the applicability of a query and to respond. Because given tasks often involve only small subgroups within a given ~SW, system ef~iciency can substantially decline when many simple transactions are to be undertaken.
The group subdivisions or "partitions" can change frequently in some workloads. ~lso, obtaining efEicient use of system resources may involve many different group subdivisions, entailing overlapping combinations processors active at the same time, as many different transactions are carried out concurrently by the system. Consequently, there isa needfor a capability for partitioning multiple concurrent subgroupings of processors in a system which canalsoeliminate conflicting states and which can dynamically change these groupings as needed.
The problem of changing the operative relationship of parallel processors has been confronted in a number of diEferent ways in conjunction with specific systems. In U. S.
Patent No. 4,344,134 to George ~I. Barnes, dated ~ugust 10, l9R2 and entitled "Partitionable Parallel Processor", for example, a number of parallel processors are ea~h coupled to a control tree having tiers of control nodes. The control nodesmay function as roots or non-rootsundercontrol signals.
When the processors arrive at a ~eady State, for beginning a parallel processing instruction, -they issue a so-called "I
Got ~ere" signal. The control signals applied to the nodes cause them to function when appropriate as a root node, :. " , - '~ ' . . , ' - ~ ' ' . ' .
`, . -, ',, .: '' ' .' ' : :
- - . : - . ~ . . . .

returning a "GO" signal to initiate the instruction, or as a non-root node, feeding the signal on to the next lower level node. Using the nodes of the control tree in this fashion, the processors may be partitioned into subsystems of parallel processors.
In U. S. Patent No. 4,347,498 of Robert P. I.ee et al, entitled "Method ~nd Means For ~emand ~ccessing ~nd Broadcast Transmission ~mong Ports In A ~istributed ~Star Network" the ~tar Network has a number of interconnected nodes, each directly connected to one or more ports. The ports in turn may be connected to different computers or peripheral devices. This arrangement is used for packet switching on a first-come first-served basis from any of the ports so as to broadcast to all of the ports.
U. S. Patent No. 4,099,233, entitled "~lectronic ~ata-Processing System With ~ata Transfer Between Independently Operating Miniprocessors", issued July 4, 1978 to Giuseppe Barbagelata et al, employs a control unit to control exchanges between transmitting and receiving processors in a data transfer operation. The control unit establishes "exchange miniprograms", and includes an instruction register for retaining the identities oE the transmitting and receiving miniprocessors.
Summary of the Invention ~5 Systems and methodsin accordance with theinvention carry out each of a number of tasks by establishing arbitrary subset groupings or partitions within a number of parallel processors using commonly addressable status words whose content can be changed locally. By employing different locations for status words related to different ones of a plurality of tasks, many dynamic groupings of processors can be Eormedr with each processor carrying out the assigned steps for its tasks asynchronously with respect to others. ~t the same time, the processors in the system can readily access .

. ' :;. , ' : . ' &~

locally available semaphore and status indications for a given dynamic group to assure coherent and unambiguous flow. ~lso, it is readily possible Eor any one processor to participate as a member of one or many such dynamic groups concurrently.
In a preferred imple~entation, dynamic groups are represented by status words of fixed length in which binary bit positions denote assignment or reservation of the group, membership in the group, and a group semaphore used to avoid con~licting commands and changes. In this preferred implementationr there is a plurality of dynamic group status words maintained as subsequently described at each processor.
The state oE the dynamic gxoup is affected by the dynamic group status word for that group maintained by each processor in a manner which will be subsequently described. ~n 1~ originating processor de~ermines if a dynamic group is available for assignment, acquires control of it, and designatesother processors as prospective group members after it parses the steps to be performed and as it transmits the subtask steps to the appropriate processors. The individual ~0 processors can validate their subtasks and insure orderly performance by using the semaphores to block interfering commands and to test the state of other processors in the group. ~n individual processor updates the local status word as its subtasks are carried out and it progresses toward a ~5 final stateof relinquishment, orindicatesan abortcondition.
Communications between processors in a dynamic group are specific to that group and largely in the form of brief status inquires and responses. Thus they do not demand ~processor time or capacity even though many steps are being carried out by individual processors and many communications are being exchanged as stepsareassigned, stored,executedandresponded to on a queuing basis throughout the system.
In a specific example o~ a system and method in accordance with the invention, a number of processors are .

: : ' .
.

d ,~, ~ 3 coupled to a multi-node tree network and send competing messages concurrently onto the network. The networ~ compares themessagesasthey advance through the network and broadcasts that message having data content priority to all processors.
5 ~ difEerent network interface associated with each processor includes a network accessible high speed random access memory in which a number of common addresses are reserved for 3 bit status words having assignment, member and semaphore significancerespecti~elyfordynamic groupingsofprocessors.
~n originating processor identifies a specific task by parsing individual steps and locates an available random access memory location, which it acquires by entry of an assigned bit.
Performance of the task effectively begins when steps are distributed, as by a hashing algorithm, to the responsible processors, which verify the destinations and concurrently identify themselves as members of the group. They then can process the step assigned to them, using the dynamic group location to update local task status, test for the status of other processors involved, eliminate conflicts and ultimately - eitherabortthetransactionor normallyrelinquishthe dynamic group in the process.
Brief Description of the ~rawings ~ better understanding of the invention may be had by reEerenceto thefollowing description, takenin conjunction ~5 with the accompanying drawings, in which:
Fig. 1 is a block diagram representation of one example oE a system in accordance with the invention;
Fig. 2 is a block diagram of a processor module including network interace means for use in the system of Fig- l;
Fig. 3 is a diagrammatic representation of a message format for data messages used in the system of Fig. 1, Fig. 4 is a diagrammatic representation of status message formats for use in the system of Fig. l;

, . - . -- ,- ' ~ ~ : ' , ` , , ' ~. ~ : ' -- ~
- : .

L,a (~

Fig. 5 is a flow sheet showing successlve steps in a method in accordance with the invention; and Fig. 6 is a flow sheet showing further details of a method in accordance with the invention.
~etailed ~escription of the Invention Systems in accordance with the invention, referring now to Fig. 1, advantageously but not necessarily are based on the multiprocessor system of U. S. Patent ~os. 4,~12,285, 4,445,1~1 and ~,543,630, in which the processors are intercoupled by a bidirectional tree network 10. The system shown and hereafter described is of the type that is configured as a backend relational data base systemhavingmassive storage capacity and means for responding, using the data base, to complex queries from one or more mainframe computer systems 11, 11'. The individual processors of the system are categorized either as Interface Processors (IFR) 12, 12' or ~ccess Module Processors (~MPs) 14, 14', 14''. Only a few are depicted in Fig. 1, although a very large installation can employ, or be expanded up to, 1024 processors. The ~o Interface Processors 12 interconnect with the mainframe computer 11 by receiving requests and sending assignments by parsing subtasks to the ~ccess Module Processors 14. When the various subtasks have been completed and responses compiled, the Interface Processors 12 return responses to the ~s mainframe system 11. In the data base system, the ~MPs 14 are each assigned a substantial body of data stored in individual large memories (e.g. 500 megabyte disk files), and are constantly queuing incoming and outgoing messages from or for the network 10. Within the network 10, a plurality of dynamic nodes 16 are arranged in a tree architecture establishing successive levels until a single node is reached at the nth level. ~ach node 16 has a pair of bidirectional ` input ports on the output side of the network 10, and a single bidirectional port coupled to the next level, tagether with - - - . . . .

.. . . ~ ~ . ,, .. ' ~

~ . .- . ~ . . . . . . .. . .

internal logic and clocklng circuits for synchronously advancing that competing message having preference in accordance with the established data content protocol. ~-t the top or nth level node 16, clock signals are fed in from a clock source 18, to maintain synchronous transfer in the bidirectional network.
Both IFPs 12 and ~MPs 14 are modular processor systems that incorporate network interface circuits 20, including a large high speed Random ~ccess Memory (R~M) 22 1~ on the same bus with the microprocessor 240 When a message gains priority on the network 10 it is broadcast to all IFPs 12 and ~MPs 1~ but the applicability of the message is only recognized locally by the appropriate network interface circuits 20 as requiring some activity by the associated processor. ~s described in the referenced patents, the high speed RAM 22 is network accessible, and includes memory sections, as described below, devoted to ~estination ~election Words (D~W) that can specifically characterize and identify processors.
~ The IFPs 12 include inter~aces 28 for communication with the mainframe computer 11 busses, while the ~MPs 14 include disk controller interfaces 30 for data transfer with the individually associated disk drives 32. For detailed understanding of the general organization and operation of the system of Fig. 1, reference may be made to the previously mentioned patents of Philip M. Neches et al. It should be noted that the redundant networks and circuits shown and described in such patents have been omitted here f~r brevity and simplicity.
Further details of a processor, such as an ~MP 14, are shown in Fig. 2. The microprocessor system 24 includes the microprocessor 34 and its associated main R~M 36, intercoupled by address and data busses which also couple into microprocessor bus interface and control circuits 38 in .

, , ':, ' . :

~7,'~

the network interface 20. The input register array and control circuits 42, output register array and control circuits 44, and bus interface and control circuits 3~ time share the ~andom ~ccess ~emory 22 via ~, ~, and C ports, respectively.
5 ~lthough the difEerent IFPs and ~MPs process transactions asynchronously, clock circuits 46 coupled to the clock lines fromthe networkare used in assuring synchronous data transfer to and from the network 10 of Fig. 1. Parity circuits 48 coupled to the memory 22 function in conventional error detecting and correcting modes.
Within the high speed ~andom Access Memory 22, the Selection Map section 50 is allotted a predetermined number of addresses, which may arbitrarily vary in size and location but which are here conveniently grouped together, as shown.
~DPID (Designated Processor Identification) section 52, which can be relatively small, is usedwherethe associatedprocessor is being addressed specifically so that no further preliminary interchanges or processing is necessary. This section 52, along with a class selection section 53 and a hash selection ~0 section 54, are preset during an initiallzation phase for the overall system. Initialization is a major task inasmuch as it involves selecting generalized groupings of processors for handling anticipated transactions, which constitutes identification of logical process "classes". These classes ~5 are necessarily considerably larger than would be ideal for the completion of all subtasks in many differenttasks, because of the arbitrary nature and number of functions the system is called upon to perform. The hash selection section 54, also changeable only during initialization, is used in the data base system to enable local recognition, in accordance with a predetermined hashing algorithm, of responsibility for - specific parts of a widely distributed data base. The hash selection entries in the memory 22 are seldom changed, because . -'. .~' ~. .' : ' - .. - . .:

--1].--of the complexity of changing the data base distribution or the hashing algorithm.
In accordance with one aspect of the invention, however, a fourth section 56 of the selection map address locations 50 is addressed both locally and remotely for purposes of dynamic partitioning. This section 56 is referred to as the ~ynamic Group ~ddress (~G~) section, and comprises a substantial number (e.g. 103 to 104) of addresses for three bit status words. The separate bits have both individual and combinatorial meanings in relation to various functional relationships employed in dynamic partitioning.
substantially greaterorlessernumberof statuswordaddresses may be allocated to the ~G~ function, consistent with the desire that there be more than enough locations available for thenu~ber ofdynamic processorgroupslikelyto bein existence at any one time to avoid the need for substantial search time, but also that significant sectors of memory 22 space not be inactive.
Messages sent to the processors, both IFPs 12 and ~ ~MPs14, incorporate the ~G~ in the ~W portion of the message, as shown in Fig. 3. For further explanation of the message organi~ation, and the fact that a key field may also be used, see Figs. 3, 15 and 21~ of the Neches et al patents, together with the relevant portions of the specification. When the ~5 ~G~ is employed in the D~SW, the Map code and Map ~ddress ma~
or may not be used.
From what has been said thus far, i-t should be appreciated that the ~GA section 56 of each high speed Random ~ccess Memory 22 in a different IFP 12 or ~MP 14 contains, at any point in time, a distribution of status words at the different dynamic group addresses. There words, by their state, indicate whether the processor is or is not a member of a particular dynamic group at that instant and iE the dynamic group at that address has been assigned to an active .
-.
, ~ ~ : ' ..... . ` ' :
- , , :, . .. .
:- . : ' , . : .

~3 transaction. ~ctually, reEerring now to Fig. 4, the eight available states for each status word identify much more than three on-off conditions. ~ protocol exists as to the meaning of each state, beyond the si~nificance indicated in Fig. 4.
The "Valid," "Member" and "~emaphore" designations can have combinatorial as well as individual meanings.
If theallQOO'sconditionexistsineveryprocessor, then a group can be allocated at that ~G~.
In the next row, for the 001 status word, the value o~ l constitu~es a semaphore in the accepted sense Gf a signal condition which can be tested without ambigui-ty to indicate status. Without ambiguity means tha~ the testing does not involve a transitory or other change of state during which a conflicting command might alter the status. The semaphore l~ for the dynamic group, when set in some processor~ informs the system that no changes in group status are to be made by any other processor. ~he 001 combination is a preliminary state that enables tests to be made by the affected processor, for example, to determine if any conflict or abort condition ~0 exists. Thus this combination may be regarded also as a temporary indication that a dynamic group exists, or has been reserved. In this status, however, the processor will not receive either normal messages or abort messages to the group, because it is not yet a melnber.
~5 Thenext statusword,OlO, deno-testhatthe processor has become a member o~ a dynamic group. The processor will now receive both normal and abort messages to the group. This is the typical operating status word state for the ~rocessors which are members of the group. If the subtasks are completed in routine ~ashion the status words at all processors return to the 000 condition.
If, however, an abort condition arises at any processor in the dynamic group, then the 011 status word is locally set at the processor. This state precludes other -. .

~, ~ ' ' ` ', ' .

7~

processors which are not members o~ the group yet from joining the group. This state can be used by a processor which initiates an abort of a transaction to unambiguously cause all processors in the system to correctly accept messages relating to abort processing and to prevent processors from accepting new subtasks Eor the aborting transaction which may be in transit in the system.
The next Eour states in the tabulation of Fig. 4 correspond to those previously given, except that the "Valid"
bit is set to 1, representing the processor which reserved the dynamic group. Thus in 100 and 101 neither normal nor abort messages will be received, while in 110 both types of messages will be received. The 111 state will initiate the abort procedure and result in ultimate release of the group 1~ and reversion to the available (000) status word at all the processors. ~ote that it is not required that the processor which allocated the group be a member of the group: in fact, this is typical in the preEerred implementation.
Operation of the system of Figs. 1-4 may be better ~ understood by reference to the flow charts of Figs. 5 and 6.
In Fig. 5 the overall sequence involved in setting up a dynamic group and distributing subtasks from an IFP to two related ~MPs is set out, with status word changes indicated. The flow chart of Fig. 6 shows more specific steps undertaken at ~5 one of the AMPs in carrying out its subtasks and terminating its relationship.
The sequence of steps shown in Fig. 5 is directed to a relatively simple transaction~ of the type which was found to re~uire an excessive amount of overhead, particularly when the delineated process classes involved all or a substantial number of the access module processors. ~eEerring briefly to Fig. 1, the system makes use of the capability provided Eor network 10 access of the high speed random access memories 22 at each processor, together with the capability of the ` ', ~
. ' .

microprocessors 24 for locally updating the contents of the dynamic group addresses in the memory 22. The sequence depicted in Fig. 5 pertains to only one task out of many hundreds that may be carried out concurrently,with thevarious ~MPs 14 queuing input and output messages while also sending status queries and responses on the network 10.
Referring to Fig. 5, the sequence commences with the task being received by an IFP 12 from the mainErame computer 11, for which the IFP locates an available ~GA to reserve a dynamic group. ~his may require a small amount of searching, but in the present example 2500 dynamic group addresses are made available for concurrent processing, which pro~ides an adequate number to cover all expected concurrent tasksr without entailing the use of excessive memory. In reserving the dynamic group, the IFP locally changes the sta~us word at the selected address from 000 to 100, as indicated. In Fig. 5, the state of the ~G~ word is shown, ~or example, as "[IFP 000]" to indicate that the ~G~ word for the IFP has the Valid, Member, and Semaphore bits, ~0 respectively, all set to 0. While tasks are ordinarily allocated by the IFPs, this is not a necessar~ condition inasmuch as any oE the ~MPs can assume control of performance o~ a specific task. Recognizing the task tc be performed, the IFP parses the steps for ~Ps that will be determined to ~5 haveresponsibilityfor the data, such AMPs being then unknown.
In this step, and throughout a successful sequence, the IFP
remains in the 100 state.
Step 1 is then sent to a first ~P,,using the ~estination Selection Word to present the Map Code and the ~ap ~ddress as appropriate for hashed Mode Message addressing.
The first ~MP receives the message and recognizes its applicability to that proportion of the data base for which it is responsible. The data field of the message includes an indication that the ~MP should do Begin Transaction (BT) - . , -. ~ ............. .
, processing The message may (and typically does) indicate other processing that should be performed by the ~P after success~ully completing Begin Transaction processing. The first ~MP's ~T processing includes a test of the validity of the subtask it is to perform by quering the other processors in the dynamic group (there are none others at this particular point), while blocking off conflicting commands with the semaphore bit that indicated that the test for validity is in progress, using the 001 status word. The ~MP will find 1~ that the group is valid, because of the 100 status word in the IFP. If the AMP found no processor with a valid bit set, it would know that an abort was in process and would not join the group or ~urther process the step. The first AMR then joins the dynamic group, by locally upgrading the status word to 010, and commences processing the subtask~
Concurrently the IFP sends the second subtask to the second AMP, which undertakes the same validity testing, group joining and processing sequence before transmitting the responsemessagetotheIFP. ~t this point, the IFP coordinates ~0 or collates the results of the subtasks, verifying the suitability of a response in a relational data ~ase system, for example. The IFP then broadcasts a third step to both the first and second ~MPs in the dynamic group. In this example, the broadcasted step requests all ~MPS involved in ~5 the transaction to commit changes made to the data base. ~ach of the first and second ~MPs does commit processing, updating or revising the data base to a finalized form. If, on the other hand, some other aspect of thetransactionwas~incorrect, and either ~MP or the IFP transmitted an ~bort message, this message would also go to the members of the dynamic group, who would institute corrective procedures, with the task results being returned to the IFP. Under normal circumstances, as shown in Fig. 5, at the completion of commit processing, the ~MP tests for whether it is the last done, quering the - : ' . : ,. ....................................... .
', . ' .' ': ''' , : .

~7;2~

other members of the dynamic group. In this instance the Eirst ~MP is not the last done, so it locally updates the status word to 000, effectively leaving the dynamic group.
The second ~MP determines that it is the last of the group, which is communicates to the IFP as the second ~P reverts the 000 status word. The IFP in its own turn relinquishes the dynamic group, to be available for a subsequent task or transaction, as it directs its response to the mainErame computer.
la Fig. 6 demonstrates that, relative to a given processor, transactions require extensive signal interchanges in order to maintain the orderly and coordinated flow of data.
When a message containing a hashed address is sent, it is received and the ~nd Of Message and ~ock checks are made, an K response being sent in accordance with the e~ample of the prior patentsif thelockconditionexists. Thelocal processor then verifies from the M~P output that the message is intended for that specific processor. If it is not, then a N~P or MAK
response may be sent. If it is, then the local processor ~0 undertakes the group validity check, having set up the 001 status word, and sending an ~bort message if the validity check does not verify the validity of the group. If it does, then the subtask is accepted, the ~MP shifting to the 010 status word and sending an ~CK message. The subtask is
2~ processed, and the message is returned to the IFP. The ~MP
then waits until authorized by the IFP to undertake commit processing, following which it communicateswith othermembers of the dynamic group to ascertain if it is the last done, and if it is communicates that fact to the IFP or otherwise simply drops out of the group by locally updating the status word to 000.
Substantial advantages derive from thls system and method, in that a great many tasks can be carried out concurrently and asynchronously, with the multiple processors . ... . . . . . .

.; . . ,, , . , . . . ; :

.
. .

~7~

being dynamically partitioned into appropriate groups, with group addresses being allocated and subsequently de-allocated asthetasksarecompleted. Any of the processors can establish such a group, and there is no time limit on the maintenance of the group. Once the group is in existence, however, the need for prefatory and confirmatory status messages is greatly diminished,andtheamount of overhead time required of members o~ a process class that have no speciEic subtask to perform is greatly diminished.
l~ In contrast to the prior art, many partitions can be in efEect simultaneously, and an individual processor can participate in many partitions simultaneously. ~lso, in sharp contrast to the prior art, the protocols for establishing dynamic partitions and communicating with them do not require lS additional messageswhich consume network bandwidth. ~s shown by the examples, these communications "piggyback" on the message necessary to accomplish the ordinary work flow of the system. Further, there is essentially no overhead involved in sharing the network's use among the many simultaneously ~0 e~isting partitions.
While there have been described above and illustrated in the drawings various forms and modifications in accordance with the invention, it will be appreciated that the invention is not limited thereto but encompasses all ~S expedients and modifications in accordance with the appended claims.

.

.
, " .: ~ : ' ,`~ .

. . .

Claims (20)

WHAT IS CLAIMED IS:
1. A system for dynamically partitioning a number of parallel processors into different subcombinations for the performance of specific transactions involving limited and variable groupings of processors, comprising:
a plurality of processors, at least some of the processors including means for establishing a sequence of steps for a given transaction, each of the processors including network interface means having network accessible random access memory means having a plurality of dynamic grouping addresses for fixed length status words;
network means coupled to the processor means at the network interface means for providing messages from any processor concurrently to all processor network interface means, the messages including data for testing the status words at selected dynamic grouping addresses and for establishing membership of the processor in a selected dynamic grouping;
the processors including means for modifying the status words at selected dynamic grouping addresses in their memory means in accordance with the transaction step being performed thereat;
such that a transaction can be carried out at different selected processors using processing time only at those selected processors and isolating other processors from messages received from the network means by identification at the network interface means of whether or not the processor is a participant in a dynamic grouping, and its status relative to the transaction.
2. The system as set forth in claim 1 above, wherein the status words identify group availability and processor membership and include a semaphore for testing group status.
3. The invention as set forth in claim 2 above, wherein the system includes means at the network interface means for defining a plurality of process classes, preset over a substantial interval and addressable with destination selection words, within which classes the dynamic groupings are transitory subsets.
4. The invention as set forth in claim 3 above, wherein the status words include an abort combination such that the processors in the dynamic grouping may be advised of the invalidity of the transaction being undertaken.
5. The invention as set forth in claim 4 above, wherein the status words are three (3) bit codes and include a combination identifying a non-assigned condition.
6. The invention as set forth in claim 5 above, wherein the processor which establishes a step sequence for a given transaction provides a message including an indication to processors that are to be part of a dynamic grouping, and further includes means for testing the dynamic grouping addresses to determine those which are available for assignment, and wherein those processors which are not part of a dynamic grouping return not applicable responses to status queries pertaining to the dynamic grouping.
7. A system for dynamically partitioning tasks, and steps within tasks, among a plurality of processors which perform assignments asynchronously and communicate by sending competing messages concurrently to other processors via a network which sorts in accordance with data content, comprising:
network interface means individually associated with each different processor and including memory means for providing a plurality of network accessible dynamic group storage locations, each having a fixed number of binary digits;
the processors including means for identifying via the network those processors having responsibility for different parts of a task and concurrently entering fixed length status words in an available and common dynamic group storage location for each processor; and the processors including means cooperative with the network interface means for locally changing the status words in accordance with (1) the status of the task being undertaken at that processor and (2) while testing is being undertaken.
8. The invention as set forth in claim 7 above, wherein the processors include interface processor means for partitioning steps of a task to different ones of the processors, hash memory section in the memory means in each of the network interface means, and means for generating a destination selection word for addressing the hash memory section and the dynamic group storage location.
9. The invention as set forth in claim 8 above, wherein the interface processor means comprises means for providing a signal to indicate that a processor should join a dynamic group.
10. A system for dynamically partitioning tasks among a plurality of parallel processors interconnected by network means, comprising:
individual interface means intercoupling the different ones of the processors and the network means and including means for storing a plurality of network accessible dynamic group status words in specific locations; and the processors including means for partitioning a task to those other processors taking part in the task by controlling word patterns in a specific location in the interface means for those processors involved in the task;
the interface means including means for intercommunicating with other processors as to the task being performed by addressing the specific location; and the processors including means to locally update the status word in the specific location to reflect changes in the status of the step being performed thereat.
11. The system as set forth in claim 10 above, wherein the status word includes at least one digit constituting a semaphore, at least one digit representing whether the processor is a member of the dynamic group and at least one digit representing whether the group is reserved or not.
12. The method of carrying out transactions in a multiprocessor system in which processors are addressed concurrently via a network and identify locally whether a message is intended for them, and in which two or more processors are used in a transaction sequence involving multiple steps, comprising the method steps of:
denoting each processor involved in a transaction as a member of a dynamic group by a locally stored, network accessible status word while distributing steps to be performed to the processors;
locally maintaining an updated status word for each particular transaction in accordance with the step to be performed at each processor involved in the transaction; and relinquishing the status word from all affected processors when the transaction is complete.
13. The method as set forth in claim 12 above, wherein status word is stored in one of a plurality of network addressable locations and includes a semaphore bit that may be externally tested from the network.
14. The method as set forth in claim 13 above, including the further step of distributing steps to be performed within the transaction sequence by using the dynamic group identification, and monitoring the status of the transaction on a global basis by testing the semaphore bits at the processors involved.
15. The method as set forth in claim 14 above, wherein the status words are one of a fixed number of predetermined combinations denoting assignability to a group, validity of the group, membership in the group, relinquishment of membership in the group, abort conditions and completion of the assigned transaction step.
16. The method of partitioning related assignments among a number of processors which concurrently process different assignments in asynchronous fashion and which communicate on a data priority basis with other processors via a network, comprising the steps of:
sequencing, at an originating processor, a task to be performed;
establishing by the originating process an available common reference identity for all processors, the common identity being in the form of an externally accessible memory address;
transmitting an assignment to a first execution processor from the originating processor, the assignment including a designation of membership in a dynamic group for the memory address;
verifying at the first execution processor that the assignment is not in conflict with other assignments while concurrently locally entering a globally accessible semaphore at the memory address such that an indication is provided that verification is in process;
transmitting further, related, assignments to additional execution processors including a designation of membership in the dynamic group for the memory address;
performing the assignments at the execution processors in accordance with priorities and prior assignments;
returning the completed assignments from the execution processors to the originating processor by identifying the selected memory address at the originating processor;
locally changing, at the completion of return of each assignment, the contents of the selected memory address to reflect completion status of the member of the dynamic group;

checking at the completion of each assignment to determine if all assignments related to the dynamic group have been completed; and relinquishing the dynamic group and the selected memory address when the task involving the successive assignments has been completed.
17. The method as set forth in claim 16 above, including the steps of identifying an abort condition by changing the group status to invalid while retaining the semaphore, and locally restoring data at the execution processors to their preassignment states.
18. The method as set forth in claim 17 above, wherein any of the processors can be an originating processor and where any number of assignments can be parsed to different execution processors.
19. The method as set forth in claim 18 above, including the step of providing a plurality of memory addresses for use in identifying assignment, membership status and semaphore status as to different dynamic groups.
20. The method as set forth in claim 19 above, wherein the memory addresses have three binary digits each, the binary digits being individually related to group assignment, membership status and semaphore respectively, and wherein combinations of the binary digits represent different operating states as to the performance of an assignment.
CA000529317A 1986-02-10 1987-02-09 Dynamically partitionable parallel processors Expired - Lifetime CA1272809A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/828,440 US4925311A (en) 1986-02-10 1986-02-10 Dynamically partitionable parallel processors
US828,440 1986-02-10

Publications (1)

Publication Number Publication Date
CA1272809A true CA1272809A (en) 1990-08-14

Family

ID=25251811

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000529317A Expired - Lifetime CA1272809A (en) 1986-02-10 1987-02-09 Dynamically partitionable parallel processors

Country Status (6)

Country Link
US (1) US4925311A (en)
EP (1) EP0234803B1 (en)
JP (1) JP2750573B2 (en)
AU (1) AU592149B2 (en)
CA (1) CA1272809A (en)
DE (1) DE3789625T2 (en)

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093913A (en) * 1986-12-22 1992-03-03 At&T Laboratories Multiprocessor memory management system with the flexible features of a tightly-coupled system in a non-shared memory system
DE3889904T2 (en) * 1987-09-08 1995-01-12 Digital Equipment Corp NAME MANAGEMENT FOR A DIGITAL DATA PROCESSING SYSTEM NETWORK.
US5257374A (en) * 1987-11-18 1993-10-26 International Business Machines Corporation Bus flow control mechanism
GB2216306A (en) * 1988-02-29 1989-10-04 Ardent Computer Corp Load and synchronize computer architecture and process
JPH0291747A (en) * 1988-09-29 1990-03-30 Hitachi Ltd Information processor
US5155858A (en) * 1988-10-27 1992-10-13 At&T Bell Laboratories Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold
EP0374337B1 (en) * 1988-12-23 1995-03-15 International Business Machines Corporation Load balancing technique in shared memory with distributed structure
US5526487A (en) * 1989-02-09 1996-06-11 Cray Research, Inc. System for multiprocessor communication
JPH07104871B2 (en) * 1989-08-31 1995-11-13 三菱電機株式会社 Join processing method in relational database
JPH03122753A (en) * 1989-10-05 1991-05-24 Nec Corp Processor control system
US6212557B1 (en) 1990-01-29 2001-04-03 Compaq Computer Corporation Method and apparatus for synchronizing upgrades in distributed network data processing systems
JP3293839B2 (en) * 1990-05-16 2002-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer system that adjusts the commit scope to the unit of work
FR2662831B1 (en) * 1990-05-29 1992-08-07 Cit Alcatel METHOD FOR MANAGING A DATABASE NETWORK.
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
EP0475282B1 (en) * 1990-09-14 1998-12-16 Hitachi, Ltd. Synchronous method and apparatus for processors
JPH06500655A (en) * 1990-10-03 1994-01-20 スィンキング マシンズ コーポレーション parallel computer system
US5175432A (en) * 1990-10-31 1992-12-29 Gruman Aerospace Corporation Infrared detector module test system
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5713037A (en) * 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
ATE147568T1 (en) * 1991-02-01 1997-01-15 Siemens Ag METHOD FOR REBOOTING A MULTIPROCESSOR COMPUTER IN A TELECOMMUNICATION SYSTEM IN CAUSE OF ERROR
US5390302A (en) * 1991-02-21 1995-02-14 Digital Equipment Corporation Transaction control
US5471623A (en) * 1991-02-26 1995-11-28 Napolitano, Jr.; Leonard M. Lambda network having 2m-1 nodes in each of m stages with each node coupled to four other nodes for bidirectional routing of data packets between nodes
US5247664A (en) * 1991-03-28 1993-09-21 Amoco Corporation Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node
US5321813A (en) 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
US5561768A (en) * 1992-03-17 1996-10-01 Thinking Machines Corporation System and method for partitioning a massively parallel computer system
JP3375658B2 (en) * 1992-03-19 2003-02-10 株式会社日立製作所 Parallel computer and network for it
JP2642039B2 (en) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション Array processor
US5488694A (en) * 1992-08-28 1996-01-30 Maspar Computer Company Broadcasting headers to configure physical devices interfacing a data bus with a logical assignment and to effect block data transfers between the configured logical devices
US5701120A (en) * 1992-12-13 1997-12-23 Siemens Business Communication Systems, Inc. Partitioned point-to-point communications networks
JPH07225727A (en) * 1994-02-14 1995-08-22 Fujitsu Ltd Computer system
US5835755A (en) * 1994-04-04 1998-11-10 At&T Global Information Solutions Company Multi-processor computer system for operating parallel client/server database processes
US6330583B1 (en) * 1994-09-09 2001-12-11 Martin Reiffin Computer network of interactive multitasking computers for parallel processing of network subtasks concurrently with local tasks
US5625811A (en) * 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
US5758149A (en) * 1995-03-17 1998-05-26 Unisys Corporation System for optimally processing a transaction and a query to the same database concurrently
US5671405A (en) * 1995-07-19 1997-09-23 International Business Machines Corporation Apparatus and method for adaptive logical partitioning of workfile disks for multiple concurrent mergesorts
US6532487B1 (en) 1995-12-04 2003-03-11 International Business Machines Corporation Method and system for managing semaphores in an object-oriented multi-tasking computer system
US5907849A (en) * 1997-05-29 1999-05-25 International Business Machines Corporation Method and system for recovery in a partitioned shared nothing database system using virtual share disks
US6009264A (en) * 1997-08-28 1999-12-28 Ncr Corporation Node coordination using a channel object and point-to-point protocol
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6366913B1 (en) * 1998-10-21 2002-04-02 Netscape Communications Corporation Centralized directory services supporting dynamic group membership
US6473827B2 (en) 1998-12-22 2002-10-29 Ncr Corporation Distributed multi-fabric interconnect
US6421775B1 (en) * 1999-06-17 2002-07-16 International Business Machines Corporation Interconnected processing nodes configurable as at least one non-uniform memory access (NUMA) data processing system
JP4001698B2 (en) * 1999-10-14 2007-10-31 富士通株式会社 Load balancing system
US6412002B1 (en) 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US7065637B1 (en) * 2000-08-24 2006-06-20 Veritas Operating Corporating System for configuration of dynamic computing environments using a visual interface
US7082521B1 (en) * 2000-08-24 2006-07-25 Veritas Operating Corporation User interface for dynamic computing environment using allocateable resources
US7278142B2 (en) 2000-08-24 2007-10-02 Veritas Operating Corporation Dynamic computing environment using remotely allocable resources
US7043724B2 (en) 2000-09-14 2006-05-09 Veritas Operating Corporation System and services for handling computing environments as documents
US7822967B2 (en) 2000-09-27 2010-10-26 Huron Ip Llc Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices
US7058826B2 (en) 2000-09-27 2006-06-06 Amphus, Inc. System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network environment
US20070245165A1 (en) * 2000-09-27 2007-10-18 Amphus, Inc. System and method for activity or event based dynamic energy conserving server reconfiguration
USRE40866E1 (en) 2000-09-27 2009-08-04 Huron Ip Llc System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US7174359B1 (en) * 2000-11-09 2007-02-06 International Business Machines Corporation Apparatus and methods for sequentially scheduling a plurality of commands in a processing environment which executes commands concurrently
US8631103B1 (en) 2000-11-10 2014-01-14 Symantec Operating Corporation Web-based administration of remote computing environments via signals sent via the internet
US7027412B2 (en) * 2000-11-10 2006-04-11 Veritas Operating Corporation System for dynamic provisioning of secure, scalable, and extensible networked computer environments
US20020059377A1 (en) * 2000-11-14 2002-05-16 Jagadish Bandhole Collaborative computing systems using dynamic computing environments
US7028297B2 (en) * 2000-11-17 2006-04-11 Aristos Logic Corporation System and method of scalable transaction processing
US7124224B2 (en) * 2000-12-22 2006-10-17 Intel Corporation Method and apparatus for shared resource management in a multiprocessing system
US7093113B2 (en) * 2001-01-09 2006-08-15 Veritas Operating Corporation Application model for dynamic computing environments in software sales cycle
US7213231B1 (en) 2001-01-11 2007-05-01 Cisco Technology, Inc. Cross-spectrum application model for dynamic computing environments in software lifecycle
US7308500B1 (en) * 2001-03-16 2007-12-11 Symantec Operating Corporation Model for cost optimization and QoS tuning in hosted computing environments
US20030196126A1 (en) * 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
US7036006B2 (en) 2001-05-17 2006-04-25 Veritas Operating Corporation System to provide computing as a product using dynamic computing environments
US20060248360A1 (en) * 2001-05-18 2006-11-02 Fung Henry T Multi-server and multi-CPU power management system and method
US20030079151A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Energy-aware workload distribution
US6986033B2 (en) 2002-09-10 2006-01-10 Veritas Operating Corporation System for automated boot from disk image
US7069428B2 (en) * 2002-09-10 2006-06-27 Veritas Operating Corporation System for managing boot-up of target computers
US7945581B2 (en) * 2002-11-14 2011-05-17 Lexisnexis Risk Data Management, Inc. Global-results processing matrix for processing queries
US7293024B2 (en) * 2002-11-14 2007-11-06 Seisint, Inc. Method for sorting and distributing data among a plurality of nodes
US6968335B2 (en) 2002-11-14 2005-11-22 Sesint, Inc. Method and system for parallel processing of database queries
US7185003B2 (en) * 2002-11-14 2007-02-27 Seisint, Inc. Query scheduling in a parallel-processing database system
US7240059B2 (en) * 2002-11-14 2007-07-03 Seisint, Inc. System and method for configuring a parallel-processing database system
US8676843B2 (en) * 2002-11-14 2014-03-18 LexiNexis Risk Data Management Inc. Failure recovery in a parallel-processing database system
US7720846B1 (en) 2003-02-04 2010-05-18 Lexisnexis Risk Data Management, Inc. System and method of using ghost identifiers in a database
US7657540B1 (en) 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US7912842B1 (en) 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US7171568B2 (en) * 2003-06-13 2007-01-30 International Business Machines Corporation Remote power control in a multi-node, partitioned data processing system
US8260893B1 (en) 2004-07-06 2012-09-04 Symantec Operating Corporation Method and system for automated management of information technology
US7606995B2 (en) * 2004-07-23 2009-10-20 Hewlett-Packard Development Company, L.P. Allocating resources to partitions in a partitionable computer
US7388248B2 (en) * 2004-09-01 2008-06-17 Micron Technology, Inc. Dielectric relaxation memory
US7724753B2 (en) 2005-06-24 2010-05-25 Aylus Networks, Inc. Digital home networks having a control point located on a wide area network
US7864936B2 (en) 2005-06-24 2011-01-04 Aylus Networks, Inc. Method of avoiding or minimizing cost of stateful connections between application servers and S-CSCF nodes in an IMS network with multiple domains
US7797319B2 (en) * 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
US7720806B2 (en) * 2006-05-15 2010-05-18 Algebraix Data Corporation Systems and methods for data manipulation using multiple storage formats
US7865503B2 (en) * 2006-05-15 2011-01-04 Algebraix Data Corporation Systems and methods for data storage and retrieval using virtual data sets
US7613734B2 (en) * 2006-05-15 2009-11-03 Xsprada Corporation Systems and methods for providing data sets using a store of albegraic relations
US7769754B2 (en) * 2006-05-15 2010-08-03 Algebraix Data Corporation Systems and methods for data storage and retrieval using algebraic optimization
US7877370B2 (en) * 2006-05-15 2011-01-25 Algebraix Data Corporation Systems and methods for data storage and retrieval using algebraic relations composed from query language statements
US8611334B2 (en) * 2006-05-16 2013-12-17 Aylus Networks, Inc. Systems and methods for presenting multimedia objects in conjunction with voice calls from a circuit-switched network
US8432899B2 (en) * 2007-02-22 2013-04-30 Aylus Networks, Inc. Systems and methods for enabling IP signaling in wireless networks
US9026117B2 (en) * 2006-05-16 2015-05-05 Aylus Networks, Inc. Systems and methods for real-time cellular-to-internet video transfer
US7870395B2 (en) * 2006-10-20 2011-01-11 International Business Machines Corporation Load balancing for a system of cryptographic processors
US7890559B2 (en) * 2006-12-22 2011-02-15 International Business Machines Corporation Forward shifting of processor element processing for load balancing
US7856226B2 (en) 2007-04-17 2010-12-21 Aylus Networks, Inc. Systems and methods for IMS user sessions with dynamic service selection
US8706862B2 (en) * 2007-12-21 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus for performing non-intrusive data link layer performance measurement in communication networks
US8527663B2 (en) * 2007-12-21 2013-09-03 At&T Intellectual Property I, L.P. Methods and apparatus for performing non-intrusive network layer performance measurement in communication networks
US20090248631A1 (en) * 2008-03-31 2009-10-01 International Business Machines Corporation System and Method for Balancing Workload of a Database Based Application by Partitioning Database Queries
US8266168B2 (en) 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
US8190616B2 (en) 2008-07-02 2012-05-29 Lexisnexis Risk & Information Analytics Group Inc. Statistical measure and calibration of reflexive, symmetric and transitive fuzzy search criteria where one or both of the search criteria and database is incomplete
US9411859B2 (en) 2009-12-14 2016-08-09 Lexisnexis Risk Solutions Fl Inc External linking based on hierarchical level weightings
US9189505B2 (en) 2010-08-09 2015-11-17 Lexisnexis Risk Data Management, Inc. System of and method for entity representation splitting without the need for human interaction
US8583687B1 (en) 2012-05-15 2013-11-12 Algebraix Data Corporation Systems and methods for indirect algebraic partitioning
CN110036381A (en) * 2016-09-22 2019-07-19 维萨国际服务协会 In-memory data search technique

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3753234A (en) * 1972-02-25 1973-08-14 Reliance Electric Co Multicomputer system with simultaneous data interchange between computers
DE2546202A1 (en) * 1975-10-15 1977-04-28 Siemens Ag COMPUTER SYSTEM OF SEVERAL INTERCONNECTED AND INTERACTING INDIVIDUAL COMPUTERS AND PROCEDURES FOR OPERATING THE COMPUTER SYSTEM
IT1055645B (en) * 1975-10-24 1982-01-11 Elsag ASSOCIATIVE ELECTRONIC MULTI-PROCESSOR FOR MULTIPLE CONTEMPORARY REAL-TIME DATA PROCESSING
US4347498A (en) * 1979-11-21 1982-08-31 International Business Machines Corporation Method and means for demand accessing and broadcast transmission among ports in a distributed star network
GB2091919B (en) * 1980-03-21 1984-08-08 Concurrent Processing Systems Computer system and interface therefor
US4344134A (en) * 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
JPS583437A (en) * 1981-06-30 1983-01-10 Toshiba Corp Transmission system
JPS603777A (en) * 1983-06-21 1985-01-10 Omron Tateisi Electronics Co Divisional execution method of program
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system

Also Published As

Publication number Publication date
US4925311A (en) 1990-05-15
EP0234803A2 (en) 1987-09-02
EP0234803A3 (en) 1989-11-08
DE3789625T2 (en) 1994-12-01
JPS62197860A (en) 1987-09-01
DE3789625D1 (en) 1994-05-26
AU592149B2 (en) 1990-01-04
EP0234803B1 (en) 1994-04-20
AU6824987A (en) 1987-08-13
JP2750573B2 (en) 1998-05-13

Similar Documents

Publication Publication Date Title
CA1272809A (en) Dynamically partitionable parallel processors
EP0069438B1 (en) A multiprocessor system, a system and method for intercommunicating between processors, a system for effecting data transfer, a system for controlling routing of messages, and an arrangement for ascertaining a global state of readiness of a system
US4956772A (en) Methods of selecting simultaneously transmitted messages in a multiprocessor system
EP0070083B1 (en) Computing apparatus and method of processing message packets
US4989131A (en) Technique for parallel synchronization
US4945471A (en) Message transmission system for selectively transmitting one of two colliding messages based on contents thereof
US5442785A (en) Method and apparatus for passing messages between application programs on host processors coupled to a record lock processor
JPS6218949B2 (en)
US6351749B1 (en) Multi-threading, multi-tasking architecture for a relational database management system
KR19990043986A (en) Business take over system
JP3255759B2 (en) Multiprocessor system
JPH02118762A (en) Multi-processor system
Jensen A distributed function computer for real-time control
JPS61255461A (en) Multi cpu communicating device
KR950014163B1 (en) Apparatus and method for implementing a distributed program stack
CA1198523A (en) Multi-processor intercommunication system and method
US7515553B2 (en) Group synchronization by subgroups
JPH02245864A (en) Multiprocessor system
JPH06295289A (en) Booting method for plural computers
Papachristidis Dynamically Partitionable Parallel Processors: The Key for Cost-Efficient High Transaction Throughput
BEST et al. A fault tolerant avionics multiprocessing system architecture supporting concurrent execution of Ada tasks
CN111837104A (en) Method and device for scheduling software tasks among multiple processors
JPS58221442A (en) Processing method of data
Whitby-Strevens Software For Distributed Microcomputer Systems
JPH03242733A (en) Variable transaction management system

Legal Events

Date Code Title Description
MKEX Expiry