WO2008056489A1 - Système à processeurs multiples, son procédé de commande et support d'enregistrement d'informations - Google Patents

Système à processeurs multiples, son procédé de commande et support d'enregistrement d'informations Download PDF

Info

Publication number
WO2008056489A1
WO2008056489A1 PCT/JP2007/068651 JP2007068651W WO2008056489A1 WO 2008056489 A1 WO2008056489 A1 WO 2008056489A1 JP 2007068651 W JP2007068651 W JP 2007068651W WO 2008056489 A1 WO2008056489 A1 WO 2008056489A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
processors
bus
multiprocessor system
communication
Prior art date
Application number
PCT/JP2007/068651
Other languages
English (en)
French (fr)
Inventor
Tsutomu Horikawa
Yasukichi Ohkawa
Original Assignee
Sony Computer Entertainment Inc.
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
Priority claimed from JP2006304555A external-priority patent/JP4421592B2/ja
Priority claimed from JP2006304559A external-priority patent/JP4421593B2/ja
Application filed by Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Priority to EP07807867.2A priority Critical patent/EP2085885B1/en
Priority to CN2007800401077A priority patent/CN101529387B/zh
Priority to US12/444,747 priority patent/US8266476B2/en
Publication of WO2008056489A1 publication Critical patent/WO2008056489A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit

Definitions

  • the present invention relates to a multi-processor system including a plurality of processors that can mutually communicate data via a bus, a control method thereof, and an information storage medium.
  • a multiprocessor system that includes a plurality of processors, each of which can execute information processing.
  • various processing modules such as processors, memory modules, and graphics processing units (GPU) are connected to be able to communicate data with each other via a bus such as a ring bus.
  • GPU graphics processing units
  • such a multiprocessor system may be configured to include more processors than the number required for executing application programs, in case of processor failure.
  • the multiprocessor system described above can execute application programs even when some processors can not be used due to a failure. However, if some processors have a fault, the processor with the fault will not be involved in data communication with other processing modules, so the balance of data transmission amount in the bus by the data communication among the processing modules is satisfied. Changes. As a result, the efficiency of data communication between processing modules may be affected.
  • each processing module when each processing module is connected via a ring bus, and some processors can not be used due to a failure, each processing can be arbitrarily assigned to another processor other than the processor having the failure.
  • the content of the processing executed by the processor changes, and as a result, the transmission direction and transmission distance of the data transmitted through the ring bus also change. Therefore, even if the same program is executed on a multiprocessor system with the same configuration, the program execution environment depends on which processor has a fault. May change, and the processing speed of the program may differ.
  • the present invention has been made in view of the above situation, and one of its purposes is to affect the data communication efficiency even if there is a faulty processor among a plurality of processor sets. To provide a difficult multiprocessor system, its control method, and information storage medium.
  • Another object of the present invention is to provide a multiprocessor system in which a program execution environment is unlikely to change even if any one of a plurality of processors fails, its control method, and information storage medium To provide.
  • a multiprocessor system comprising: fault processor identifying means for identifying at least one fault processor having a fault among the predetermined number of processors; and a position corresponding to a connection position of the fault processor to the bus.
  • Communication restriction processor selection means for selecting at least one of the processors connected to a bus as a communication restriction processor subject to communication restriction, and communication restriction for restricting data communication via the bus by the communication restriction processor And means.
  • a control method of a multiprocessor system further comprises: a plurality of processing modules including a predetermined number of 3 or more processor sets; and a bus relaying data communication between the processing modules.
  • a control method for a multiprocessor system comprising: a step of identifying at least one faulty processor having a fault among the predetermined number of processors; and a position corresponding to a connection position of the faulty processor to the bus. Selecting at least one of the processors connected to the network as a communication restriction processor subject to communication restriction, and restricting data communication by the communication restriction processor via the bus. I assume.
  • an information storage medium comprises: a plurality of processing modules including a predetermined number of three or more processors; and a bus for relaying data communication between the respective processing modules.
  • An information storage medium storing a program to be executed by a multiprocessor system, comprising: fault processor identifying means for identifying at least one fault processor having a fault among the predetermined number of processors; Communication restriction processor set selection means for selecting at least one of the processors connected to the bus at a position corresponding to the connection position to the bus as a communication restriction processor to be subjected to communication restriction, and the communication restriction processor And a computer-readable information storage medium storing a program for causing the multi processor system to function as communication restriction means for restricting data communication via the bus.
  • Another multiprocessor system is a multiprocessor system including a plurality of processing modules including a plurality of processors, and a ring bus relaying data communication between the respective processing modules.
  • Table storage means for storing a table that associates a part of the plurality of processors with a plurality of pieces of processor designation information that respectively designate one of the plurality of processors, and a plurality of the plurality of processors.
  • fault processor identifying means for identifying at least one fault processor having a fault and the plurality of processor designation information excluding the fault processor according to the connection position of the fault processor to the ring bus.
  • An application including table generation means for generating the table, wherein each of the partial processors includes a plurality of predetermined processes, and each of the predetermined processes is associated with any of the processor designation information.
  • the predetermined processing associated with the processor designation information for designating the processor is executed based on a program and the generated table.
  • Another control method of a multiprocessor system is a multi-processing system comprising: a plurality of processing modules including a plurality of processors; and a ring bus relaying data communication between the respective processing modules.
  • a method of controlling a processor system comprising: a step of identifying at least one faulty processor having a fault among the plurality of processors, a part of the plurality of processors, and a part of the plurality of processors.
  • each processor designation information designates any one of the plurality of processors excluding the faulty processor.
  • each of the partial processors includes a plurality of predetermined processes, and each of the predetermined processes is associated with! // of the processor setting information, and the application program, and the generation And / or execute the predetermined processing associated with the processor designation information for designating the processor.
  • Another information storage medium includes a multiprocessor system including a plurality of processing modules including a plurality of processors, and a ring bus relaying data communication between the respective processing modules.
  • An information storage medium storing a program to be executed, the failure processor specifying means for specifying at least one failure processor having a failure among the plurality of processors, and a part of the plurality of processors
  • a table relating a plurality of processor designation information to a plurality of processor designation information pieces respectively designating one of the partial processors is described according to the connection position of the faulty processor to the ring bus. Refers to any one of the plurality of processors except the faulty processor.
  • the multi-processor system is caused to function as table generation means for generating data, and each of the partial processors includes a plurality of predetermined processes, and each of the predetermined processes is any of the processor designation information.
  • FIG. 1 is a hardware configuration diagram of a multiprocessor system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing a plurality of processing modules connected to a bus.
  • FIG. 3 is a diagram showing a schematic configuration of a sub processor.
  • FIG. 4 A function block showing an example of the function of the multiprocessor system according to the embodiment of the present invention It is a lock figure.
  • FIG. 5 is a diagram showing an example of a processor correspondence table.
  • FIG. 6 is an explanatory drawing showing an example of the positional relationship of sub-processors specified by processor specification information.
  • FIG. 7 is an explanatory drawing showing another example of the positional relationship of the sub processors specified by the processor specification information.
  • FIG. 8 is an explanatory drawing showing another example of the positional relationship of the sub-processors specified by the processor specification information.
  • FIG. 9 is a flow chart showing an example of processing executed by the multiprocessor system according to the embodiment of the present invention.
  • FIG. 1 is a diagram showing a hardware configuration of a multiprocessor system according to the present embodiment.
  • the multiprocessor system 10 includes an MPU (Micro Processing Unit) 11, a main memory 20, an image processing unit 24, a monitor 26, an input / output processing unit 28, a voice processing unit 30, and the like.
  • a speaker 32 an optical disk reading unit 34, a node disk 38, an interface (I / F) 40, 44, an operation device 42, a camera unit 46, and a network interface 48. It is a computer system.
  • FIG. 2 is a diagram showing the configuration of the MPU 11.
  • the MPU 11 includes a main processor 12, sub processors 14 a, 14 b, 14 c, 14 d, 14 e, 14 f, 14 g, 14 h, a noise 16 and a bus controller 17. Configured
  • the manifold processor system is configured to include a plurality of processing modules including a plurality of processors, and a bus for relaying data communication between the respective processing modules.
  • the twelve processing modules S of the main processor 12, the sub processors 14a to 14h, the main memory 20, the image processing unit 24, and the input / output processing unit 28. are mutually connected in data communication via a bus 16.
  • the main processor 12 is an application system stored in a ROM (Read Only Memory) not shown, or a program and data read from an optical disc 36 such as a DVD (Digital Versatile Disk) -ROM, and a communication network. It performs various information processing and controls the sub-processors 14a to 14h based on programs and data supplied via the network.
  • ROM Read Only Memory
  • optical disc 36 such as a DVD (Digital Versatile Disk) -ROM
  • the sub-processors 14a to 14h are based on programs and data read from the optical disk 36 such as a DV D-ROM, etc., programs and data supplied via a communication network, etc., in accordance with instructions from the main processor 12. Perform various information processing.
  • FIG. 3 is a diagram showing a schematic configuration of the sub processor 14a.
  • the sub processor 14a includes a sub processor unit 15a, a low power memory 15b, and a bus interface unit 15c.
  • the sub processor unit 15a executes information processing such as arithmetic processing by executing the program assigned to the sub processor 14a.
  • the local memory 15b stores at least a part of programs and data assigned to the sub processor 14a, and operates as a work memory of the sub processor unit 15a.
  • the bus interface unit 15c transmits and receives data to and from another processing module in response to an access request from the sub processor unit 15a. That is, the bus interface unit 15c relays data communication between the sub processor 14a and other processing modules.
  • bus interface unit 15 c holds in advance.
  • the requested logical address is converted to a physical address using a memory address conversion table.
  • the physical address is an address that indicates a physical memory location of each processing module, such as a memory address in the main memory 20 or a memory address in a local memory of each sub processor.
  • the bus interface unit 15c transmits the data output by the sub processor unit 15a to the processing module indicated by the converted physical address, or the processing module indicated by the converted physical address. Send a data transmission request to the client and receive data from the processing module
  • the bus interface unit 15c responds to the access request and the local memory 15b. Write data inside, and send the data in the specified local memory 15b to the processing module of the access request source. As a result, the sub processor 14a can transmit and receive data with other processing modules via the bus 16.
  • the bus 16 transmits various data between the processing modules in response to the request of each processing module.
  • the bus 16 is a bi-directional ring bus and is configured including a total of four data transmission paths 16a, 16b, 16c and 16d.
  • the data transmission paths 16a and 16b always transmit data clockwise, and conversely, the data transmission paths 16c and 16d transmit data counterclockwise.
  • the bus controller 17 determines which of the four data transmission paths is used for communication between the processing modules.
  • the bus 16 includes the same number of connection ports as the processing modules to be connected, and each processing module is connected to the bus 16 at the position of the corresponding connection port. That is, each processing module transmits data to bus 16 and receives data from bus 16 via the corresponding connection port.
  • the bus controller 17 controls data communication between the processing modules via the bus 16. As a specific example, when each processing module requests data transmission, the bus controller 17 first watches based on the connection position of the transmission processing module to the bus 16 and the connection position of the transmission processing module to the bus 16. It is determined which of the surrounding data transmission path and the counterclockwise data transmission path should be used for data transmission. Here, in the bus controller 17, data is transmitted in a direction in which the number of processing modules connected to the bus 16 decreases between the connection position of the processing module of the transmission source and the connection position of the processing module of the transmission destination. To determine the data transmission path.
  • the main processor 12 may If any of the memory 20, the sub processor 14b, the sub processor 14 d, or the sub processor 14 f is the processing module of the transmission destination, the clockwise data transmission path is the data transmission as shown in FIG. The number of processing modules connected on the path is reduced. Therefore, the bus controller 17 decides to use either the data transmission path 16a or 16b. Conversely, the processing module of the transmission source is the sub-processor 14a, and the processing module of the transmission destination is any of the sub-processor 14c, the sub-processor 14e, the sub-processor 14g, the input / output processing unit 28, or the image processing unit 24. In some cases, the bus controller 17 transmits data counterclockwise, and determines it as a data transmission path using the data transmission path 16c or 16d.
  • the bus controller 17 determines which one of the two data transmission paths in the same direction is to be used, according to the usage condition of each data transmission path at the time of the data transmission request. Also, when the number of processing modules connected on the data transmission path from the transmission source to the transmission destination is the same for both clockwise and counterclockwise (for example, data transmission from sub-processor 14a to sub-processor 14h) In either case, either clockwise or counterclockwise data transmission paths may be used. That is, the bus controller 17 determines the data transmission line to be used in the use situation etc. among all four data transmission lines. According to the determination of the bus controller 17, each processing module performs data communication with another processing module using any one of the data transmission paths.
  • the main memory 20 is configured to include a memory element such as a RAM and a memory controller that relays data communication between the memory element and the bus 16. Programs and data read from the optical disk 36 and the hard disk 38 and programs and data supplied via the communication network are written to the main memory 20 as necessary.
  • the main memory 20 is also used as a work of the main processor 12 and the sub processors 14a to 14h.
  • the image processing unit 24 is configured to include a GPU (Graphics Processing Unit) and a frame buffer.
  • the GPU draws various screens in the frame buffer based on data transmitted from the main processor 12 and the sub processors 14a to 14h.
  • the screen formed in the frame buffer is converted to a video signal at a predetermined timing and output to the monitor 26.
  • a home television receiver is used for the monitor 26.
  • a voice processing unit 30, an optical disk reading unit 34, a hard disk 38, interfaces 40 and 44, and a network interface 48 are connected to the input / output processing unit 28.
  • the input / output processing unit 28 is between the main processor 12 and the sub-processors 14a to 14h and the voice processing unit 30, the optical disk reading unit 34, the hard disk 38, the interfaces (I / F) 40 and 44, and the network interface 48. Control data exchange.
  • the sound processing unit 30 is configured to include an SPU (Sound Processing Unit) and a sound buffer.
  • the sound buffer stores various audio data such as game music read from the optical disk 36 and the hard disk 38, game sound effects and messages.
  • the SPU reproduces these various audio data and causes the speaker 32 to output it.
  • As the speaker 32 for example, a built-in speaker of a home television receiver is used.
  • the optical disk reading unit 34 reads a program or data stored in the optical disk 36 according to an instruction of the main processor 12 and the sub processors 14a to 14h.
  • the multiprocessor system 10 may be configured to be able to read a program or data stored in another computer readable information storage medium other than the optical disc 36.
  • the optical disc 36 is a general optical disc (computer readable information storage medium) such as a DVD-ROM, for example.
  • the hard disk 38 is a general hard disk drive. Various programs and data are stored on the optical disk 36 and the hard disk 38 in a computer readable manner.
  • Interfaces (I / F) 40 and 44 are interfaces for connecting various peripheral devices such as the operation device 42 and the camera unit 46.
  • an interface for example, a USB (Universal Serial Bus) interface is used.
  • a wireless communication interface according to, for example, the Bluetooth (registered trademark) standard may be used.
  • the operation device 42 is a general-purpose operation input unit, and is used by the user to input various operations (for example, game operation).
  • the input / output processing unit 28 scans the state of each unit of the operation device 42 every predetermined time (for example, 1/60 seconds) and supplies an operation signal representing the result to the main processor 12 and the sub processors 14a to 14h.
  • Main processor 12 or sub The processors 14a to 14h determine the content of the operation performed by the user based on the operation signal.
  • the multiprocessor system 10 is configured to be able to connect a plurality of operation devices 42, and the main processor 12 and the sub processors 14a to 14h execute various processes based on operation signals input from the operation devices 42. It is like this.
  • the camera unit 46 includes, for example, a known digital camera, and inputs a black-and-white, gray scale or color photographed image every predetermined time (for example, 1/60 seconds).
  • the camera unit 46 according to the present embodiment is configured to input a photographed image as image data of a JPEG (Joint Photographic Experts Group) format.
  • the camera unit 46 is installed on the monitor 26 with the lens directed to the user, for example, and is connected to the interface 44 via a cable.
  • the network interface 48 is connected to the input / output processing unit 28 and the communication network, and relays the data communication with the other information apparatus through the communication network by the multiprocessor system 10.
  • the multiprocessor system 10 functionally has, as shown in FIG. 4, a fault processor identification unit 50, a communication limit processor selection unit 52, a communication restriction unit 54, a table generation unit 56, and processing execution control. Part 58, and configured.
  • These functions can be realized, for example, by the MPU 11 executing a program stored in the ROM, the main memory 20 or the like not shown.
  • This program may be stored and provided in a computer-readable information storage medium such as an optical disc 36 or may be provided via a communication network such as the Internet.
  • the fault processor identification unit 50 identifies at least one sub processor having a fault (hereinafter referred to as a fault processor) among the sub processors 14a to 14h.
  • the fault processor may be a sub processor in which a fault was found at the time of manufacture of the MPU 11 or a sub processor in which a fault such as a fault occurs during use of the multiprocessor system 10 and the normal operation can not be performed. It is also good. Also, for example, it may be a sub-processor set to limit its use at the time of shipment of the apparatus. Concrete As an example, for example, the multiprocessor system 10 according to the present embodiment may hold fault processor identification information for identifying a fault processor in advance in nonvolatile memory (not shown).
  • the fault processor identification unit 50 identifies a fault processor by reading fault processor identification information held in the non-volatile memory. Also, for example, the fault processor identifying unit 50 may identify a fault processor by executing a predetermined hardware diagnostic program when the multiprocessor system 10 is powered on or the like. Alternatively, the fault processor identification unit 50 updates the fault processor identification information in the nonvolatile memory described above according to the execution result of the diagnostic program, etc., and the fault processor identification information is updated based on the updated fault processor identification information. You may specify
  • Communication limited processor selection unit 52 is a sub processor (hereinafter referred to as a communication limited processor) that is subject to communication restriction among sub processors 14 a to 14 h according to the failure processor specified by failure processor specification unit 50. Choose). Specifically, the communication restriction processor selection unit 52 selects at least one sub-processor connected to the bus 16 at a position corresponding to the connection position of the fault processor to the bus 16 as the communication restriction processor.
  • the communication limited processor selection unit 52 selects the communication limited processor of the sub processors 14a to 14h as well.
  • the communication restriction processor selection unit 52 is for the bus 16 of the fault processor.
  • the communication restriction processor is selected so that the difference between the connection position and the connection position of the communication restriction processor with respect to the bus 16 is small. That is, for example, when there is one fault processor and one communication restriction processor, the sub processor power connected on the path of bus 16 at the position farthest from the connection position of the fault processor (the position on the other side of the ring). It is selected as a communication control processor. Specifically, in the example of FIG. 2, if the faulty processor is the sub processor 14a, the sub processor 14h power is the sub processor 14b. If the fault processor is the sub processor 14g, the sub processor 14f is the sub processor 14d.
  • the sub processor 14e is selected as the communication restriction processor.
  • the combination of the fault processor and the communication limit processor holds true even when the fault processor and the communication limit processor are reversed. That is, for example, if the fault processor is the sub processor 14h, the sub processor 14a is selected as the communication limited processor.
  • the communication restriction processor is selected in this way, the number of processing modules connected to the bus 16 between the connection position to the bus 16 of the faulty processor and the connection position to the bus 16 of the communication restriction processor is There are five for both clockwise and counterclockwise, and the difference is zero. Even when the number of processing modules connected to the bus 16 is an odd number, or when a plurality of communication restriction processors are selected, etc., the connection positions of the fault processor and the communication restriction processor to the bus 16 are similarly set. By selecting the communication restriction processor so as to reduce the difference in the number of processing modules connected to the bus 16 between them, the fault processor and the communication restriction processor will be connected to the bus 16 at a distance from each other.
  • communication limited processor selection unit 52 is based on the connection position with respect to bus 16 of a predetermined processing module (hereinafter referred to as a processing module of interest) among the plurality of processing modules included in multiprocessor system 10. Even if you select the communication restriction processor Good.
  • the communication restriction processor selection unit 52 selects a data transmission path different from the data transmission path used for data communication from the fault processor to the processing module of interest among the plurality of data transmission paths constituting the bus 16.
  • the sub processor that uses it to perform data communication to the processing module of interest is selected as the communication limited processor.
  • the processing module of interest is a processing module such as the main memory 20 or the image processing unit 24 which is assumed to have many data communications with each sub processor.
  • the main memory 20 is the processing module of interest.
  • the clockwise data transmission path 16a or 16b is used for data communication from the sub-processors 14a, 14c, 14e and 14g to the main memory 20.
  • these four sub processors are collectively called the first sub processor group.
  • a counterclockwise data transmission path 16c or 16d is used for data communication from the sub-processors 14b, 14d, 14f and 14h to the main memory 20 a counterclockwise data transmission path 16c or 16d is used.
  • these four sub-processors are collectively called the second sub-processor group.
  • the communication restriction processor selection unit 52 selects one or more failure processors in the first sub-processor group. If there are, select the communication-restricted processor from the second sub-processor group. Also, if there is a faulty processor in the second sub processor group, the communication restriction processor is selected from the first sub processor group. As a result, among the six sub processors excluding the fault processor and the communication restriction processor, the number of sub processors belonging to the first sub processor group and the number of sub processors belonging to the second sub processor group are both 3.
  • the main memory 20 which is the processing module of interest, the fault processor and the communication restriction processor are separated, and each sub processor Data communication among the plurality of data transmission paths can be dispersed, and data communication can be less likely to be biased to any of the data transmission paths.
  • the communication restriction processor connected at the position farthest from the connection position of the faulty processor in the path of the bus 16 in the above-mentioned example is simultaneously a sub processor group different from the sub processor group to which the faulty processor belongs. It is also a sub processor belonging to.
  • communication limit processor selection unit 52 selects one of the sub processors excluding these fault processors and communication limit processors as the first sub processor group.
  • the communication-limited processor may be selected so that the difference between the number of sub-processors belonging and the number of sub-processors belonging to the second sub-processor group is reduced.
  • the unit 52 may select the communication restriction processor even when there is no failure processor identified by the failure processor identification unit 50.
  • the number of communication-limited processors in this case is determined according to the number of sub-processors provided in multiprocessor system 10 and the number of sub-processors used by multiprocessor system 10 in executing an application program. Well ,. Also, the sub processor selected as the communication restriction processor in this case may be a predetermined one.
  • the communication-limited processor selection unit 52 may be a predetermined sub-processor determined according to the operating environment of the multiprocessor system 10, such as a sub-processor whose temperature is likely to rise when using the multiprocessor system 10 with circuit layout. , Select as communication restriction processor.
  • the communication restriction unit 54 restricts the data communication through the bus 16 by the communication restriction processor selected by the communication restriction processor selection unit 52.
  • the communication restriction unit 54 may restrict data communication by the communication restriction processor by restricting the execution of the program by the communication restriction processor. In this case, the communication restriction processor will not perform data communication with other processing modules as well as the fault processor.
  • the communication restriction unit 54 restricts the bandwidth of data communication with the bus 16 by the bus interface unit 15 c in the communication restriction processor to a predetermined value or less while causing the communication restriction processor to execute an application program. Data communication may be limited.
  • the communication restriction unit 54 may restrict data communication by the communication restriction processor by causing the communication restriction processor to execute a predetermined program (hereinafter referred to as a system program).
  • the system program in this case is, for example, a multi-processor in advance.
  • the application program stored in the ROM or the like in the system 10 is a type of program different from the application program executed by another sub processor.
  • this system program is a program in which the amount of data transmitted / received to / from other processing modules by the sub-processor executing the system program is smaller than that of the application program.
  • this system program is a program that is independent of other application programs, the communication restriction processor that executes the system program does not need to perform data communication with other sub-processors.
  • the communication restriction unit 54 can restrict data communication by the communication restriction processor by causing the communication restriction processor to execute such a system program.
  • this system program may be a program which is directly booted from the operating system and executed under control of the operating system. This makes it easier to control the amount of data communication performed by the sub processor that executes the system program, as compared to the case of the application program.
  • the sub processor connected to bus 16 is selected as the communication limited processor at a position corresponding to the position where the fault processor is connected to bus 16, and data via bus 16 of the communication restricted processor is selected.
  • the multiprocessor system 10 can equalize the load due to data transmission in the bus 16 and make it less likely that the connection position of the fault setter to the bus 16 will affect the data communication efficiency. S.
  • the table generation unit 56 generates a processor correspondence table.
  • the processor correspondence table is a table that associates a part of the sub-processors 14a to 14h with a plurality of pieces of processor specification information that respectively specify one of the part of the sub-processors.
  • the processor correspondence table may be stored in advance in the main memory 20 or the like in the multiprocessor system 10, and the table generation unit 56 may update the stored processor correspondence table.
  • the processor designation information is information for designating any sub processor in the multi processor system 10, and is represented as a logical processor number by an integer of 0 or more, for example. In this case, the number of processor designation information is used when executing the application program.
  • the number corresponds to the number of sub-processors and is smaller than the number (8) of sub-processors provided in the multiprocessor system 10.
  • FIG. 5 is a diagram showing an example of such a processor correspondence table.
  • six logical processor numbers from 0 to 5 are associated with any one of the sub processors, whereby each logical processor number is! / Specify a sub processor of /!
  • the table generation unit 56 designates this processor correspondence table according to the connection position of the faulty processor with respect to the bus 16 so that each processor designation information designates one of the plurality of subprocessors excluding the faulty processor. Generate as you want. Further, when the communication restriction processor selection unit 52 selects any of the sub processors as the communication restriction processor, the table generation unit 56 determines the connection position of the fault processor and the communication restriction processor to the bus 16.
  • the processor correspondence table may be generated such that each processor designation information designates any one of a plurality of subprocessors except the faulty processor and the communication restriction processor.
  • the predetermined specific processor designation information of the plurality of pieces of processor designation information designates the communication restriction processor.
  • a processor correspondence table may be generated.
  • the table generation unit 56 is a sub processor designated by each processor designation information of a plurality of sub-processors excluding the faulty processor according to the connection position of each sub-processor excluding the faulty processor to the bus 16. Determine the processor. For example, if there is a faulty processor in the first sub-processor group described above, the sub-processor designated by logical processor number 0 is designated sub-processor 14b, and to the bus 16 of the sub-processor designated by each logical processor number. Determine the sub-processor designated by each logical processor number so that the connection positions are arranged clockwise in order.
  • FIGS. 6 and 7 are explanatory diagrams showing the positional relationship of the sub-processors designated by each logical processor number determined in this way. In these figures, the positional relationship of the connection position with respect to the bus 16 of each processing module shown in FIG. 2 is shown in a simplified manner. In FIGS.
  • the processor designation information is represented by six logical processor numbers from 0 to 5, and the sub processor designated by the logical processor number n is the sub processor (n) and It is written.
  • FIG. 6 shows an example where the sub-processor 14a is a faulty processor and the sub-processor 14h is selected as a communication restriction processor.
  • FIG. 7 shows an example in the case where the sub processor 14 d is a failure processor and the sub processor 14 e is selected as a communication restriction processor.
  • connection position of each sub processor determines the sub processor designated by each logical processor number according to the connection position of each sub processor, another sub processor viewed from the sub processor designated by a certain logical processor number is determined.
  • the connection position of can be made to be in the same positional relationship, regardless of which sub-processor is the faulty processor.
  • FIG. 6 when data is transmitted from a sub processor (0) to a sub processor specified by another logical processor number, data for the sub processor (1) and the sub processor (2) is transmitted.
  • a clockwise data transmission path is used for transmission.
  • a counterclockwise data transmission line is used for data transmission to the sub processor (5) and the sub processor (4), and any data transmission line is used for data transmission to the sub processor (3). sell.
  • the table generation unit 56 relates to the positional relationship between the connection position of each sub processor except the faulty processor to the bus 16 and the connection position of a predetermined processing module among the plurality of processing modules to the bus 16. Accordingly, among the plurality of sub-processors excluding the faulty processor, the sub-processor designated by each processor specification information may be determined.
  • the predetermined processing module in this case may be the same processing module as the processing module of interest used for the selection of the communication restriction processor by the communication restriction processor selection unit 52 described above.
  • the table generation unit 56 is designated by each logical processor number starting from the connection position of the main memory 20 to the bus 16.
  • the sub processor designated by each logical processor number is determined such that the connection positions of the sub processors to the bus 16 are sequentially arranged in a counterclockwise direction.
  • FIG. 8 similarly to FIG. 6, when the sub processor 14a is the faulty processor and the sub processor 14 h is selected as the communication limited processor, the sub processor designated by each logical processor number determined in this way is selected. It is explanatory drawing which shows positional relationship.
  • each sub-processor designated by each logical processor number is determined according to the positional relationship between the connection position of each sub-processor and the connection position of the target processing module.
  • the direction of data communication to the sub processor specified by the logical processor number will not change regardless of which sub processor is the faulty processor.
  • a counterclockwise data transmission path is used for data transmission from the main memory 20 to the sub processor (0), the sub processor (1) and the sub processor (2).
  • a clockwise data transmission path is used for data transmission from the main memory 20 to the sub processor (5), the sub processor (4) and the sub processor (3). And these correspondences do not change even if there is a failure in any sub processor.
  • the order of the data transmission distance in the case of transmitting data from the processing module of interest of the sub-processor designated by each logical processor number will not change regardless of the connection position of the faulty processor.
  • the sub-processor (0) is connected closest to the sub-processor.
  • the data transmission distance in the bus 16 becomes longer in the order of the processor (1) and the sub processor (2). This order is similar no matter which sub-processor has failed. As a result, the influence of the location of the faulty processor on the amount of data transmission between the processing module of interest and each of the sub-processors executing the application program can be reduced.
  • the processing execution control unit 58 is based on, for example, an application program read from the optical disk 36 or the hard disk 38 and stored in the main memory 20 and a processor correspondence table generated by the table generation unit 56. Then, control is performed to cause each of the sub processors specified by each processor specification information to execute predetermined processing of a part of the application program.
  • the application program in this case includes a plurality of predetermined processes, and each of the predetermined processes is associated with any one of processor designation information.
  • the plurality of predetermined processes are execution units of programs which are assigned to different sub-processors and executed in parallel.
  • Each of the sub processors designated by each processor designation information executes predetermined processing associated with the processor designation information designating the sub processor under the control of the processing execution control unit 58.
  • processing execution control unit 58 corresponds a logical address predetermined in correspondence with the logical processor number to a physical address indicating a memory position of a sub processor designated by the logical processor number. Generate a memory address conversion table to be used. Then, the generated memory address conversion table is distributed to the bus interface unit 15c in each sub processor. Thereby, each sub processor can access the sub processor designated by the logical processor number using the logical processor number. Also, the main memory 20 executes, for each sub-processor, the sub-processor specified by each logical processor number using the memory conversion table. Program data of predetermined processing to be performed can be transmitted.
  • the multiprocessor system 10 determines sub-processors designated by each processor designation information according to the connection position of the faulty processor to the bus 16, and these sub-processors designate the relevant sub-processors. Execute predetermined processing associated with the specified processor specification information. In this way, it is possible to prevent S from greatly changing the positional relationship of the sub-processors that execute each predetermined process due to the difference in the connection position of the faulty processor. As a result, changes in the program execution environment can be made less likely to occur, and differences in processing speed of the program due to individual differences in the apparatus can be reduced.
  • the multiprocessor system 10 reads out the fault processor identification information stored in the non-volatile memory to identify the fault processor (Sl). Then, if there is a faulty processor, the communication restriction processor is selected according to the connection position of the faulty processor (S2). Here, it is assumed that one sub processor power S connected at the position farthest from the connection position of the fault processor on the path of the bus 16 is selected as the communication restriction processor. On the other hand, if there is no faulty processor, the multiprocessor system 10 selects a predetermined sub-processor as the communication limited processor (S3).
  • the multiprocessor system 10 generates a processor correspondence table according to the faulty processor identified in S1 and the communication restriction processor selected in S2 or S3 (S4). Further, based on the communication restriction processor selected in S2 or S3 and the processor correspondence table generated in S4, a memory address conversion table is generated (S5), and the generated memory address conversion table is It distributes to the bus interface unit 15c of the processor (S6).
  • the processes related to S1 to S6 may be executed by an operating system running on the multiprocessor system 10.
  • the logical address corresponding to the logical processor number is associated with the physical address indicating the sub-processor set designated by the logical processor number
  • System program reading It is an address conversion table in which a logical address predetermined as an output destination is associated with a physical address indicating a communication restriction processor.
  • the present invention is not limited to the above-described embodiment, and various modifications can be made.
  • the multiplexer setter system 10 can transmit each data.
  • the communication restriction processor may be selected such that the difference in the number of processors performing data communication with the processing module of interest via the transmission path is reduced. As a result, it is possible to eliminate the bias in the amount of data communication among the plurality of data transmission paths, and to improve the efficiency of data transmission.
  • the multiprocessor system according to the embodiment of the present invention may be various information processing apparatuses provided with a plurality of homogeneous processors.
  • the communication restriction processor selection unit 52 may determine the number of processors to be selected as the communication restriction processor according to the number of fault processors identified by the fault processor identification unit 50. For example, the communication restriction processor selection unit 52 selects the communication restriction processor so that the number of communication restriction processors is the same as the number of fault processors. In this case, for example, when each sub processor is classified into a plurality of sub processor groups according to the data transmission path used for data communication with the processing module of interest as described above, the communication limited processor selection unit 52 The communication limit processor may be selected such that the number of sub-processors excluding the fault processor and the communication limit processor included in the processor group is equal. Also, the sub processor connected at the position opposite to each failure processor and ring bus may be selected as the communication restriction processor corresponding to the connection position of each failure processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Hardware Redundancy (AREA)

Description

明 細 書
マルチプロセッサシステム、その制御方法及び情報記憶媒体
技術分野
[0001] 本発明は、バスを介して相互にデータ通信可能な複数のプロセッサを備えるマル チプロセッサシステム、その制御方法及び情報記憶媒体に関する。
背景技術
[0002] 複数のプロセッサを備え、これらのプロセッサがそれぞれ情報処理を実行可能なマ ルチプロセッサシステムがある。このようなマルチプロセッサシステムにおいては、各 プロセッサ、メモリモジュール、 GPU (Graphics Processing Unit)等の各種の処理モ ジュールが、リング型バスなどのバスを介して相互にデータ通信可能に接続されてい る。さらにこのようなマルチプロセッサシステムは、プロセッサに障害がある場合に備 えて、アプリケーションプログラムの実行に必要な数よりも多くのプロセッサを含んで 構成される場合がある。
発明の開示
発明が解決しょうとする課題
[0003] 上記説明したマルチプロセッサシステムは、一部のプロセッサが障害によって使用 できない場合であっても、アプリケーションプログラムを実行することができる。しかし ながら、一部のプロセッサに障害がある場合、障害を有するプロセッサが他の処理モ ジュールとのデータ通信に関与しなくなるため、各処理モジュール間のデータ通信に よるバス内のデータ伝送量のバランスが変化する。その結果、各処理モジュール間 のデータ通信の効率に影響を与える場合がある。
[0004] また、各処理モジュールがリング型バスを介して接続されており、一部のプロセッサ が障害によって使用できない場合、障害を有するプロセッサを除く他のプロセッサに 任意に処理が割り当てられると、各プロセッサが実行する処理の内容が変化し、その 結果としてリング型バスを介して伝送されるデータの伝送方向や伝送距離にも変化 カ生じる。そのため、同じプログラムを同じ構成のマルチプロセッサシステムで実行さ せる場合であっても、どのプロセッサに障害があるかによってプログラムの実行環境 に変化が生じてしまい、プログラムの処理速度等にも差が生じる場合がある。
[0005] 本発明は上記実情に鑑みてなされたものであって、その目的の一つは、複数のプ 口セッサの中に障害を有するプロセッサがあっても、データ通信効率への影響が生じ にくいマルチプロセッサシステム、その制御方法、及び情報記憶媒体を提供すること にめ ·ο。
[0006] また、本発明の別の目的は、複数のプロセッサの中のどのプロセッサに障害があつ ても、プログラムの実行環境に変化が生じにくいマルチプロセッサシステム、その制 御方法、及び情報記憶媒体を提供することにある。
課題を解決するための手段
[0007] 上記課題を解決するための本発明に係るマルチプロセッサシステムは、 3以上の所 定数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデ ータ通信を中継するバスと、を備えるマルチプロセッサシステムであって、前記所定 数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障 害プロセッサ特定手段と、前記障害プロセッサの前記バスに対する接続位置に対応 する位置において前記バスに接続された少なくとも一つの前記プロセッサを、通信制 限の対象となる通信制限プロセッサとして選択する通信制限プロセッサ選択手段と、 前記通信制限プロセッサによる、前記バスを介したデータ通信を制限する通信制限 手段と、を含むことを特徴とする。
[0008] また、本発明に係るマルチプロセッサシステムの制御方法は、 3以上の所定数のプ 口セッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信 を中継するバスと、を備えるマルチプロセッサシステムの制御方法であって、前記所 定数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定するス テツプと、前記障害プロセッサの前記バスに対する接続位置に対応する位置におい て前記バスに接続された少なくとも一つの前記プロセッサを、通信制限の対象となる 通信制限プロセッサとして選択するステップと、前記通信制限プロセッサによる、前記 バスを介したデータ通信を制限するステップと、を含むことを特徴とする。
[0009] また、本発明に係る情報記憶媒体は、 3以上の所定数のプロセッサを含む複数の 処理モジュールと、当該各処理モジュール相互のデータ通信を中継するバスと、を 備えるマルチプロセッサシステムにより実行されるプログラムを記憶した情報記憶媒 体であって、前記所定数のプロセッサのうち、障害を有する少なくとも一つの障害プ 口セッサを特定する障害プロセッサ特定手段、前記障害プロセッサの前記バスに対 する接続位置に対応する位置において前記バスに接続された少なくとも一つの前記 プロセッサを、通信制限の対象となる通信制限プロセッサとして選択する通信制限プ 口セッサ選択手段、及び前記通信制限プロセッサによる、前記バスを介したデータ通 信を制限する通信制限手段、として前記マルチプロセッサシステムを機能させるため のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
[0010] また、本発明に係る他のマルチプロセッサシステムは、複数のプロセッサを含む複 数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング 型バスと、を備えるマルチプロセッサシステムであって、前記複数のプロセッサのうち の一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数 のプロセッサ指定情報と、を関連づけるテーブルを記憶するテーブル記憶手段と、前 記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定す る障害プロセッサ特定手段と、前記障害プロセッサの前記リング型バスに対する接続 位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数の プロセッサのうちのいずれかのプロセッサを指定するように、前記テーブルを生成す るテーブル生成手段と、を含み、前記一部のプロセッサのそれぞれは、複数の所定 処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれ かに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブル に基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた 前記所定処理を実行することを特徴とする。
[0011] また、本発明に係る他のマルチプロセッサシステムの制御方法は、複数のプロセッ サを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継 するリング型バスと、を備えるマルチプロセッサシステムの制御方法であって、前記複 数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定するステ ップと、前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサの
V、ずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブル を、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロ セッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれ かのプロセッサを指定するように生成するステップと、を含み、前記一部のプロセッサ のそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プ 口セッサ指定情報の!/、ずれかに関連づけられてなるアプリケーションプログラム、及 び前記生成されたテーブルに基づ!/、て、当該プロセッサを指定する前記プロセッサ 指定情報に関連づけられた前記所定処理を実行することを特徴とする。
[0012] また、本発明に係る他の情報記憶媒体は、複数のプロセッサを含む複数の処理モ ジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を 備えるマルチプロセッサシステムにより実行されるプログラムを記憶した情報記憶媒 体であって、前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセ ッサを特定する障害プロセッサ特定手段、及び前記複数のプロセッサのうちの一部 のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセ ッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バス に対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除 く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するテ 一ブル生成手段、として前記マルチプロセッサシステムを機能させ、前記一部のプロ セッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ 前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプロダラ ム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロ セッサ指定情報に関連づけられた前記所定処理を実行することを特徴とするプログ ラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
図面の簡単な説明
[0013] [図 1]本発明の実施の形態に係るマルチプロセッサシステムのハードウェア構成図で ある。
[図 2]バスに接続された複数の処理モジュールを示す構成図である。
[図 3]サブプロセッサの概略の構成を示す図である。
[図 4]本発明の実施の形態に係るマルチプロセッサシステムの機能例を示す機能ブ ロック図である。
[図 5]プロセッサ対応テーブルの一例を示す図である。
[図 6]プロセッサ指定情報によって指定されるサブプロセッサの位置関係の一例を示 す説明図である。
[図 7]プロセッサ指定情報によって指定されるサブプロセッサの位置関係の別の例を 示す説明図である。
[図 8]プロセッサ指定情報によって指定されるサブプロセッサの位置関係の別の例を 示す説明図である。
[図 9]本発明の実施の形態に係るマルチプロセッサシステムによって実行される処理 の一例を示すフロー図である。
発明を実施するための最良の形態
[0014] 以下、本発明の一実施形態について、図面を参照しながら説明する。
[0015] 図 1は、本実施形態に係るマルチプロセッサシステムのハードウェア構成を示す図 である。同図に示すように、マルチプロセッサシステム 10は、 MPU (Micro Processing Unit) 11と、メインメモリ 20と、画像処理部 24と、モニタ 26と、入出力処理部 28と、音 声処理部 30と、スピーカ 32と、光ディスク読み取り部 34と、ノヽードディスク 38と、イン タフエース(I/F) 40, 44と、操作デバイス 42と、カメラユニット 46と、ネットワークイン タフエース 48と、を含んで構成されるコンピュータシステムである。
[0016] 図 2は、 MPU11の構成を示す図である。同図に示すように、 MPU11は、メインプ 口セッサ 12と、サブ、プロセッサ 14a, 14b, 14c, 14d, 14e, 14f, 14g, 14hと、ノ ス 1 6と、バスコントローラ 17と、を含んで構成される。
[0017] なお、マルチプロセッサシステム 10の構成要素のうち、バス 16を介して相互にデー タ通信を行うものを以下では処理モジュールという。すなわち、本実施形態に係るマ ノレチプロセッサシステムは、複数のプロセッサを含む複数の処理モジュールと、当該 各処理モジュール相互のデータ通信を中継するバスと、を含んで構成される。具体 的に本実施形態においては、図 2に示すように、メインプロセッサ 12、サブプロセッサ 14a乃至 14h、メインメモリ 20、画像処理部 24、及び入出力処理部 28の 12個の処 理モジュール力 S、バス 16を介して相互にデータ通信可能に接続されている。 [0018] メインプロセッサ 12は、図示しない ROM (Read Only Memory)に記憶されるォペレ 一ティングシステムや、例えば DVD (Digital Versatile Disk)—ROM等の光ディスク 3 6から読み出されるプログラム及びデータ、通信ネットワークを介して供給されるプロ グラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ 14a乃至 14hに対する制御を行ったりする。
[0019] サブプロセッサ 14a乃至 14hは、メインプロセッサ 12からの指示に従い、例えば DV D— ROM等の光ディスク 36から読み出されるプログラム及びデータ、通信ネットヮー クを介して供給されるプログラム及びデータ等に基づいて、各種の情報処理を行う。
[0020] ここで、各サブプロセッサの構成について、サブプロセッサ 14aを例として説明する 。なお、他のサブプロセッサの構成についても、サブプロセッサ 14aと同様である。図 3は、サブプロセッサ 14aの概略の構成を示す図である。同図に示すように、サブプロ セッサ 14aは、サブプロセッサユニット 15a,ロー力ノレメモリ 15b及びバスインタフエ一 スユニット 15cを含んで構成される。サブプロセッサユニット 15aは、サブプロセッサ 1 4aに割り当てられたプログラムを実行することにより、演算処理等の情報処理を行う。 ローカルメモリ 15bは、サブプロセッサ 14aに割り当てられたプログラムやデータの少 なくとも一部を格納し、サブプロセッサユニット 15aのワークメモリとして動作する。
[0021] また、バスインタフェースユニット 15cは、サブプロセッサユニット 15aからのアクセス 要求等に応じて、他の処理モジュールとの間でデータの送受信を行う。すなわち、バ スインタフェースユニット 15cは、サブプロセッサ 14aと他の処理モジユーノレとの間の データ通信を中継する。具体例として、バスインタフェースユニット 15cは、サブプロ セッサユニット 15aから所与のメモリ空間上のアドレス(論理アドレス)に対するァクセ ス要求(データ書き込み要求又はデータ読み出し要求)があった場合に、予め保持し ているメモリアドレス変換テーブルを用いて要求された論理アドレスを物理アドレスに 変換する。ここで物理アドレスは、メインメモリ 20内のメモリアドレスや各サブプロセッ サのローカルメモリ内のメモリアドレス等、各処理モジュールの物理的なメモリ位置を 示すアドレスである。さらにバスインタフェースユニット 15cは、変換された物理アドレ スによって示される処理モジュールに対してサブプロセッサユニット 15aが出力する データを送信したり、逆に変換された物理アドレスによって示される処理モジュール に対してデータ送信要求を送信して、当該処理モジュールからデータを受信したりす
[0022] また、バスインタフェースユニット 15cは、他の処理モジュールからバス 16を介して口 一カルメモリ 15b内のメモリアドレスを指定したアクセス要求があった場合、当該ァク セス要求に応じてローカルメモリ 15b内にデータを書き込んだり、指定されたローカル メモリ 15b内のデータをアクセス要求元の処理モジュールに送信したりする。これによ り、サブプロセッサ 14aは、バス 16を介して他の処理モジュールとの間でデータの送 受信が可能となる。
[0023] バス 16は、各処理モジュールの要求に応じて、各処理モジュール間で各種のデー タを伝送する。具体的に、本実施形態においては、バス 16は双方向のリング型バス であり、計 4本のデータ伝送路 16a, 16b, 16c及び 16dを含んで構成されている。こ のうち、データ伝送路 16a及び 16bは常に時計回りでデータを伝送し、これとは逆に データ伝送路 16c及び 16dは反時計回りでデータを伝送する。ここで、各処理モジュ ール間の通信に 4本のデータ伝送路のうちのどのデータ伝送路が使用されるかは、 バスコントローラ 17によって決定される。また、バス 16は、接続される処理モジュール と同じ数の接続ポートを含んでおり、各処理モジュールはそれぞれ対応する接続ポ ートの位置でバス 16に接続されている。すなわち、各処理モジュールは、対応する 接続ポートを介してバス 16に対するデータの送信及びバス 16からのデータの受信を 行う。
[0024] バスコントローラ 17は、各処理モジュール間のバス 16を介したデータ通信を制御す る。具体例として、バスコントローラ 17は、各処理モジュールからデータ送信の要求 があると、まず送信元の処理モジュールのバス 16に対する接続位置及び送信先の 処理モジュールのバス 16に対する接続位置に基づいて、時計回りのデータ伝送路と 反時計回りのデータ伝送路のいずれを用いてデータ伝送を行うかを決定する。ここで 、バスコントローラ 17は、送信元の処理モジュールの接続位置と送信先の処理モジュ ールの接続位置との間におけるバス 16に接続される処理モジュールの個数が少なく なる向きにデータが伝送されるように、データ伝送路を決定する。すなわち、例えば サブプロセッサ 14aが送信元の処理モジュールである場合、メインプロセッサ 12、メイ ンメモリ 20、サブプロセッサ 14b、サブプロセッサ 14d、又はサブプロセッサ 14fのい ずれかが送信先の処理モジュールであれば、図 2に示されるように、時計回りのデー タ伝送路の方がデータ伝送の経路上において接続される処理モジュールの数が少 なくなる。そこで、バスコントローラ 17は、データ伝送路 16a又は 16bのいずれかを使 用するよう決定する。逆に、送信元の処理モジュールがサブプロセッサ 14aであり、送 信先の処理モジユーノレが、サブプロセッサ 14c、サブプロセッサ 14e、サブプロセッサ 14g、入出力処理部 28、又は画像処理部 24のいずれかである場合、バスコントロー ラ 17は反時計回りでデータを伝送することとし、デー伝送路 16c又は 16dを使用する データ伝送路として決定する。
[0025] さらにバスコントローラ 17は、同じ方向の 2本のデータ伝送路のいずれを使用する かを、データ送信の要求があった時点における各データ伝送路の使用状況等に応じ て決定する。また、送信元から送信先までのデータ伝送の経路上において接続され る処理モジュールの数が時計回りと反時計回りのいずれも同じである場合 (例えばサ ブプロセッサ 14aからサブプロセッサ 14hへのデータ伝送の場合)、時計回り及び反 時計回りのいずれのデータ伝送路が使用されてもよい。すなわち、バスコントローラ 1 7は 4本全てのデータ伝送路の中から使用状況等において使用するデータ伝送路を 決定する。このバスコントローラ 17の決定に従って、各処理モジュールは、それぞれ いずれかのデータ伝送路を用いて他の処理モジュールとの間でデータ通信を行う。
[0026] メインメモリ 20は、 RAM等のメモリ素子と、当該メモリ素子及びバス 16の間のデー タ通信を中継するメモリコントローラと、を含んで構成される。メインメモリ 20には、光 ディスク 36やハードディスク 38から読み出されたプログラム及びデータや、通信ネット ワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。また、 メインメモリ 20はメインプロセッサ 12やサブプロセッサ 14a乃至 14hの作業用としても 用いられる。
[0027] 画像処理部 24は、 GPU (Graphics Processing Unit)とフレームバッファとを含んで 構成される。 GPUは、メインプロセッサ 12やサブプロセッサ 14a乃至 14hから送信さ れるデータに基づいてフレームバッファに各種画面を描画する。フレームバッファに 形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ 26に出力さ れる。なお、モニタ 26には例えば家庭用テレビ受像機が用いられる。
[0028] 入出力処理部 28には、音声処理部 30、光ディスク読み取り部 34、ハードディスク 3 8、インタフェース 40及び 44、並びにネットワークインタフェース 48が接続される。入 出力処理部 28は、メインプロセッサ 12及びサブプロセッサ 14a乃至 14hと、音声処 理部 30、光ディスク読み取り部 34、ハードディスク 38、インタフェース(I/F) 40及び 44、ネットワークインタフェース 48と、の間のデータ授受を制御する。
[0029] 音声処理部 30は、 SPU (Sound Processing Unit)とサウンドバッファとを含んで構成 される。サウンドバッファには、光ディスク 36やハードディスク 38から読み出されたゲ ーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。 SPUは 、これらの各種音声データを再生してスピーカ 32から出力させる。なお、スピーカ 32 には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
[0030] 光ディスク読み取り部 34は、メインプロセッサ 12及びサブプロセッサ 14a乃至 14h 力もの指示に従って、光ディスク 36に記憶されたプログラムやデータを読み取る。な お、マルチプロセッサシステム 10は、光ディスク 36以外の他のコンピュータ読み取り 可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成されて あよい。
[0031] 光ディスク 36は例えば DVD— ROM等の一般的な光ディスク(コンピュータ読み取 り可能な情報記憶媒体)である。また、ハードディスク 38は一般的なハードディスク装 置である。光ディスク 36やハードディスク 38には各種プログラムやデータがコンビュ ータ読み取り可能に記憶される。
[0032] インタフェース(I/F) 40, 44は、操作デバイス 42やカメラユニット 46等の各種周辺 機器を接続するためのインタフェースである。このようなインタフェースとしては、例え ば USB (Universal Serial Bus)インタフェースが用いられる。また、例えば Bluetooth ( 登録商標)規格などによる無線通信インタフェースが用いられてもよい。
[0033] 操作デバイス 42は汎用操作入力手段であり、ユーザが各種操作 (例えばゲーム操 作)を入力するために用いられる。入出力処理部 28は、所定時間(例えば 1/60秒) ごとに操作デバイス 42の各部の状態をスキャンし、その結果を表す操作信号をメイン プロセッサ 12やサブプロセッサ 14a乃至 14hに供給する。メインプロセッサ 12やサブ プロセッサ 14a乃至 14hは、ユーザによって行われた操作の内容をその操作信号に 基づいて判断する。なお、マルチプロセッサシステム 10は複数の操作デバイス 42を 接続可能に構成されており、各操作デバイス 42から入力される操作信号に基づいて 、メインプロセッサ 12やサブプロセッサ 14a乃至 14hが各種処理を実行するようにな つている。
[0034] カメラユニット 46は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイ スケール又はカラーの撮影画像を所定時間(例えば 1/60秒)ごとに入力する。本実 施の形態におけるカメラユニット 46は、撮影画像を JPEG (Joint Photographic Expert s Group)形式の画像データとして入力するようになっている。また、カメラユニット 46 は、例えばレンズをユーザに向けた状態でモニタ 26の上に設置され、ケーブルを介 してインタフェース 44に接続される。ネットワークインタフェース 48は入出力処理部 2 8と通信ネットワークとに接続されており、マルチプロセッサシステム 10による通信ネッ トワークを介した他の情報装置との間のデータ通信を中継するようになっている。
[0035] 以下では、サブプロセッサ 14a乃至 14hのいずれかが障害を有する場合に、上記 構成を有するマルチプロセッサシステム 10が実現する機能について、説明する。マ ルチプロセッサシステム 10は、機能的に、図 4に示すように、障害プロセッサ特定部 5 0と、通信制限プロセッサ選択部 52と、通信制限部 54と、テーブル生成部 56と、処 理実行制御部 58と、を含んで構成される。これらの機能は、例えば MPU11が図示 しない ROMやメインメモリ 20等に格納されたプログラムを実行することによって実現 できる。このプログラムは、光ディスク 36等のコンピュータ読み取り可能な情報記憶媒 体に格納されて提供されてもょレ、し、インターネット等の通信ネットワークを介して提 供されてもよい。
[0036] 障害プロセッサ特定部 50は、サブプロセッサ 14a乃至 14hのうち、障害を有する少 なくとも一つのサブプロセッサ(以下、障害プロセッサという)を特定する。ここで障害 プロセッサは、 MPU11の製造時に不具合が判明したサブプロセッサであってもよい し、マルチプロセッサシステム 10の使用中に故障等の不具合が発生して正常動作で きなくなったサブプロセッサであってもよい。また、例えば装置の出荷時等において 予めその使用を制限するものとして設定されたサブプロセッサであってもよい。具体 例として、例えば本実施形態に係るマルチプロセッサシステム 10は、図示しない不揮 発性メモリ内に予め障害プロセッサを特定する障害プロセッサ識別情報を保持しても よい。障害プロセッサ特定部 50は、この不揮発性メモリ内に保持された障害プロセッ サ識別情報を読み出すことによって、障害プロセッサを特定する。また、例えば障害 プロセッサ特定部 50は、マルチプロセッサシステム 10の電源が投入された時点など において、所定のハードウェア診断プログラムを実行することによって、障害プロセッ サを特定してもよい。あるいは、障害プロセッサ特定部 50は、このような診断プロダラ ムの実行結果等に応じて前述した不揮発性メモリ内の障害プロセッサ識別情報を更 新し、更新された障害プロセッサ識別情報に基づいて障害プロセッサを特定してもよ い。
[0037] 通信制限プロセッサ選択部 52は、障害プロセッサ特定部 50が特定した障害プロセ ッサに応じて、サブプロセッサ 14a乃至 14hの中から通信制限の対象となるサブプロ セッサ(以下、通信制限プロセッサという)を選択する。具体的に、通信制限プロセッ サ選択部 52は、障害プロセッサのバス 16に対する接続位置に対応する位置におい てバス 16に接続された少なくとも一つのサブプロセッサを、通信制限プロセッサとし て選択する。
[0038] ここで、通信制限プロセッサとして選択されるサブプロセッサの数は、マルチプロセ ッサシステム 10が備えるサブプロセッサの数(8個)と、マルチプロセッサシステム 10 がアプリケーションプログラムの実行の際に使用するサブプロセッサの数と、障害プロ セッサの数と、に応じて決定されてよい。例えばアプリケーションプログラムが使用す るサブプロセッサの数が 6個で、障害プロセッサの数が 1個であれば、マルチプロセッ サシステム 10が備えるサブプロセッサの数からこれらの数を減算して得られる数であ る 1 ( = 8— 6— 1)力 S、通信制限プロセッサとして選択されるサブプロセッサの数にな る。また、通信制限プロセッサの数は、障害プロセッサの数と通信制限プロセッサの 数との和が所定の数になるように決定されてもよい。
[0039] 以下、通信制限プロセッサ選択部 52が、サブプロセッサ 14a乃至 14hの中力も通 信制限プロセッサを選択する選択方法の具体例につ!/、て、説明する。
[0040] 一例として、通信制限プロセッサ選択部 52は、障害プロセッサのバス 16に対する 接続位置と通信制限プロセッサのバス 16に対する接続位置との間における、バス 16 に対して接続される処理モジュールの個数の差が小さくなるように、通信制限プロセ ッサを選択する。すなわち、例えば障害プロセッサ及び通信制限プロセッサがそれぞ れ一つずつの場合、バス 16の経路上において障害プロセッサの接続位置から最も 離れた位置(リングの反対側にあたる位置)に接続されたサブプロセッサ力 通信制 限プロセッサとして選択される。具体的に、図 2の例においては、障害プロセッサがサ ブプロセッサ 14aであればサブプロセッサ 14h力 サブプロセッサ 14bであればサブ プロセッサ 14g力 サブプロセッサ 14cであればサブプロセッサ 14fが、サブプロセッ サ 14dであればサブプロセッサ 14eが、それぞれ通信制限プロセッサとして選択され る。また、これらの障害プロセッサと通信制限プロセッサとの組み合わせは、障害プロ セッサと通信制限プロセッサが逆の場合にも成り立つ。すなわち、例えば障害プロセ ッサがサブプロセッサ 14hであればサブプロセッサ 14aが通信制限プロセッサとして 選択される。
[0041] このように通信制限プロセッサを選択すれば、障害プロセッサのバス 16に対する接 続位置と通信制限プロセッサのバス 16に対する接続位置との間における、バス 16に 接続される処理モジュールの個数は、時計回りの場合も反時計回りの場合も 5個にな り、その差は 0になる。なお、バス 16に接続される処理モジュールの個数が奇数の場 合や、通信制限プロセッサが複数選択される場合等であっても、同様に障害プロセッ サ及び通信制限プロセッサのバス 16に対する接続位置の間におけるバス 16に接続 される処理モジュールの個数の差が小さくなるように通信制限プロセッサを選択する ことによって、障害プロセッサ及び通信制限プロセッサは互いに離れた位置において バス 16に接続することとなる。これにより、バス 16を介したデータ通信を行わない障 害プロセッサ及びデータ通信を制限された通信制限プロセッサのバス 16に対する接 続位置を分散させることができ、これらのサブプロセッサを除!/、た各処理モジュール によるリング型バスを介したデータ通信を均一化させることができる。
[0042] また、通信制限プロセッサ選択部 52は、マルチプロセッサシステム 10に含まれる複 数の処理モジュールのうちの所定の処理モジュール(以下では、注目処理モジユー ルという)のバス 16に対する接続位置に基づいて、通信制限プロセッサを選択しても よい。具体例として、通信制限プロセッサ選択部 52は、バス 16を構成する複数のデ ータ伝送路のうち、障害プロセッサから注目処理モジュールへのデータ通信に用い られるデータ伝送路とは異なるデータ伝送路を用いて注目処理モジュールへのデー タ通信を行うサブプロセッサを、通信制限プロセッサとして選択する。
[0043] 例えば注目処理モジュールは、メインメモリ 20や画像処理部 24など、各サブプロセ ッサとのデータ通信が多!/、と想定される処理モジュールである。ここでは具体例として 、メインメモリ 20が注目処理モジュールである場合について、説明する。前述したよう に、サブプロセッサ 14a, 14c, 14e及び 14gからメインメモリ 20へのデータ通信には 、時計回りのデータ伝送路 16a又は 16bが用いられる。以下では、これら 4個のサブ プロセッサを併せて第 1サブプロセッサ群という。また、サブプロセッサ 14b, 14d, 14 f及び 14hからメインメモリ 20へのデータ通信には、反時計回りのデータ伝送路 16c 又は 16dが用いられる。以下では、これら 4個のサブプロセッサを併せて第 2サブプロ セッサ群という。
[0044] ここで、メインメモリ 20が注目処理モジュールで、かつ障害プロセッサ及び通信制 限プロセッサがそれぞれ一つずつの場合、通信制限プロセッサ選択部 52は、第 1サ ブプロセッサ群の中に障害プロセッサがあれば、第 2サブプロセッサ群から通信制限 プロセッサを選択する。また、第 2サブプロセッサ群の中に障害プロセッサがあれば、 逆に第 1サブプロセッサ群から通信制限プロセッサを選択する。結果として、障害プロ セッサ及び通信制限プロセッサを除いた 6個のサブプロセッサのうち、第 1サブプロセ ッサ群に属するサブプロセッサの数と第 2サブプロセッサ群に属するサブプロセッサ の数とはいずれも 3個で等しくなる。こうすれば、後述するように通信制限プロセッサ によるバス 16を介したデータ通信を制限することによって、注目処理モジュールであ るメインメモリ 20と、障害プロセッサ及び通信制限プロセッサを除レ、た各サブプロセッ サと、の間のデータ通信を複数のデータ伝送路間で分散させることができ、いずれか のデータ伝送路にデータ通信が偏りにくくすることができる。なお、前述した例におけ るバス 16の経路上において障害プロセッサの接続位置から最も離れた位置に接続さ れた通信制限プロセッサは、同時に、障害プロセッサが属するサブプロセッサ群とは 別のサブプロセッサ群に属するサブプロセッサにもなつている。 [0045] また、障害プロセッサ又は通信制限プロセッサが複数となる場合、通信制限プロセ ッサ選択部 52は、これら障害プロセッサと通信制限プロセッサとを除いたサブプロセ ッサのうち、第 1サブプロセッサ群に属するサブプロセッサの数と第 2サブプロセッサ 群に属するサブプロセッサの数との差が小さくなるように、通信制限プロセッサを選択 することとしてあよい。
[0046] なお、以上の説明においては、障害プロセッサが存在する場合に、当該障害プロ セッサのバス 16に対する接続位置に応じて通信制限プロセッサを選択する場合の例 について説明したが、通信制限プロセッサ選択部 52は、障害プロセッサ特定部 50に よって特定される障害プロセッサが存在しない場合にも、通信制限プロセッサを選択 することとしてもよい。この場合の通信制限プロセッサの数は、マルチプロセッサシス テム 10が備えるサブプロセッサの数と、マルチプロセッサシステム 10がアプリケーショ ンプログラムの実行の際に使用するサブプロセッサの数と、に応じて決定されてよレ、 。また、この場合に通信制限プロセッサとして選択されるサブプロセッサは、所定のも のであってよい。具体例として、通信制限プロセッサ選択部 52は、例えば回路配置 上マルチプロセッサシステム 10の使用時に温度が上昇しやすいサブプロセッサ等、 マルチプロセッサシステム 10の使用環境に応じて決定される所定のサブプロセッサ を、通信制限プロセッサとして選択する。
[0047] 通信制限部 54は、通信制限プロセッサ選択部 52が選択した通信制限プロセッサ による、バス 16を介したデータ通信を制限する。具体例として、通信制限部 54は、通 信制限プロセッサによるプログラムの実行を制限することで、通信制限プロセッサによ るデータ通信を制限してもよい。この場合、通信制限プロセッサは、障害プロセッサと 同様に他の処理モジュールとの間のデータ通信を行わないこととなる。また、通信制 限部 54は、通信制限プロセッサにアプリケーションプログラムを実行させつつ、通信 制限プロセッサ内のバスインタフェースユニット 15cによるバス 16との間のデータ通信 の帯域を所定値以下に制限することで、データ通信を制限してもよい。
[0048] あるいは通信制限部 54は、通信制限プロセッサに所定のプログラム(以下では、シ ステムプログラムという)を実行させることによって、通信制限プロセッサによるデータ 通信を制限してもよい。この場合のシステムプログラムは、例えば予めマルチプロセッ サシステム 10内の ROM等に記憶された、他のサブプロセッサによって実行されるァ プリケーシヨンプログラムとは異なる種類のプログラムである。また、このシステムプロ グラムは、当該システムプログラムを実行するサブプロセッサが他の処理モジュール との間で送受信するデータの量が、アプリケーションプログラムの場合と比較して少な V、プログラムである。特にこのシステムプログラムが他のアプリケーションプログラムと 独立したプログラムであれば、当該システムプログラムを実行する通信制限プロセッ サは他のサブプロセッサとの間でデータ通信を行う必要はなくなる。通信制限部 54 は、このようなシステムプログラムを通信制限プロセッサに実行させることによって、通 信制限プロセッサによるデータ通信を制限できる。なお、このシステムプログラムは、 オペレーティングシステムから直接起動され、オペレーティングシステムの制御に基 づいて実行されるプログラムであってよい。こうすれば、アプリケーションプログラムの 場合と比較して、システムプログラムを実行するサブプロセッサが行うデータ通信の 通信量を制御しやすくできる。
[0049] 以上説明したように、障害プロセッサのバス 16に対する接続位置に対応する位置 においてバス 16に接続されたサブプロセッサを通信制限プロセッサとして選択し、当 該通信制限プロセッサのバス 16を介したデータ通信を制限することによって、マルチ プロセッサシステム 10は、バス 16内のデータ伝送による負荷を均一化させ、障害プ 口セッサのバス 16に対する接続位置によるデータ通信効率への影響を生じにくくさ せること力 Sでさる。
[0050] テーブル生成部 56は、プロセッサ対応テーブルを生成する。ここでプロセッサ対応 テーブルは、サブプロセッサ 14a乃至 14hのうちの一部のサブプロセッサと、当該一 部のサブプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、 を関連づけるテーブルである。なお、プロセッサ対応テーブルはマルチプロセッサシ ステム 10内のメインメモリ 20等に予め記憶され、テーブル生成部 56は当該記憶され たプロセッサ対応テーブルを更新することとしてもよい。プロセッサ指定情報は、マル チプロセッサシステム 10内のいずれかのサブプロセッサを指定するための情報であ つて、例えば 0以上の整数による論理プロセッサ番号として表される。この場合におい て、プロセッサ指定情報の数は、アプリケーションプログラムの実行の際に使用される サブプロセッサの数に対応し、マルチプロセッサシステム 10が備えるサブプロセッサ の数(8個)より少ない数である。図 5は、このようなプロセッサ対応テーブルの一例を 示す図である。図 5の例においては、 0から 5までの 6個の論理プロセッサ番号力 そ れぞれいずれかのサブプロセッサに関連づけられており、これによつて各論理プロセ ッサ番号は!/、ずれかのサブプロセッサを指定して!/、る。
[0051] テーブル生成部 56は、このプロセッサ対応テーブルを、障害プロセッサのバス 16 に対する接続位置に応じて、各プロセッサ指定情報が障害プロセッサを除く複数の サブプロセッサのうちのいずれかのサブプロセッサを指定するように生成する。また、 通信制限プロセッサ選択部 52がいずれかのサブプロセッサを通信制限プロセッサと して選択している場合、テーブル生成部 56は、障害プロセッサ及び通信制限プロセ ッサのバス 16に対する接続位置に応じて、各プロセッサ指定情報が障害プロセッサ 及び通信制限プロセッサを除く複数のサブプロセッサのうちのいずれかのサブプロセ ッサを指定するように、プロセッサ対応テーブルを生成してもよい。また、例えば前述 した例のように通信制限プロセッサに所定のシステムプログラムを実行させる場合な どにおいては、複数のプロセッサ指定情報のうち、予め定められた特定のプロセッサ 指定情報が通信制限プロセッサを指定するように、プロセッサ対応テーブルを生成し てもよい。
[0052] 具体例として、テーブル生成部 56は、障害プロセッサを除く各サブプロセッサのバ ス 16に対する接続位置に応じて、障害プロセッサを除く複数のサブプロセッサの中 力 各プロセッサ指定情報が指定するサブプロセッサを決定する。例えば前述した第 1サブプロセッサ群の中に障害プロセッサがある場合、論理プロセッサ番号 0によって 指定されるサブプロセッサをサブプロセッサ 14bとし、以下、各論理プロセッサ番号に よって指定されるサブプロセッサのバス 16に対する接続位置が順に時計回りに並ぶ ように、各論理プロセッサ番号が指定するサブプロセッサを決定する。また、第 2サブ プロセッサ群の中に障害プロセッサがある場合、論理プロセッサ番号 0によって指定 されるサブプロセッサをサブプロセッサ 14aとし、以下、各論理プロセッサ番号によつ て指定されるサブプロセッサのバス 16に対する接続位置が順に反時計回りに並ぶよ うに、各論理プロセッサ番号が指定するサブプロセッサを決定する。 [0053] 図 6及び図 7は、このように決定された各論理プロセッサ番号によって指定されるサ ブプロセッサの位置関係を示す説明図である。これらの図においては、図 2に示す各 処理モジュールのバス 16に対する接続位置の位置関係力 簡略化して示されてい る。なお、図 6及び図 7においては、プロセッサ指定情報は 0から 5までの 6個の論理 プロセッサ番号によって表されることとし、論理プロセッサ番号 nによって指定されるサ ブプロセッサはサブプロセッサ(n)と表記されている。図 6は、サブプロセッサ 14aが 障害プロセッサであり、サブプロセッサ 14hが通信制限プロセッサとして選択されてい る場合の例について示している。また、図 7は、サブプロセッサ 14dが障害プロセッサ であり、サブプロセッサ 14eが通信制限プロセッサとして選択されている場合の例に ついて示している。
[0054] このように、各サブプロセッサの接続位置に応じて各論理プロセッサ番号が指定す るサブプロセッサが決定されることによって、ある論理プロセッサ番号によって指定さ れるサブプロセッサから見た他のサブプロセッサの接続位置は、どのサブプロセッサ が障害プロセッサである場合でも、同様の位置関係にあるようにすることができる。具 体的に、例えば図 6において、サブプロセッサ(0)から他の論理プロセッサ番号によ つて指定されるサブプロセッサにデータが送信される場合、サブプロセッサ(1)及び サブプロセッサ(2)に対するデータ送信には時計回りのデータ伝送路が使用される。 また、サブプロセッサ(5)及びサブプロセッサ(4)に対するデータ送信には反時計回 りのデータ伝送路が使用され、サブプロセッサ(3)に対するデータ送信にはいずれの 向きのデータ伝送路も使用されうる。一方、図 7の場合におけるサブプロセッサ(0)か ら他の論理プロセッサ番号によって指定されるサブプロセッサに対するデータ送信に ついては、サブプロセッサ(1)及びサブプロセッサ(2)に対しては反時計回りのデー タ伝送路が使用され、サブプロセッサ(5)及びサブプロセッサ(4)に対しては時計回 りのデータ伝送路が使用される。そして、サブプロセッサ(3)に対するデータ送信に は図 6の場合と同様にいずれの向きのデータ伝送路も使用されうる。このように、デー タ伝送路の向きが逆になるものの、図 6の場合も図 7の場合も同じ方向のデータ伝送 路によってデータが送信されるサブプロセッサの組み合わせは一致する。こうすれば 、後述するようにアプリケーションプログラムに含まれる所定処理の実行を論理プロセ ッサ番号に応じて各サブプロセッサに割り当てることによって、どのサブプロセッサに 障害があっても、アプリケーションプログラムを実行する各サブプロセッサ間のデータ 伝送の環境に変化が生じないようにすることができる。
[0055] さらに、テーブル生成部 56は、障害プロセッサを除く各サブプロセッサのバス 16に 対する接続位置と、複数の処理モジュールのうちの所定の処理モジュールのバス 16 に対する接続位置と、の位置関係に応じて、障害プロセッサを除く複数のサブプロセ ッサの中から各プロセッサ指定情報が指定するサブプロセッサを決定してもよい。こ の場合における所定の処理モジュールは、前述した通信制限プロセッサ選択部 52 による通信制限プロセッサの選択に用いられる注目処理モジュールと同じ処理モジ ユーノレであってよい。
[0056] この場合の具体例として、例えば注目処理モジュールがメインメモリ 20の場合、テ 一ブル生成部 56は、メインメモリ 20のバス 16に対する接続位置から開始して、各論 理プロセッサ番号によって指定されるサブプロセッサのバス 16に対する接続位置が 順に反時計回りに並ぶように、各論理プロセッサ番号が指定するサブプロセッサを決 定する。図 8は、図 6と同様にサブプロセッサ 14aが障害プロセッサであり、サブプロ セッサ 14hが通信制限プロセッサとして選択されている場合に、このように決定された 各論理プロセッサ番号によって指定されるサブプロセッサの位置関係を示す説明図 である。
[0057] このように、各サブプロセッサの接続位置と注目処理モジュールの接続位置との位 置関係に応じて各論理プロセッサ番号が指定するサブプロセッサを決定することによ つて、注目処理モジュールから各論理プロセッサ番号が指定するサブプロセッサへ のデータ通信の向きは、どのサブプロセサが障害プロセッサである場合でも、変化し ないこととなる。例えば図 8の例においては、メインメモリ 20からサブプロセッサ(0)、 サブプロセッサ(1)及びサブプロセッサ(2)に対するデータ送信には反時計回りのデ ータ伝送路が使用される。また、メインメモリ 20からサブプロセッサ(5)、サブプロセッ サ(4)及びサブプロセッサ(3)に対するデータ送信には時計回りのデータ伝送路が 使用される。そして、これらの対応関係は、どのサブプロセッサに障害がある場合で あっても、変化しない。 [0058] また、各論理プロセッサ番号が指定するサブプロセッサの、注目処理モジュールか らデータを送信する場合のデータ伝送距離の順序も、障害プロセッサの接続位置に 関わらず変化しないこととなる。例えば図 8の例においては、メインメモリ 20から時計 回りのデータ伝送路によってデータが送信される各サブプロセッサのうち、最も近い 位置に接続されているのはサブプロセッサ(0)であり、次いでサブプロセッサ(1)、サ ブプロセッサ(2)の順にバス 16内のデータ伝送距離が長くなる。この順序は、どのサ ブプロセッサに障害がある場合でも、同様である。これにより、障害プロセッサの位置 による、注目処理モジュールとアプリケーションプログラムを実行する各サブプロセッ サとの間のデータ伝送量への影響を少なくすることができる。
[0059] 処理実行制御部 58は、例えば光ディスク 36やハードディスク 38等から読み出され てメインメモリ 20に格納されたアプリケーションプログラムと、テーブル生成部 56によ つて生成されたプロセッサ対応テーブルと、に基づいて、各プロセッサ指定情報が指 定するサブプロセッサのそれぞれに、アプリケーションプログラムの一部の所定処理 を実行させる制御を行う。この場合におけるアプリケーションプログラムは、複数の所 定処理を含んでおり、当該各所定処理がそれぞれプロセッサ指定情報のいずれか に関連づけられていることとする。この複数の所定処理は、互いに異なるサブプロセ ッサに割り当てられ、並行して実行されるプログラムの実行単位である。各プロセッサ 指定情報によって指定されるサブプロセッサのそれぞれは、処理実行制御部 58の制 御に基づいて、当該サブプロセッサを指定するプロセッサ指定情報に関連づけられ た所定処理を実行する。
[0060] 具体例として、処理実行制御部 58は、論理プロセッサ番号に対応して予め定めら れた論理アドレスを、当該論理プロセッサ番号によって指定されるサブプロセッサのメ モリ位置を示す物理アドレスに対応づけるメモリアドレス変換テーブルを生成する。そ して、生成したメモリアドレス変換テーブルを各サブプロセッサ内のバスインタフエ一 スユニット 15cに対して配信する。これにより、各サブプロセッサは、論理プロセッサ番 号を用いて当該論理プロセッサ番号が指定するサブプロセッサにアクセスすることが できる。また、メインメモリ 20は、当該メモリ変換テーブルを用いて、各論理プロセッサ 番号によって指定されるサブプロセッサに対して、それぞれのサブプロセッサに実行 させる所定処理のプログラムデータを送信することができる。
[0061] 以上説明したように、マルチプロセッサシステム 10は、障害プロセッサのバス 16に 対する接続位置に応じて各プロセッサ指定情報が指定するサブプロセッサを決定し 、これらのサブプロセッサが当該サブプロセッサを指定するプロセッサ指定情報に関 連づけられた所定処理を実行する。こうすれば、障害プロセッサの接続位置の違い によって、各所定処理を実行するサブプロセッサの位置関係が大きく変化することを 防ぐこと力 Sできる。これによつて、プログラムの実行環境の変化を生じにくくすることが でき、装置の個体差によるプログラムの処理速度等の違いを少なくすることができる。
[0062] ここで、マルチプロセッサシステム 10が実行する処理の流れの一例について、図 9 のフロー図に基づいて説明する。この図に示される処理は、例えばマルチプロセッサ システム 10の電源投入時などに実行される。
[0063] まず、マルチプロセッサシステム 10は、不揮発性メモリに格納された障害プロセッサ 識別情報を読み出して、障害プロセッサを特定する(Sl)。そして、障害プロセッサが 存在する場合には、障害プロセッサの接続位置に応じて通信制限プロセッサを選択 する(S2)。ここでは、バス 16の経路上において障害プロセッサの接続位置から最も 離れた位置に接続された 1個のサブプロセッサ力 S、通信制限プロセッサとして選択さ れることとする。一方、障害プロセッサが存在しない場合には、マルチプロセッサシス テム 10は、所定のサブプロセッサを通信制限プロセッサとして選択する(S3)。
[0064] 次にマルチプロセッサシステム 10は、 S1で特定された障害プロセッサ及び S2又は S3で選択された通信制限プロセッサに応じて、プロセッサ対応テーブルを生成する( S4)。さらに、 S2又は S3で選択された通信制限プロセッサと、 S4で生成されたプロ セッサ対応テーブルと、に基づいて、メモリアドレス変換テーブルを生成し(S5)、生 成したメモリアドレス変換テーブルを各サブプロセッサのバスインタフェースユニット 1 5cに対して配信する(S6)。なお, S1〜S6に関する処理は、マルチプロセッサシステ ム 10上で走行するオペレーティングシステムによって実行されてもよい。
[0065] この場合において、 S5で生成されるメモリアドレス変換テーブルは、論理プロセッサ 番号に対応する論理アドレスを、当該論理プロセッサ番号によって指定されるサブプ 口セッサを示す物理アドレスに対応づけるとともに、所定のシステムプログラムの読み 出し先として予め定められた論理アドレスを、通信制限プロセッサを示す物理アドレス に対応づけるアドレス変換テーブルである。このメモリアドレス変換テーブルが各サブ プロセッサのバスインタフェースユニット 15cに配信されることによって、通信制限プロ セッサはシステムプログラムを実行し、論理プロセッサ番号によって指定された各サ ブプロセッサは当該論理プロセッサ番号に関連づけられたアプリケーションプロダラ ムの一部の所定処理を実行することができる。
[0066] なお、本発明は上記実施形態に限定されるものではなぐ種々の変形実施が可能 である。例えば、複数のプロセッサがリング型バス以外のバスで接続されている場合 であっても、当該バスが複数のデータ伝送路を含んで構成されていれば、マルチプ 口セッサシステム 10は、それぞれのデータ伝送路を介して注目処理モジュールとデ ータ通信を行うプロセッサの数の差が小さくなるように、通信制限プロセッサを選択す ることとしてもよい。これにより、複数のデータ伝送路間でデータ通信量の偏りをなくし 、データ伝送の効率を向上させることができる。また、本発明の実施の形態に係るマ ルチプロセッサシステムは、同種プロセッサを複数備える各種の情報処理装置であつ てよい。
[0067] また、通信制限プロセッサ選択部 52は、障害プロセッサ特定部 50が特定した障害 プロセッサの数に応じて、通信制限プロセッサとして選択するプロセッサの数を決定 してもよい。例えば通信制限プロセッサ選択部 52は、通信制限プロセッサの数が障 害プロセッサの数と同じになるように、通信制限プロセッサを選択する。この場合にお いて、例えば前述したように注目処理モジュールとのデータ通信に使用するデータ 伝送路によって、各サブプロセッサを複数のサブプロセッサ群に分類した場合、通信 制限プロセッサ選択部 52は、各サブプロセッサ群に含まれる障害プロセッサ及び通 信制限プロセッサを除いたサブプロセッサの数が等しくなるように、通信制限プロセッ サを選択してもよい。また、各障害プロセッサの接続位置に対応して、それぞれの障 害プロセッサとリング型バスの反対側の位置において接続されるサブプロセッサを、 通信制限プロセッサとして選択してもよい。

Claims

請求の範囲
[1] 3以上の所定数のプロセッサを含む複数の処理モジュールと、当該各処理モジユー ル相互のデータ通信を中継するバスと、を備えるマルチプロセッサシステムであって
前記所定数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特 定する障害プロセッサ特定手段と、
前記障害プロセッサの前記バスに対する接続位置に対応する位置において前記 バスに接続された少なくとも一つの前記プロセッサを、通信制限の対象となる通信制 限プロセッサとして選択する通信制限プロセッサ選択手段と、
前記通信制限プロセッサによる、前記バスを介したデータ通信を制限する通信制 限手段と、
を含むことを特徴とするマルチプロセッサシステム。
[2] 請求の範囲第 1項に記載のマルチプロセッサシステムにおいて、
前記バスはリング型バスであり、
前記通信制限プロセッサ選択手段は、前記障害プロセッサの前記バスに対する接 続位置と前記通信制限プロセッサの前記バスに対する接続位置との間における、前 記バスに対して接続される前記処理モジュールの個数の差が小さくなるように、前記 通信制限プロセッサを選択する
ことを特徴とするマルチプロセッサシステム。
[3] 請求の範囲第 1項に記載のマルチプロセッサシステムにおいて、
前記バスは複数のデータ伝送路を含んで構成され、
前記所定数のプロセッサは、それぞれ前記複数のデータ伝送路の!/、ずれかを用い て前記複数の処理モジュールのうちの所定の処理モジュールとの間でデータ通信を 行い、
前記通信制限プロセッサ選択手段は、前記複数のデータ伝送路のうち、前記障害 プロセッサから前記所定の処理モジュールへのデータ通信に用いられるデータ伝送 路とは異なるデータ伝送路を用いて前記所定の処理モジュールへのデータ通信を 行うプロセッサを、前記通信制限プロセッサとして選択する ことを特徴とするマルチプロセッサシステム。
[4] 請求の範囲第 1項に記載のマルチプロセッサシステムにおいて、
前記通信制限手段は、前記通信制限プロセッサによるプログラムの実行を制限す ることにより、前記通信制限プロセッサによるデータ通信を制限する
ことを特徴とするマルチプロセッサシステム。
[5] 請求の範囲第 1項に記載のマルチプロセッサシステムにおいて、
所定のプログラムを記憶する手段をさらに含み、
前記通信制限手段は、前記通信制限プロセッサに前記所定のプログラムを実行さ せることによって、前記通信制限プロセッサによるデータ通信を制限する
ことを特徴とするマルチプロセッサシステム。
[6] 請求の範囲第 1項に記載のマルチプロセッサシステムにおいて、
前記バスはリング型バスであり、
前記所定数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのい ずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを 記憶するテーブル記憶手段と、
前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセ ッサ指定情報が前記障害プロセッサを除く前記所定数のプロセッサのうちのいずれ かのプロセッサを指定するように、前記テーブルを生成するテーブル生成手段と、 を含み、
前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所 定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリ ケーシヨンプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを 指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する ことを特徴とするマルチプロセッサシステム。
[7] 請求の範囲第 6項に記載のマルチプロセッサシステムにおいて、
前記テーブル生成手段は、前記障害プロセッサを除く前記各プロセッサの前記リン グ型バスに対する接続位置に応じて、前記障害プロセッサを除く前記所定数のプロ セッサの中から前記各プロセッサ指定情報が指定するプロセッサを決定する ことを特徴とするマルチプロセッサシステム。
[8] 請求の範囲第 7項に記載のマルチプロセッサシステムにおいて、
前記テーブル生成手段は、前記障害プロセッサを除く前記各プロセッサの前記リン グ型バスに対する接続位置と、前記複数の処理モジュールのうちの所定の処理モジ ユールの前記リング型バスに対する接続位置と、の位置関係に応じて、前記障害プロ セッサを除く前記所定数のプロセッサの中から前記各プロセッサ指定情報が指定す るプロセッサを決定する
ことを特徴とするマルチプロセッサシステム。
[9] 3以上の所定数のプロセッサを含む複数の処理モジュールと、当該各処理モジユー ル相互のデータ通信を中継するバスと、を備えるマルチプロセッサシステムの制御方 法であって、
前記所定数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特 前記障害プロセッサの前記バスに対する接続位置に対応する位置において前記 バスに接続された少なくとも一つの前記プロセッサを、通信制限の対象となる通信制 限プロセッサとして選択するステップと、
前記通信制限プロセッサによる、前記バスを介したデータ通信を制限するステップ と、
を含むことを特徴とするマルチプロセッサシステムの制御方法。
[10] 3以上の所定数のプロセッサを含む複数の処理モジュールと、当該各処理モジユー ル相互のデータ通信を中継するバスと、を備えるマルチプロセッサシステムにより実 行されるプログラムを記憶した情報記憶媒体であって、
前記所定数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特 定する障害プロセッサ特定手段、
前記障害プロセッサの前記バスに対する接続位置に対応する位置において前記 バスに接続された少なくとも一つの前記プロセッサを、通信制限の対象となる通信制 限プロセッサとして選択する通信制限プロセッサ選択手段、及び
前記通信制限プロセッサによる、前記バスを介したデータ通信を制限する通信制 限手段、
として前記マルチプロセッサシステムを機能させるためのプログラムを記憶したコン ピュータ読み取り可能な情報記憶媒体。
[11] 複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互の データ通信を中継するリング型バスと、を備えるマルチプロセッサシステムであって、 前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいず れかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを記 憶するテーブル記憶手段と、
前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定 する障害プロセッサ特定手段と、
前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセ ッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれか のプロセッサを指定するように、前記テーブルを生成するテーブル生成手段と、 を含み、
前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所 定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリ ケーシヨンプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを 指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する
Figure imgf000027_0001
請求の範囲第 11項に記載のマルチプロセッサシステムにおいて、
前記テーブル生成手段は、前記障害プロセッサを除く前記各プロセッサの前記リン グ型バスに対する接続位置に応じて、前記障害プロセッサを除く前記複数のプロセッ サの中から前記各プロセッサ指定情報が指定するプロセッサを決定する
Figure imgf000027_0002
[13] 請求の範囲第 12項に記載のマルチプロセッサシステムにおいて、
前記テーブル生成手段は、前記障害プロセッサを除く前記各プロセッサの前記リン グ型バスに対する接続位置と、前記複数の処理モジュールのうちの所定の処理モジ ユールの前記リング型バスに対する接続位置と、の位置関係に応じて、前記障害プロ セッサを除く前記複数のプロセッサの中から前記各プロセッサ指定情報が指定する プロセッサを決定する
ことを特徴とするマルチプロセッサシステム。
[14] 複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互の データ通信を中継するリング型バスと、を備えるマルチプロセッサシステムの制御方 法であって、
前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定 前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいず れかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、 前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッ サ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかの プロセッサを指定するように生成するステップと、
を含み、
前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所 定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリ ケーシヨンプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを 指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する ことを特徴とするマルチプロセッサシステムの制御方法。
[15] 複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互の データ通信を中継するリング型バスと、を備えるマルチプロセッサシステムにより実行 されるプログラムを記憶した情報記憶媒体であって、
前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定 する障害プロセッサ特定手段、及び
前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいず れかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、 前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッ サ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかの プロセッサを指定するように生成するテーブル生成手段、
として前記マルチプロセッサシステムを機能させ、
前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所 定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリ ケーシヨンプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを 指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する ことを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
PCT/JP2007/068651 2006-11-09 2007-09-26 Système à processeurs multiples, son procédé de commande et support d'enregistrement d'informations WO2008056489A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP07807867.2A EP2085885B1 (en) 2006-11-09 2007-09-26 Multiprocessor system, its control method, and information recording medium
CN2007800401077A CN101529387B (zh) 2006-11-09 2007-09-26 多处理器系统、其控制方法和信息存储介质
US12/444,747 US8266476B2 (en) 2006-11-09 2007-09-26 Multiprocessor system, its control method, and information recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006304555A JP4421592B2 (ja) 2006-11-09 2006-11-09 マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体
JP2006-304559 2006-11-09
JP2006-304555 2006-11-09
JP2006304559A JP4421593B2 (ja) 2006-11-09 2006-11-09 マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体

Publications (1)

Publication Number Publication Date
WO2008056489A1 true WO2008056489A1 (fr) 2008-05-15

Family

ID=39364314

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/068651 WO2008056489A1 (fr) 2006-11-09 2007-09-26 Système à processeurs multiples, son procédé de commande et support d'enregistrement d'informations

Country Status (3)

Country Link
US (1) US8266476B2 (ja)
EP (1) EP2085885B1 (ja)
WO (1) WO2008056489A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5623259B2 (ja) * 2010-12-08 2014-11-12 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
JP2012252490A (ja) * 2011-06-02 2012-12-20 Renesas Electronics Corp マルチプロセッサおよびそれを用いた画像処理システム
JP6001843B2 (ja) * 2011-11-15 2016-10-05 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法およびプログラム
US9304570B2 (en) * 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
US11475723B2 (en) * 2017-12-29 2022-10-18 Robert Bosch Gmbh Determining a fault in an electronic controller

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01224861A (ja) * 1988-03-03 1989-09-07 Nec Corp マルチプロセッサ制御方式
JPH07152697A (ja) * 1993-11-30 1995-06-16 Hitachi Ltd 疎結合計算機システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2606184B1 (fr) * 1986-10-31 1991-11-29 Thomson Csf Dispositif de calcul reconfigurable
JP3243264B2 (ja) * 1991-10-16 2002-01-07 富士通株式会社 マルチプロセッサシステムにおける通信バスの障害制御方式
US6928584B2 (en) * 2000-11-22 2005-08-09 Tellabs Reston, Inc. Segmented protection system and method
US7159137B2 (en) * 2003-08-05 2007-01-02 Newisys, Inc. Synchronized communication between multi-processor clusters of multi-cluster computer systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01224861A (ja) * 1988-03-03 1989-09-07 Nec Corp マルチプロセッサ制御方式
JPH07152697A (ja) * 1993-11-30 1995-06-16 Hitachi Ltd 疎結合計算機システム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MICHAEL KISTLER; MICHAEL PERRONE; FABRIZIO PETRINI: "Cell Multiprocessor Communication Network: Built for Speed", IEEE MICRO, vol. 26, no. 3, May 2006 (2006-05-01), pages 10 - 23, XP009128842, DOI: doi:10.1109/MM.2006.49
PIETER BELLENS; JOSEP M. PEREZ; ROSA M. BADIA; JESUS LABARTA: "CellSs: a Programming Model for the Cell BE Architecture", SUPERCOMPUTING, 2006. SC '06. PROCEEDINGS OF THE ACM/IEEE SC 2006 CONFERENCE, IEEE, PI, 1 November 2006 (2006-11-01), pages 5 - 5, XP031044197
See also references of EP2085885A4 *
SRIKUMAR VENUGOPAL; RAJKUMAR BUYYA; LYLE WINTON: "A Grid Service Broker for Scheduling Distributed Data-Oriented Applications on Global Grids", INET TECHNICAL REPORT GRIDS-TR-2004-1, February 2004 (2004-02-01)

Also Published As

Publication number Publication date
EP2085885A4 (en) 2010-03-24
US8266476B2 (en) 2012-09-11
US20100023665A1 (en) 2010-01-28
EP2085885B1 (en) 2015-07-22
EP2085885A1 (en) 2009-08-05

Similar Documents

Publication Publication Date Title
US7870298B2 (en) Information processing apparatus, information processing system, routing apparatus and communication control method
KR101713009B1 (ko) 스케일가능한 컴퓨트 패브릭
US8661440B2 (en) Method and apparatus for performing related tasks on multi-core processor
WO2008056489A1 (fr) Système à processeurs multiples, son procédé de commande et support d'enregistrement d'informations
JP2017068345A (ja) バスシステム
US9063929B2 (en) Information processing apparatus, information processing method, computer-readable recording medium having stored therein program
JP4421592B2 (ja) マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体
JP4421593B2 (ja) マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体
WO2012132692A1 (ja) 並列処理システム及び並列処理システムの動作方法
JP2007011720A (ja) システムシミュレータ、システムシミュレート方法、制御プログラムおよび可読記録媒体
CN112218140A (zh) 视频同步播放方法、装置、系统和存储介质
JP2003271574A (ja) 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法
JP4809497B2 (ja) 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ
JP4446968B2 (ja) データ処理装置
JP6106986B2 (ja) 演算処理装置、情報処理装置及び割込制御方法
JP2012014637A (ja) 起動処理方法、情報処理装置、起動処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP4584324B2 (ja) データ処理システム、及びコンポーネント管理方法
JP6573046B1 (ja) 情報処理装置、情報処理システムおよび情報処理プログラム
KR100938612B1 (ko) 전송 장치, 전송 장치를 갖는 정보 처리 장치 및 제어 방법
JP6024752B2 (ja) 情報処理装置およびその制御方法
JP3504033B2 (ja) プロセッサ間データ転送方法及び並列計算機
WO2014045500A1 (ja) Lsi及びlsi製造方法
JP2009157731A (ja) 仮想計算機システムおよび仮想計算機システムの制御方法
JP2007241922A (ja) 共有資源利用のための調停方法及びその調停装置
JP2004062401A (ja) 演算プロセッサおよび当該演算プロセッサを用いたカメラ装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780040107.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07807867

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2007807867

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12444747

Country of ref document: US