US5349664A - Initial program load control system in a multiprocessor system - Google Patents

Initial program load control system in a multiprocessor system Download PDF

Info

Publication number
US5349664A
US5349664A US07921994 US92199492A US5349664A US 5349664 A US5349664 A US 5349664A US 07921994 US07921994 US 07921994 US 92199492 A US92199492 A US 92199492A US 5349664 A US5349664 A US 5349664A
Authority
US
Grant status
Grant
Patent type
Prior art keywords
cluster
clusters
initial program
global
storage unit
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 - Fee Related
Application number
US07921994
Inventor
Masayuki Ikeda
Koichi Ueda
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems

Abstract

A method and apparatus for executing an initial program load (IPL) control in a multiprocessor system. The multiprocessor system including a global storage unit and a plurality of clusters, each of the clusters having at least one or more processors and a local storage unit, and one of the clusters having a direct access storage device. The method comprising the steps of executing the IPL from the processor belonging to the cluster having the direct access storage device to the local storage unit belonging to that cluster; transferring the IPL information from the local storage unit executing the IPL to the global storage unit; and transferring the IPL information from the global storage unit to the local storage unit in another cluster not having the direct access storage device.

Description

This application is a continuation of application Ser. No. 07/280,822, filed Dec. 7, 1988, now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an initial program load (IPL) control system in a multiprocessor system, more particularly, it relates to a method and apparatus for executing the IPL in a multiprocessor system divided into a plurality of clusters.

The present invention is advantageous for a large scale numerical simulation in scientific and technical fields in which high speed calculations are a necessity.

2. Description of the Related Art

A multiprocessor system is constituted by a plurality of processors, and for cluster control, the plurality of processors are divided into a plurality of groups, each of which is called a "cluster", and then control of an access between processors is performed through each cluster. Namely, each cluster is an element in processing the access control of the processors.

The IPL is an initial setting procedure for loading a program, to start the operation of an operating system (OS) from an auxiliary storage device (for example, a direct access storage device (DASD)) to a main memory or a local storage unit.

SUMMARY OF THE INVENTION

The object of the present invention is to provide an initial program load control system in a multiprocessor system enabling a reduction in the time required to transfer the initial program to a local storage unit included in each of the clusters.

In accordance with the present invention, there is provided an apparatus for executing an initial program load (IPL) between processors constituting a multiprocessor system, the processors being divided into a plurality of clusters, the apparatus comprising: a global storage unit, a global control unit, connected to each of the clusters and the global storage unit through a corresponding bus line, for processing an order between the clusters; a memory control unit, provided in each cluster and connected between the global control unit and each of the processors belonging to the cluster, for controlling a transmission and reception of the order between the global control unit and the processor; a local storage unit, provided in each of the clusters and connected to the memory control unit, for storing data; and a service processor, provided in each of the clusters and connected to the memory control unit, for processing the reset operation and an IPL operation; wherein one of the clusters further comprises a direct access storage device connected to the memory control unit, for storing the IPL information.

Further, in accordance with the present invention, there is provided a method for executing an initial program load (IPL) control in a multiprocessor system, the multiprocessor system having a global storage unit, a global control unit and a plurality of clusters, each of the clusters having at least one or more processors and a local storage unit, and one of the clusters having a direct access storage device, the method comprising: executing the IPL from the processor belonging to the cluster having the direct access storage device to the local storage unit belonging to that cluster; transferring the IPL information from the local storage unit executing the IPL to the global storage unit; and transferring the IPL information from the global storage unit to the other local storage units in clusters not having the direct access storage device.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 is a schematic block diagram of a conventional multiprocessor system;

FIG. 2 is a basic block diagram of an apparatus for a cluster control in the multiprocessor system;

FIG. 3 is a schematic block diagram of each cluster according to an embodiment of the present invention;

FIG. 4 is one example of a format of an order;

FIG. 5A and 5B are flowcharts for explaining a CLUSTER-SENSE order;

FIG. 6 is a flowchart for explaining a CLUSTER-SYNCHRONOUS-CALL order;

FIG. 7 is a flowchart for explaining an IPL control according to the present invention;

FIG. 8 is a flowchart for explaining a basic IPL control according to the present invention;

FIGS. 9A and 9B are schematic block diagrams of a global control unit according to the present invention; and

FIG. 10 is a schematic block diagram of a memory control unit according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Before describing the preferred embodiments, an explanation will be given of a conventional multiprocessor system.

FIG. 1 is a schematic block diagram of a conventional multiprocessor system. In FIG. 1, the multiprocessor system is constituted by, for example, processors CPU0 to CPU5. Each processor is connected in parallel to another processor through a bus line BUS and mutual control is carried out between one processor and the other.

In this multiprocessor system, each processor is set to one of four states having an exclusive relationship therebetween; i.e., any one of four states ("STOP", "OPERATION", "LOAD" and "CHECK-STOP") is set in each processor. When carrying out an access, one processor outputs a sense signal to the other processor, to recognize the state of the other processor, receives a response from the other processor involving one of the above four states, and carries out mutual control in accordance with the above four states.

In this system, however, much time is necessary for the management of access steps between the processors, and thus it is difficult to achieve high speed processing in the multiprocessor system. Further, the control program is complicated due to the large number of access steps.

FIG. 2 is a basic block diagram of an apparatus for the cluster control in the multiprocessor system. In FIG. 2, a plurality of processors CPU1 to CPUn are divided into "m" groups (1 to m) each having three processors, each group is called a "cluster". MCU1 to MCUm are memory control unit. A memory control unit is provided in each cluster and connected between the processors and a global control unit GCU. The global control unit GCU controls the access between clusters, as explained in detail hereinafter, and is contained in a global storage unit GSU. The state of each cluster is defined by the memory control unit MCU based on the state of the processors belonging to that cluster. Further, the global control unit GCU sets up an order for each cluster. The memory control unit MCU controls the processors based on the order for each cluster.

In the above structure, since the access between processors is controlled through the cluster, it is possible to reduce the control time between processors. Further, it is possible to simplify the control program since the access is performed between clusters.

FIG. 3 is a schematic block diagram of each cluster according to an embodiment of the present invention. In FIG. 3, the multiprocessor system is constituted by sixty four processors, which are divided into sixteen clusters (CLUSTER1 to CLUSTER16) each having four processors CPU0 to CPU3. Therefore, the global control unit GCU controls only sixteen clusters 1 to 16 through the bus line BUS. In this case, clusters 2 to 16 have the same structure and cluster 1 has a structure different from that of the other clusters 2 to 16.

As shown in the drawing, cluster 1 comprises a memory control unit MCU1, four processors CPU0 to CPU3, a local storage unit LSU1, a direct access storage device DASD, a service processor SVP1, an input/output processor IOP, and a channel element CHE connected between the IOP and the DASD. And each of the clusters 2 to 16 comprises a memory control unit MCU, four processors CPU0 to CPU3, a local storage unit LSU, and a service processor SVP. The global control unit GCU is used in common for all clusters 1 to 16, and connected to each cluster through the bus line BUS.

The processors belonging to each cluster are individually defined by the four states "STOP", "OPERATION", "LOAD" and "CHECK-STOP", and these four states are exclusive therebetween and change under the following conditions:

(1) When an operator uses an operating facility.

(2) When the processor receives a specified "SIGNAL-PROCESSOR (SIGP)" order for that processor.

(3) When the cluster having that processor receives a specified "GLOBAL SIGNAL PROCESSOR (GSIGP)" order for that cluster.

Further, the state of the cluster is based on the state of the processors belonging to that cluster, as follows.

CLUSTER-STOP

None of the processors in the cluster are in the OPERATION or LOAD state and at least one processor in the cluster is in the STOP state.

CLUSTER-CHECK-STOP

None of the processors are in the STOP, OPERATION or LOAD states. These states further include the states wherein the processor is not connected to each other or none of the processors are supplied with power.

SUBSYSTEM-DAMAGE

When channel subsystem damage is found in the cluster, the cluster is placed in the SUBSYSTEM-DAMAGE state. When the SUBSYSTEM-DAMAGE state is set, the CLUSTER-STOP and CLUSTER-CHECK-STOP states are simultaneously set in the cluster.

In this embodiment, when one processor commands another processor to process an order, the command is sent to the cluster to which the other processor belongs, that is the command is not directly to the other processor.

The three main orders which are sent to each cluster are defined as follows. Namely, the CLUSTER-SENSE order, the CLUSTER-SYNCHRONOUS-CALL order (floating interruption order), and the CLUSTER-RESET and LOAD order (RESET and IPL order). Further, for example, the CLUSTER-BROADCAST-INTERRUPTION order for accessing the same order to all clusters and the CLUSTER-ASYNCHRONOUS-INTERRUPTION order are used, and these orders are called as a whole a GSIGP order. The GSIGP order is mainly used for a floating interruption between the processors, as explained hereinafter.

The operation of these orders is explained in detail hereinafter.

CLUSTER-SENSE order

The flowchart of the following steps is shown in FIGS. 5A and 5B.

(1) The processor 1 (CPU1) in cluster 1 decodes and recognizes the GSIGP order.

(2) The processor 1 sends the GSIGP order to the memory control unit MCU. The GSIGP order includes a CLUSTER-ID portion and an ORDER portion.

(3) The memory control unit MCU sends the GSIGP order to the global control unit GCU. The GSIGP order includes a SENSE command, a CLUSTER-ID, and a parameter, as shown in FIG. 4.

(4) The global control unit GCU interprets the CLUSTER-ID. When the correct cluster (connected to the GCU) is designated, the flow proceeds to the next step. When the designated cluster is incorrect, the GSIGP order is returned to the cluster at the transmission side with the information "incorrect destination".

(5) The global control unit GCU sends the GSIGP order to the memory control unit MCU of the target cluster.

(6) When the memory control unit MCU at the reception side interprets the SENSE order, it generates the state of that cluster as the status information based on the states of the processors, the information from the input/output processor IOP, and the states of the synchronous call (floating interruption order)in the MCU.

(7) The memory control unit MCU in the cluster at the reception side sends the status information of that cluster to the global control unit GCU.

(8) The global control unit GCU sends the received status information to the memory control unit MCU in the cluster at the transmission side.

(9) The memory control unit MCU sends the received status information and a condition code (CC) to the processor CPU1 which generated the GSIGP order.

(10) When the processor CPU1 receives the status information and the condition code CC, it interprets this as a termination of the GSIGP order, and proceeds to the next order.

In the case of an "incorrect destination" mentioned in step (4), as shown in steps (4)-1, (4)-2 and (4)-3, the global control unit GCU returns the GSIGP order including the incorrect destination to the memory control unit MCU at the transmission side in the same order as the GSIGP order was sent from the cluster. In this case, a flag bit indicating the incorrect destination is added to the order. When the memory control unit MCU at the transmission side recognizes the flag bit in the GSIGP order received, the MCU returns the same GSIGP order as above to the global control unit GCU as the status information. At that time, the content of the GSIGP order is ignored. The global control unit GCU sends the returned status information to the memory control unit MCU at the transmission side as the status information, and the status information received from the destination side in the case of a normal GSIGP order. The interface lines between the MCU and the GCU include a signal line for discriminating either the status information or the order from the transferred information. As explained above, in the case of an incorrect destination, the GSIGP order is sent to the memory control unit MCU as the order and that order is returned to the global control unit GCU, and then that order is again returned to the memory control unit MCU as the status information. This is because these procedures make the operation procedures at the GCU and the MCU almost identical regardless of the correctness of the cluster ID.

CLUSTER-SYNCHRONOUS-CALL order

The flowchart of this step is shown in FIG. 6.

Since the procedures from step (1) to step (5) are the same as for the steps shown in FIG. 5, an explanation thereof is omitted. The following step follows step (5).

When the memory control unit MCU of the reception side interprets the CLUSTER-SYNCHRONOUS-CALL order, it determines whether or not an interruption pending latch of that memory control unit MCU is turned ON as shown by step (6). When the latch is turned ON, the memory control unit MCU writes the "turned ON state" to the status information as shown by step (6)'-1. When the latch is turned OFF, the memory control unit MCU writes the "turned OFF state" to the status information, and then the interruption pending latch of the memory control unit MCU is turned ON as shown by steps (6)'-2 and (6)'-3.

The same procedures as for step (7) to step (10) are then carried out as discussed above with reference to FIG. 5B. Further, when the interruption enabled processor exists in the cluster at the reception side, the interruption is made to that processor.

The procedures of the IPL control according to the present invention are expressed as follows.

The flowchart of this step is shown in FIG. 7. The encircled numbers in FIG. 3 correspond also to the following steps:

1 In cluster 1 having the direct access storage device DASD, the processor CPU0, for example, commands that IPL information be sent from the DASD to the local storage unit LSU1 through the channel element CHE, the input/output processor IOP and the memory control unit MCU1, and stores it in the LSU1.

2 The processor CPU0 transfers the IPL information from the LSU1 to the global storage unit GSU through the global control unit GCU.

3 The processor CPU0 generates a reset and IPL order to cluster 2.

4 The service processor SVP2 belonging to the cluster 2 resets all devices in cluster 2 and transfers the IPL information from a predetermined area in the GSU to the LSU 2 in cluster 2.

5 The processor CPU0 belonging to cluster 1 generates the IPL order to the other clusters 3 to 16, in succession.

6 When each cluster receives the IPL order, the service processor SVP belonging to each cluster executes the same IPL operation as in step 4. In this case, the IPL order is independently generated in succession from the cluster 1, regardless of the IPL operation at the other clusters, and the IPL operation in each cluster is independently executed in parallel in each cluster.

In accordance with the present invention, since it is not necessary to provide the direct access storage device DASD storing the IPL information, at every cluster, it is possible to reduce the number of DASD. Further, it is possible to reduce a transfer time for the IPL order since the IPL operation at each cluster is independently executed in every cluster. Still further, a cluster can be directly re-IPL operated from the global storage unit GSU after an occurrence of errors or an activity of maintenance.

FIG. 8 is a basic flowchart of the present invention. In this flowchart, the IPL operation is executed from the DASD to the LSU in one cluster (step A), the IPL information is transferred from the LSU to the GSU (step B) and the IPL information is transferred from the GSU by the GCU to the LSU's in the other clusters not having the DASD (step C).

FIG. 9A is a schematic block diagram of a global control unit GCU according to an embodiment of the present invention. The global control unit GCU includes a unit for transferring the GSIGP orders and a unit for controlling the access to the global storage unit GSU. In FIG. 9A, RCV represents a receiver, PRT a priority circuit, LRCL a logical-to-real cluster translation logic circuit, LRCT a logical-to-real cluster translation table, CCNT a cluster connecting table, CPON a cluster power-ON table, MPX a multiplexer, ECD an encoder, OR an OR circuit and DRV a driver.

The order OR1 comprises a CLUSTER-INVALID (IV), a LOGICAL-CLUSTER-ID (LCI), a command (COM), and a parameter (PRM). Further, the order OR2 is similar except that it comprises a LOGICAL-DRIVE-CLUSTER-ID (LDCI) instead of the LOGICAL-CLUSTER-ID (LCI). RDCI is a REAL-DRIVE-CLUSTER-ID and RRCI is a REAL-RECEIVE-CLUSTER-ID.

The cluster connecting table CCNT indicates the state of connection of the clusters; the command COM designates the order of the GSIGP; the cluster power-0N table CPON indicates a power-ON/OFF state of the clusters; the driver DRV transfers the order to the cluster; and the encoder ECD encodes the IV bit and the RRCI bit and determines the destination of the processor transferring the order. The bit IV indicates the invalidity of the cluster, and is normally "0" when generating the command request and turned ON when the designated cluster does not exist or the power is not turned ON; the bit LCI is a logical identifier and the target of the request is designated by the logical cluster number; and the bit LDCI is a logical processor number of the processor generating the request and sets the output of the circuit LRCL.

The circuit LRCL is a logical block converting a logical cluster number to a physical cluster number. The circuit LRCL inputs the bit LCI and outputs the bit RRCI by referring to the table LRCT. In the conversion, the circuit LRCL checks whether or not the designated real cluster is connected and the power of the designated real cluster is turned ON. If the designated cluster is incorrect, the bit IV is turned ON. Further, the circuit LRCL converts the bit RDCI to the bit LDCI.

The table LRCT refers to the relationship between the logical cluster number and the physical cluster number. The multiplexer MPX selects the target cluster. The parameter PRM is an additional information to the command COM. The priority circuit PRT determines the cluster competition state and gives the priority right to the request. The receiver RCV receives the request from the cluster CLU0 to CLU3. The bit RDCI is a real cluster number which generated the request and is set by the output of the priority circuit PRT. The bit RRCI is a real cluster number indicating the destination of the transferred order and is set by the output of the circuit LRCL.

FIG. 9B shows a unit for controlling the access to the GSU and having receivers RCV, a priority circuit PRT, a data access control circuit DACC, a multiplexer MPX, and drivers DRV. The detailed structure and the operation will be readily understood by ordinary skilled persons, and therefore, the explanation is omitted.

FIG. 10 is a schematic block diagram of the memory control unit MCU according to an embodiment of the present invention. The MCU also includes a unit for transferring the GSIGP orders and a unit for controlling the storage access. In FIG. 10, GORV represents a GSIGP order receiver, SCGE a status and condition code generator, GARV a GSIGP acknowledge receiver, GRDV a GSIGP request driver, GRRV a GSIGP request receiver, COEX a command executer, ITPL a interruption pending latch, IOP a I/O processor, SGE a status generator, and GADV a GSIGP acknowledge driver.

The GSIGP acknowledge receiver GARV is a circuit receiving the acknowledge ACK from the global control unit GCU; the status and condition code generator SCGE is a circuit generating the STATUS and CC based on the acknowledge ACK; the GSIGP request driver GRDV is a circuit generating the request of the GSIGP to the GCU; the priority circuit PRT is a circuit determining the priority of the request when sent from the processor CPU; the GSIGP order receiver GORV is a circuit receiving the GSIGP request from the processor CPU and generating the request to the global control unit GCU; and the command executer COEX executes the request sent from the GCU through the GSIGP request receiver GRRV. In the SENSE order, the command executer COEX requests the status generator SGE to generate the status information, and in the reset and IPL order, the command executer COEX requests the service processor SVP to generate the status information and to execute the IPL operation, and requests the status generator SGE to also generate the status information. In the case of an interruption, the command executer COEX checks the state of the interruption pending latch ITPL. If the interruption pending latch ITPL is turned OFF, the command executer COEX turns ON the interruption pending latch ITPL and informs the status generator SGE that the ITPL is turned OFF. If the interruption pending latch ITPL is turned ON, the command executer COEX informs the status generator SGE that the ITPL is turned ON.

The interruption pending latch ITPL is turned ON by a request from the command executer COEX. Further, the interruption pending latch ITPL supervises the interruption mask to enable the interruption from the processor CPU, detects the processor CPU for which the interrupt mask is turned ON, and interrupts that processor. The I/O processor IOP carries out the input/output processing. When a fault occurs at the I/O processor IOP, a SUBSYSTEM-DAMAGE signal is sent to the status generator SGE. The service processor SVP carries out a reset of the cluster and the IPL processing, and further, the service processor SVP processes the operator function. The status generator SGE generates the status information in accordance with the request from the command executer COEX, and further, takes in the information sent from the service processor SVP and the I/O processor IOP. The GSIGP request receiver GRRV receives the GSIGP request from the global control unit GCU, and the GSIGP acknowledge driver GADV returns the generated status information to the cluster which generated the order.

The lower part of FIG. 10 shows the unit for transferring the GSIGP orders and the unit for controlling the storage access as having drivers DRV, receivers RCV, a multiplexer MPX, a priority circuit PRT and a data access control circuit DACC. In case of an access request from the CPU to the GSU, the request is transferred to the GCU through the DACC in the MCU. The transfer of the IPL information between the LSU and the GSU is carried out by using the above-mentioned data access control circuits which are similar to those of conventional data processing system.

The many features and advantages of the invention are apparent from the detailed specification and thus it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope thereof. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.

Claims (4)

What is claimed is:
1. An apparatus for executing an initial program load between processors constituting a multiprocessor system, the processors being divided into a plurality of clusters, said apparatus comprising:
global storage means for storing all initial program load information;
a bus line, operatively connected to said global storage means;
global control means, operatively connected to each of the clusters and said global storage means via said bus line, for processing orders transmitted between the clusters to cause a reset operation and an initial program load operation in the clusters and for accessing said global storage means, said control means including;
priority means for determining a priority of each of the orders sent from each of the clusters for selective processing of the orders in dependence upon priorities thereof and for providing a logical cluster number for each of the clusters;
logical-to-real cluster translation logic means for converting the logical cluster number of a specified cluster indicated in the order into a physical cluster number based on a connection state of the specified cluster and a power ON/OFF state of the specified cluster;
logical-to-real cluster translation table means for storing the relationship between the logical cluster number and the physical cluster number;
cluster connection table means for indicating the connection state of the specified cluster; and
cluster power-on table means for indicating the power ON/OFF state of the specified cluster;
memory control means, one provided in each of the clusters and operatively connected between said global control means and each of the processors in a corresponding cluster, for controlling transmission and reception of the orders between said global control means and the clusters, said memory control means including;
priority means for determining a priority of the orders sent from any of the processors in the corresponding cluster and for providing the priority and the orders to said global control means;
command execution means for executing the orders received from said global control means and for generating an interrupt request signal;
status generataion means for generating status information in accordance with the orders received from said command execution means; and
interruption pending latch control means for turning ON an interruption pending latch in the one of the clusters in dependence upon the interrupt request signal;
local storage means, one provided in each of the clusters and operatively connected to said memory control means, for storing the initial program load information and transferring the initial program load information to said global storage means;
service processors, one provided in each of the clusters and operatively connected to said memory control means, for processing the reset operation and the initial program load operation in response to the orders; and
direct access storage means, provided in a direct access storage group of the clusters including at least one but not all of the clusters and operatively connected to said memory control means, for storing the initial program load information, the service processors of the direct access storage group of the clusters executing the initial program load operation to the local storage means of the direct access storage group of the clusters, the local storage means of the direct access storage group of the clusters transferring the initial program load information to said global storage means, said global storage means transferring the initial program load information to the local storage means of any of the clusters not in the direct access storage group of the clusters.
2. A method for controlling an initial program load operation in a multiprocessor system, the multiprocessor system having a global storage unit, a global control unit and a plurality of clusters, each of the clusters having at least one processor including a service processor and a local storage unit, and a reset cluster included in the clusters, having a direct access storage device, the method comprising the steps of:
(a) executing an initial program load from the service processor in the reset cluster to the local storage unit in the reset cluster;
(b) transferring initial program information from the local storage unit in the reset cluster to the global storage unit;
(c) transferring the initial program information from the global storage unit to the local storage unit in any of the clusters other than the reset cluster;
(d) storing the initial program information from the direct access storage device to the local storage unit in the reset cluster by a first command from the service processor in the reset cluster;
(e) transferring the initial program information from the local storage unit in the reset cluster to a predetermined global storage unit;
(f) generating an initial program load order from the service processor in the reset cluster and supplying the initial program load order to another cluster;
(g) resetting all devices in the other cluster by a second command from the service processor in the other cluster predetermined area in the global storage unit to the local storage unit in the other cluster;
(h) supplying in succession the initial program load order from the service processor in the reset cluster to each of the clusters other than the reset cluster and the other cluster; and
(i) executing the initial program load operation in each cluster when the service processor in each cluster receives the initial program load order.
3. A method for controlling an initial program load operation in a multiprocessor system, the multiprocessor system having a global storage unit, a global control unit operatively connected to the global storage unit, and a plurality of clusters operatively connected to the global control unit, each of the clusters having at least one processor and a local storage unit, and a first cluster of the clusters having a direct access storage device, the method comprising the steps of:
(a) loading an initial program from the direct access storage device to the local storage unit of the first cluster;
(b) transferring the initial program from the local storage unit of the first cluster to the global storage unit;
(c) generating a reset order for a second cluster using a processor of the first cluster; and
(d) resetting the second cluster by transferring the initial program from the global storage unit to the local storage unit of the second cluster and processing the reset order generated in step (c) in a processor of the second cluster.
4. A method for controlling an initial program load operation as claimed in claim 3, further comprising the step of:
(e) resetting each of the clusters other than the first and second clusters by repeating steps (c) and (d) in succession for each of the clusters other than the first and second clusters.
US07921994 1987-12-09 1992-08-03 Initial program load control system in a multiprocessor system Expired - Fee Related US5349664A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP62-309455 1987-12-09
JP30945587A JP2753706B2 (en) 1987-12-09 1987-12-09 ipl method in a computer
US28082288 true 1988-12-07 1988-12-07
US07921994 US5349664A (en) 1987-12-09 1992-08-03 Initial program load control system in a multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07921994 US5349664A (en) 1987-12-09 1992-08-03 Initial program load control system in a multiprocessor system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US28082288 Continuation 1988-12-07 1988-12-07

Publications (1)

Publication Number Publication Date
US5349664A true US5349664A (en) 1994-09-20

Family

ID=17993197

Family Applications (1)

Application Number Title Priority Date Filing Date
US07921994 Expired - Fee Related US5349664A (en) 1987-12-09 1992-08-03 Initial program load control system in a multiprocessor system

Country Status (5)

Country Link
US (1) US5349664A (en)
EP (1) EP0320274B1 (en)
JP (1) JP2753706B2 (en)
CA (1) CA1319438C (en)
DE (2) DE3884579T2 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600823A (en) * 1990-06-04 1997-02-04 3Com Corporation Method for optimizing software for any one of a plurality of variant architectures
US5642506A (en) * 1994-12-14 1997-06-24 International Business Machines Corporation Method and apparatus for initializing a multiprocessor system
US5671356A (en) * 1994-05-11 1997-09-23 International Business Machines Corporation Method and apparatus for microcode loading in a multi-nodal network exhibiting distributed control
US5687073A (en) * 1994-03-16 1997-11-11 Fujitsu Limited Initial program loading system for multiprocessor system
US5784697A (en) * 1996-03-27 1998-07-21 International Business Machines Corporation Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture
US5878205A (en) * 1992-12-31 1999-03-02 International Business Machines Corporation Method and system for processing complex recovery using polling signals in a shared medium
US6112302A (en) * 1997-07-17 2000-08-29 Funai Electric Co., Ltd. Device for setting initializing data for every destination in electronic device
US6167437A (en) * 1997-09-02 2000-12-26 Silicon Graphics, Inc. Method, system, and computer program product for page replication in a non-uniform memory access system
US6249802B1 (en) 1997-09-19 2001-06-19 Silicon Graphics, Inc. Method, system, and computer program product for allocating physical memory in a distributed shared memory network
US6289424B1 (en) * 1997-09-19 2001-09-11 Silicon Graphics, Inc. Method, system and computer program product for managing memory in a non-uniform memory access system
US6378027B1 (en) * 1999-03-30 2002-04-23 International Business Machines Corporation System upgrade and processor service
US6535976B1 (en) * 1997-03-27 2003-03-18 International Business Machines Corporation Initial program load in data processing network
US6550019B1 (en) * 1999-11-04 2003-04-15 International Business Machines Corporation Method and apparatus for problem identification during initial program load in a multiprocessor system
US20050033952A1 (en) * 2003-08-07 2005-02-10 International Business Machines Corporation Dynamic scheduling of diagnostic tests to be performed during a system boot process
US6973473B1 (en) 2000-05-31 2005-12-06 International Business Machines Corporation Method, system and program products for managing identifiers of components of a clustered environment
US20070265821A1 (en) * 2006-05-12 2007-11-15 Ryo Yokoyama Simulation apparatus, simulation method, and computer-readable recording medium storing simulation program
US20080052504A1 (en) * 2006-08-24 2008-02-28 Sony Computer Entertainment Inc. Method and system for rebooting a processor in a multi-processor system
US20080215859A1 (en) * 2000-02-29 2008-09-04 Fujitsu Limited Computer with high-speed context switching
US20090327676A1 (en) * 2006-07-21 2009-12-31 Sony Service Centre (Europe) N.V. Demodulator device and method of operating the same
US8954721B2 (en) 2011-12-08 2015-02-10 International Business Machines Corporation Multi-chip initialization using a parallel firmware boot process

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0419920B1 (en) * 1989-09-26 1996-04-10 Siemens Aktiengesellschaft Circuit arrangement for a central controlled telecommunication exchange, especially a PCM telephone exchange, with a central coordination processor and decentralized terminal groups with group processors
JP2785998B2 (en) * 1990-05-18 1998-08-13 富士通株式会社 Computer system
JP2710195B2 (en) * 1992-12-15 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション Storage device controller
JP3160149B2 (en) * 1994-05-13 2001-04-23 株式会社日立製作所 Nonstop program modification method and a disk control unit of the disk controller
CN1093955C (en) * 1995-07-21 2002-11-06 西门子公司 computer system
JP2830857B2 (en) * 1996-09-09 1998-12-02 三菱電機株式会社 Data storage systems and data storage management method
FR2807533B1 (en) * 2000-04-05 2002-07-12 Inup Computer farm with file transfer system between processor boards
JP6089349B2 (en) * 2013-05-28 2017-03-08 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. Method and system for supporting resource separation in a multi-core architecture

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3934232A (en) * 1974-04-25 1976-01-20 Honeywell Information Systems, Inc. Interprocessor communication apparatus for a data processing system
EP0036172A1 (en) * 1980-03-10 1981-09-23 International Business Machines Corporation Multi-station processor intercommunication system comprising means for remote processor initialization
EP0106213A1 (en) * 1982-09-29 1984-04-25 Kabushiki Kaisha Toshiba Decentralized information processing system and initial program loading method therefor
US4466063A (en) * 1979-11-07 1984-08-14 U.S. Philips Corporation System intercommunication processor used in distributed data processing system
US4590555A (en) * 1979-12-11 1986-05-20 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull (Societe Anonyme) Apparatus for synchronizing and allocating processes among several processors of a data processing system
EP0222370A2 (en) * 1985-11-15 1987-05-20 Hitachi, Ltd. Method for program loading
EP0270680A1 (en) * 1986-05-21 1988-06-15 Fanuc Ltd. Boot loading system in a multi-processor system
US4779189A (en) * 1985-06-28 1988-10-18 International Business Machines Corporation Peripheral subsystem initialization method and apparatus
US4803623A (en) * 1986-10-31 1989-02-07 Honeywell Bull Inc. Universal peripheral controller self-configuring bootloadable ramware
US4811284A (en) * 1984-03-08 1989-03-07 International Business Machines Corporation Computer terminal system with memory shared between remote devices
US4833599A (en) * 1987-04-20 1989-05-23 Multiflow Computer, Inc. Hierarchical priority branch handling for parallel execution in a parallel processor
US5228127A (en) * 1985-06-24 1993-07-13 Fujitsu Limited Clustered multiprocessor system with global controller connected to each cluster memory control unit for directing order from processor to different cluster processors

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5626301B2 (en) * 1976-11-18 1981-06-17
JPS6022779B2 (en) * 1977-09-22 1985-06-04 Hitachi Ltd

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3934232A (en) * 1974-04-25 1976-01-20 Honeywell Information Systems, Inc. Interprocessor communication apparatus for a data processing system
US4466063A (en) * 1979-11-07 1984-08-14 U.S. Philips Corporation System intercommunication processor used in distributed data processing system
US4590555A (en) * 1979-12-11 1986-05-20 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull (Societe Anonyme) Apparatus for synchronizing and allocating processes among several processors of a data processing system
US4335426A (en) * 1980-03-10 1982-06-15 International Business Machines Corporation Remote processor initialization in a multi-station peer-to-peer intercommunication system
EP0036172A1 (en) * 1980-03-10 1981-09-23 International Business Machines Corporation Multi-station processor intercommunication system comprising means for remote processor initialization
US4752870A (en) * 1982-09-29 1988-06-21 Tokyo Shibaura Denki Kabushiki Kaisha Decentralized information processing system and initial program loading method therefor
EP0106213A1 (en) * 1982-09-29 1984-04-25 Kabushiki Kaisha Toshiba Decentralized information processing system and initial program loading method therefor
US4811284A (en) * 1984-03-08 1989-03-07 International Business Machines Corporation Computer terminal system with memory shared between remote devices
US5228127A (en) * 1985-06-24 1993-07-13 Fujitsu Limited Clustered multiprocessor system with global controller connected to each cluster memory control unit for directing order from processor to different cluster processors
US4779189A (en) * 1985-06-28 1988-10-18 International Business Machines Corporation Peripheral subsystem initialization method and apparatus
US4785397A (en) * 1985-11-15 1988-11-15 Hitachi, Ltd. Method and apparatus for loading programs in a distributed processing system
EP0222370A2 (en) * 1985-11-15 1987-05-20 Hitachi, Ltd. Method for program loading
EP0270680A1 (en) * 1986-05-21 1988-06-15 Fanuc Ltd. Boot loading system in a multi-processor system
US4803623A (en) * 1986-10-31 1989-02-07 Honeywell Bull Inc. Universal peripheral controller self-configuring bootloadable ramware
US4833599A (en) * 1987-04-20 1989-05-23 Multiflow Computer, Inc. Hierarchical priority branch handling for parallel execution in a parallel processor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
European Search Report for EP 88 31 1662, Berlin, Dec. 15, 1989. *
European Search Report for EP-88-31-1662, Berlin, Dec. 15, 1989.

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600823A (en) * 1990-06-04 1997-02-04 3Com Corporation Method for optimizing software for any one of a plurality of variant architectures
US5878205A (en) * 1992-12-31 1999-03-02 International Business Machines Corporation Method and system for processing complex recovery using polling signals in a shared medium
US5687073A (en) * 1994-03-16 1997-11-11 Fujitsu Limited Initial program loading system for multiprocessor system
US5671356A (en) * 1994-05-11 1997-09-23 International Business Machines Corporation Method and apparatus for microcode loading in a multi-nodal network exhibiting distributed control
US5867702A (en) * 1994-12-14 1999-02-02 International Business Machines Corporation Method and apparatus for initializing a multiprocessor system
US5642506A (en) * 1994-12-14 1997-06-24 International Business Machines Corporation Method and apparatus for initializing a multiprocessor system
US5784697A (en) * 1996-03-27 1998-07-21 International Business Machines Corporation Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture
US6535976B1 (en) * 1997-03-27 2003-03-18 International Business Machines Corporation Initial program load in data processing network
US6112302A (en) * 1997-07-17 2000-08-29 Funai Electric Co., Ltd. Device for setting initializing data for every destination in electronic device
US6167437A (en) * 1997-09-02 2000-12-26 Silicon Graphics, Inc. Method, system, and computer program product for page replication in a non-uniform memory access system
US6249802B1 (en) 1997-09-19 2001-06-19 Silicon Graphics, Inc. Method, system, and computer program product for allocating physical memory in a distributed shared memory network
US6289424B1 (en) * 1997-09-19 2001-09-11 Silicon Graphics, Inc. Method, system and computer program product for managing memory in a non-uniform memory access system
US6336177B1 (en) 1997-09-19 2002-01-01 Silicon Graphics, Inc. Method, system and computer program product for managing memory in a non-uniform memory access system
US6378027B1 (en) * 1999-03-30 2002-04-23 International Business Machines Corporation System upgrade and processor service
US6550019B1 (en) * 1999-11-04 2003-04-15 International Business Machines Corporation Method and apparatus for problem identification during initial program load in a multiprocessor system
US20080215859A1 (en) * 2000-02-29 2008-09-04 Fujitsu Limited Computer with high-speed context switching
US6973473B1 (en) 2000-05-31 2005-12-06 International Business Machines Corporation Method, system and program products for managing identifiers of components of a clustered environment
US20050033952A1 (en) * 2003-08-07 2005-02-10 International Business Machines Corporation Dynamic scheduling of diagnostic tests to be performed during a system boot process
US20070265821A1 (en) * 2006-05-12 2007-11-15 Ryo Yokoyama Simulation apparatus, simulation method, and computer-readable recording medium storing simulation program
US20090327676A1 (en) * 2006-07-21 2009-12-31 Sony Service Centre (Europe) N.V. Demodulator device and method of operating the same
US8161276B2 (en) * 2006-07-21 2012-04-17 Sony Service Centre (Europe) N.V. Demodulator device and method of operating the same
US20080052504A1 (en) * 2006-08-24 2008-02-28 Sony Computer Entertainment Inc. Method and system for rebooting a processor in a multi-processor system
US7676683B2 (en) * 2006-08-24 2010-03-09 Sony Computer Entertainment Inc. Method and system for rebooting a processor in a multi-processor system
US8954721B2 (en) 2011-12-08 2015-02-10 International Business Machines Corporation Multi-chip initialization using a parallel firmware boot process
US9229730B2 (en) 2011-12-08 2016-01-05 International Business Machines Corporation Multi-chip initialization using a parallel firmware boot process

Also Published As

Publication number Publication date Type
JP2753706B2 (en) 1998-05-20 grant
JPH01150963A (en) 1989-06-13 application
EP0320274B1 (en) 1993-09-29 grant
EP0320274A3 (en) 1990-05-02 application
CA1319438C (en) 1993-06-22 grant
DE3884579D1 (en) 1993-11-04 grant
EP0320274A2 (en) 1989-06-14 application
DE3884579T2 (en) 1994-02-03 grant

Similar Documents

Publication Publication Date Title
US3702462A (en) Computer input-output system
US3634830A (en) Modular computer sharing system with intercomputer communication control apparatus
US5640600A (en) Storage controller and bus control method for use therewith
US5659756A (en) Method and system for providing access to logical partition information on a per resource basis
US4901234A (en) Computer system having programmable DMA control
US4787026A (en) Method to manage coprocessor in a virtual memory virtual machine data processing system
US4868742A (en) Input/output bus for system which generates a new header parcel when an interrupted data block transfer between a computer and peripherals is resumed
US4365295A (en) Multiprocessor system
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
US5093910A (en) Serial data transmission between redundant channels
US5568649A (en) Interrupt cascading and priority configuration for a symmetrical multiprocessing system
US4920486A (en) Distributed arbitration apparatus and method for shared bus
US5555430A (en) Interrupt control architecture for symmetrical multiprocessing system
US4348725A (en) Communication line service interrupt technique for a communications processing system
US4521871A (en) Programmable controller with back-up capability
US4484270A (en) Centralized hardware control of multisystem access to shared and non-shared subsystems
US3673576A (en) Programmable computer-peripheral interface
US5781187A (en) Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system
US4862350A (en) Architecture for a distributive microprocessing system
US4028675A (en) Method and apparatus for refreshing semiconductor memories in multi-port and multi-module memory system
US6141715A (en) Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
US5564060A (en) Interrupt handling mechanism to prevent spurious interrupts in a symmetrical multiprocessing system
US5060144A (en) Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor
US4939644A (en) Input/output controller for controlling the sequencing of the execution of input/output commands in a data processing system
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols

Legal Events

Date Code Title Description
CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
FP Expired due to failure to pay maintenance fee

Effective date: 20060920