WO1991017507A1 - Parallel data processing system - Google Patents

Parallel data processing system Download PDF

Info

Publication number
WO1991017507A1
WO1991017507A1 PCT/JP1991/000604 JP9100604W WO9117507A1 WO 1991017507 A1 WO1991017507 A1 WO 1991017507A1 JP 9100604 W JP9100604 W JP 9100604W WO 9117507 A1 WO9117507 A1 WO 9117507A1
Authority
WO
WIPO (PCT)
Prior art keywords
data processing
parallel data
parallel
processing
processing device
Prior art date
Application number
PCT/JP1991/000604
Other languages
English (en)
French (fr)
Inventor
Takashi Kan
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to US07/793,353 priority Critical patent/US5355508A/en
Publication of WO1991017507A1 publication Critical patent/WO1991017507A1/ja
Priority to GB9200168A priority patent/GB2250362B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Definitions

  • the present invention relates to the field of parallel data processing for performing high-speed data processing.
  • FIG. 4 is a basic configuration diagram showing an example of a conventional parallel data processing device.
  • Fig. 4 shows a SIMD (Single Instruction Stream, Multiple Data Streams) type parallel data processing device in which the flow of control is one and there are multiple flows of data to be processed.
  • MIMD Multiple Instruction Streams, Multiple Data Streams ⁇ -type parallel data processor with multiple flows.
  • Fig. 4 1, 2, 3, and 4 are arithmetic units, 5, 6, 7, and 8 are local memories, 9 is a memory bus, 10 is shared memory, and 11 is control of the entire device. It is an overall control unit.
  • reference numerals 21, 22, 23 and 24 denote arithmetic units, reference numerals 25, 26, 27 and 28 denote respective oral memories, and reference numerals 35, 36, 37 and 3 8 is a control unit, 29 is a memory bus, 30 is a shared memory, and 31 is an overall control unit.
  • the same instruction is simultaneously issued from the general control unit 11 where the program is executed to all the arithmetic units 1 to 4, and the data in each of the oral memories 5 to 8 is transmitted. To process.
  • the shared memory 10 is accessed via the memory bus 9 as needed during the processing.
  • each processor The programs are executed by the control units 35 to 38 of the user, and instructions are issued to the arithmetic units 21 to 24, respectively. Then, the data is stored in the local memories 25 to 28. The processing is performed. In addition, the shared memory 30 is accessed via the memory bus 29 as needed during the processing.
  • the overall control unit 31 performs control for synchronization and monitoring of the entire apparatus.
  • each processor operates individually, and each can perform advanced processing.
  • the control is more complicated and is not suitable for large-scale parallel processing.
  • the processing models are (1) a particle system model represented by Monte Carlo simulation, (2) a continuous system model that solves variable differential equations for physical phenomena, and ( 3) A discrete model that solves simultaneous equations for network analysis, etc.
  • the continuous model is a repetition of a large number of regular and local operations, so large-scale parallel processing of the SIMD type is suitable.
  • a discrete model does not require large-scale parallelism but requires complex processing, so medium-scale MIMD-type parallel processing is suitable.
  • the particle model In many cases, simple and complicated processing is required, and it is necessary to use SIMD and MIMD properly depending on conditions and the number of data.
  • pixel-based processing such as density conversion or binarization
  • processing between neighboring pixels such as a spatial filter
  • geometric conversion or fast Fourier transformation (4) Labeling—permeation or tracking-type processing such as boundary detection.
  • SIMD is suitable for pixel-based processing and processing between neighboring pixels because it is a simple and large-scale processing
  • MIMD is suitable for large-scale processing because complex and extensive processing is required.
  • the penetration / tracking type requires the use of SIMD and MIMD depending on the conditions and the number of data.
  • the present invention has been made to solve the above-mentioned problems, and makes use of the advantages of both the SIMD type and the MIMD type, and covers each of the disadvantages, and is almost optimal in any field of a wide range of application fields.
  • the purpose is to make the parallel processing architecture applicable. Disclosure of the invention
  • a parallel data processing system includes a first parallel data processing device having a single control flow and a plurality of data flows to be processed, that is, a SIMD type parallel data processing device, and a control flow.
  • a system that performs processing suitable for each parallel data processing device is provided.
  • the system control section enables the optimal parallel processing method to be applied over a wide range.
  • the SIMD type parallel data processing device processes simple processing and requires large amounts of data. However, in the case of complex processing and small amount of data processing, it is processed by MIMD type parallel data processor.
  • two types of parallel data processing devices of different types are provided with a shared memory and a high-speed multiplex bus.
  • a tightly coupled and complementary use realizes a hybrid parallel data processing system that can perform efficient parallel processing in a wide range of fields.
  • a parallel architecture that incorporates this hybrid concept is the University of Texas's TRAC Iexas Reconfigurable Array Computer (MSC) that uses MSI MD (Multiple SIMD), which is a MIMD extension of the conventional SIMD, and Purdue.
  • MSC MSI MD
  • PASM Partitionable SIHD / HIHD system
  • the present invention has the following features. (1) Two parallel data processing devices of the same scale, SI MD and MI MD, are individually provided and tightly coupled. (2) Rain parallel data processing devices are each equipped with the advantages of SI MD and MI MD. (3) To have a high-speed multiplexed bus and a large-capacity high-speed shared memory for efficient data transfer between rain parallel data processors, (4) Hybrid pipeline processing and parallel processing that could not be realized by parallel processing are possible.
  • FIG. 1 is a system configuration diagram showing a parallel data processing system according to an embodiment of the present invention
  • FIG. 2 is a specific configuration diagram showing an example of a system to which the present invention is applied
  • FIG. FIG. 4 is a diagram showing a flow of parallel processing that can be realized.
  • FIG. 4 is a basic configuration diagram showing an example of a conventional SIMD type parallel data processing device
  • FIG. 5 is a basic configuration diagram showing an example of a conventional MIMD type parallel data processing device.
  • FIG. 1 is a system configuration diagram of an embodiment, in which 50 is a SIMD-type parallel data processor similar to FIG. 4 described above, and 51 is an MIMD-type parallel data similar to FIG. Processing device.
  • 41 is a memory bus shared by the two
  • 42 is a shared memory that is also used in common, and exchanges data between both
  • 43 is an application program that makes each process more suitable for each. This is a system control unit for distributing to the other parallel data processing device.
  • the execution control of the application program is performed by the system control unit 43.
  • the processing for SIMD type that is, the processing which is simple but requires a large amount of data processing
  • the processing for MIMD type ie, Complex processing, which involves a small amount of data processing
  • the user can specify both, or use them implicitly.
  • An implicit example is a library, where a user is a library of a function. If a library is used, the most appropriate parallel data processor is specified when the library is called.
  • each parallel data processing device is composed of four processors, but the SIMD type usually has a very large number of processors, and the MIMD type has a comparatively large number of processors. It is a minority.
  • the ratio of the number of these processors is determined by the performance of each processor and the characteristics of the application program.
  • the parallel data processing devices of the SIMD type and the MIMD type are combined to perform processing suitable for each parallel data processing device. It is advantageous in terms of both performance and cost to expand and use only one of them to apply to a wide range of application fields, and it is possible to perform more suitable parallel processing in a wide range of fields. effective.
  • FIG. 2 shows a specific application example that realizes the present invention.
  • the basic structure is the same as in Fig. 1, but the details of each block are shown in more detail.
  • Shared memory bus, shared memory, system controller, SIMD type parallel data processor, MIMD type 1 shows a parallel data processing device.
  • the shared memory bus 41 is composed of two buses 96 and 97 and respective bus connection sections 94 and 95.
  • Such a multiplexed bus is used to avoid contention for access to the shared memory 42 from the two parallel data processing devices 50 and 51, and to input and output data from the system control unit 43. This is because the operations are performed simultaneously. In normal mode, all signals connected to the bus can use the free bus, or one of the parallel data processors occupies both buses simultaneously, and the input and output Can also be used for each.
  • bus connecting portions 94 and 95 are connected by bus connecting portions 94 and 95.
  • These bus connectors 94 and 95 have the function of separating and connecting the buses 96 and 97 to the SIMD parallel data processor 50 and the MIMD parallel data processor 51, respectively.
  • This switching mechanism is realized by a selector, which is connected as it is when connected, and connected to the bus terminating resistors on both sides of the bus connection parts 94, 95 when disconnected, and the two parallel data processors 50, 51 Can be used as independent buses.
  • the connection and disconnection of the bus connection units 94 and 95 are controlled by a signal from the system control unit 43.
  • the shared memory 42 is generally divided into a plurality of segments, but FIG. 2 shows an example of four segments.
  • Each of the segments 98, 99, 100, and 101 has a capacity of 16 megabytes, and is individually connected to the shared memory bus 41.
  • shared memory 42 specify the segment number and the address within the segment.
  • a normal user program uses a logical segment number, and correspondence with a physical segment number is performed by the system control unit 43.
  • each of the segments has a function of independently calculating an address, and by avoiding use of a bus for extra address information, the two parallel data processing devices 50 and 51 are provided with a shared memory. Data transfer can be performed at a high speed of 42, and the effect of the present invention can be further improved (Japanese Patent Application No.
  • the system control unit 43 includes a data processing unit 90, a memory unit 91, a bus connection unit 92, a disk device 93, and an internal bus 106.
  • the user program is processed by the data processing unit 90, and the program is stored in the memory unit 91.
  • the data to be processed is stored in the disk device 93, and is transferred to the shared memory 42 via the shared memory bus connection section 92, and the parallel data processing device 50, 5 Processed by 1.
  • the processed data is stored in the disk device 93 via the bus connection unit 92.
  • the SMD-type parallel data processor 50 is composed of an overall control unit 11, an output control unit 102, an input control unit 103, and 496 operation elements 108.
  • One operation element 108 is composed of an 8-bit operation unit 1 and a 16-Kbit oral memory 5, and these are connected between four adjacent operation elements in a grid pattern.
  • Each arithmetic unit consists of an 8-bit adder / subtracter, a plurality of control flags, and a 128-bit register file (US Patent No. 4,858,110).
  • the overall control of the S I MD type parallel data processor 50 is performed by the overall controller 11, from which the same instruction is sent to all the arithmetic elements 108 simultaneously.
  • the data to be processed is sent from the shared memory 42 to each operation element 108 via the input control unit 103 according to a command from the general control unit 11.
  • the processed data is returned to the shared memory 42 via the output control unit 102. It is also possible to overlap the data input / output and the operation, so that the processing can be speeded up in a pipeline manner in data block units, and the present invention can be made more effective.
  • Japanese Patent Application No. 59-29485 Japanese Patent Publication No. 1-26108.
  • the MIMD type parallel data processing device 51 is composed of an overall control unit 31, input / output control units 104, 105, eight operation elements 109, and a bus 107 connecting these.
  • Each arithmetic element 109 is a 32-bit function. It has an arithmetic unit 21, a 1 MB oral memory 25, and a control unit 35, each of which can execute a different instruction sequence individually.
  • the overall control of the MIMD-type parallel data processing device 51 is performed by the overall control unit 31, from which an instruction sequence to be executed is sent to each operation element 109 to be controlled.
  • the data to be processed is sent from the shared memory 42 to each operation element 109 via the input / output control unit 104 or 105 in accordance with a command from the overall control unit 31.
  • the processed data is returned to the shared memory 42 via one of the input / output control units 104 and 105.
  • FIG. Fig. 3 describes the flow of each parallel processing in time with the example of the system configuration shown in Fig. 2.
  • two parallel data processing units 50 and 51 use two parallel data processing units.
  • Reference numeral 60 denotes a flow of many minute SIMD-type parallel processings created by the four arithmetic elements 108 of the SIMD-type parallel data processor 50, 66, 68, 72. Indicates the part where the operation is performed by the SIMD type parallel data processor 50.
  • 6 1 shows the flow of high-performance and highly flexible MIMD-type parallel processing created by the eight arithmetic elements 109 of MIMD-type parallel data processor 51, and 65, 70, and 73 represent MIMD-type parallel processing.
  • the portion where the operation is performed by the data processing device 51 is shown.
  • 62 indicates data in the shared memory, and 63, 64, 67, 69, 71, 74, and 75 indicate data to be accessed, respectively.
  • Reference numerals 110, 111, and 112 denote the flow of hybrid processing by the SIMD parallel data processor 50 and the MIMD parallel data processor 51, respectively.
  • the individual parallel processing 60 and 61 have been used in the past, and either of these parallel processing has been used. However, according to the present invention, these parallel processing is further combined with a unique hybrid parallel processing. A new flow of parallel processing can be created. That is, in this embodiment, in the conventional method, The following three types of parallel processing that could not be realized can be used.
  • One or more programs executed by the system control unit 43 use the SIMD parallel data processor 50 and the MIMD parallel data processor 51 independently and simultaneously, and Different data 64, 63 can be processed.
  • Such hybrid parallel processing is denoted by 110. This feature allows a single system to use different types of parallel processing simultaneously in the same procedure. In the conventional method, different systems had to be used to use different types of parallel processing techniques, and the procedures were different.
  • Hybrid parallel processing in which two parallel data processing units 50 and 51 are processed in a pipelined manner in units of a continuous series of data sets (for example, images) is shown in 11-1.
  • the SIMD parallel data processor 50 first performs the processing 68, and the result is sent to the MIMD parallel data processor 51 via the shared memory (data 69).
  • the system control unit 43 performs synchronization control and data set control. Data transfer between the two parallel data processing devices 50 and 51 is performed through the shared memory 42.
  • the shared memory buses 96 and 97 and the shared memory 4 2 Each of the segments 98, 99, 100, 101 is used independently by each parallel data processing device 50, 51.
  • the target processing can be finely divided into functional levels, and a parallel data processing device suitable for each function can be used to perform a lean pipeline processing for each data set.
  • Hybrid parallel processing in which two parallel data processing devices 50, 5] are operated independently and in parallel is shown in 112.
  • the data 71 of the shared memory is used, and the SIMD type parallel data processor 50 performs the processing 72, and at the same time, the MIMD type parallel data processor 51
  • Different parallel processing 73 is performed using the same data 71.
  • different programs may operate individually on each of the parallel data processing devices 50 and 51, or parallel processing using different parallel algorithms for the same data set in the same program.
  • parallel processing methods differing in algorithm, convergence, precision, parallelism, etc. can be applied to the same data at the same time. Can be used to improve performance.
  • Such processing cannot be realized by the conventional method and is unique to the hybrid method.
  • a parallel processing library for use by a user and system control software for controlling hybrid processing using two parallel data processing devices 50 and 51 and a shared memory 42 are provided. is there.
  • the parallel processing library is provided so that the user can easily use the two parallel data processing devices 50 and 51.
  • the parallel processing library is prepared and registered for the appropriate parallel data processing device. ing.
  • some processes are the same, but are prepared separately with different algorithms for each parallel data processing device.
  • the user normally uses two parallel data processing devices 50 and 51 using these libraries by subroutine calls from a user program running on the system control unit 43.
  • the system control unit 43 recognizes which parallel data processing device to use when the library is specified, and activates the appropriate parallel data processing device, but it can also be specified in advance. .
  • the user can directly write the execution library of any parallel data processing device.
  • the user program is automatically A compiler that selects the appropriate parallel data processing device and replaces it with a parallel library is also effective.
  • the system control software includes: (i) parallel and pipeline control of two parallel data processors 50 and 51; and (ii) each of the control software for realizing the hybrid parallel processing of the present invention. Overlapping control of data transfer between the parallel data processing devices 50 and 51 and the shared memory 42; (iii) a function that allows the user to access the parallel data processing device that is more suitable for processing without being aware of the ( iv) A function to monitor the spatial and temporal parallel processing operations of the entire system.
  • system control software performs various managements and performs simultaneous execution and exclusive control of each component.
  • the present invention In order to efficiently execute the two types of processing in parallel at high efficiency in this manner, the present invention generally employs a SIMD parallel data processor 50 for neighborhood processing and a MIMD parallel data processor for global processing.
  • 5 1 is mainly responsible for efficient parallel processing over a wide range.
  • the present invention is further divided and hybrid parallel processing is applied. By doing so, it is possible to perform maximum parallel processing in a wider field.
  • the effect of the present invention in terms of performance will be specifically described.
  • the SIMD type parallel data processing device 50 in the evaluation of the operation level, in general, the SIMD type parallel data processing device 50 often adopts a configuration suitable for integer operation or processing of data having a short bit length. Therefore, ultra-high-speed performance can be demonstrated by massive parallel processing.
  • the MIMD type parallel data processor 51 is difficult to realize large-scale parallel processing due to the limitation of the arithmetic unit, but is suitable for floating-point arithmetic and complicated processing.
  • SIMD parallel data processor 50 can provide higher performance for processing integer data with a generally short bit length, and MIMD parallel data processor 51 for real data processing with a long bit length. Higher performance can be obtained. Therefore, by optimally assigning the two, the highest performance can be obtained by parallel processing corresponding to the processing.
  • the relative performance ratio of the SIMD type data processing device 50 and the MIMD type parallel data processing device 51 for five typical image processings is shown.
  • 1: 5 for affinity conversion 1: 4 for histogram creation
  • 2: 1 for density value conversion 3: 1 for fast Fourier transform, and uniform weighting.
  • the ratio is 6: 1, and higher performance is about 2 to 6 times higher than lower performance.
  • the SIMD-type parallel data processor 50 and the MIMD-type parallel data processor 51 used in this performance evaluation had almost the same amount of hardware. It can be seen that it is more efficient to adopt the hybrid parallel processing architecture as in the present invention than to use only the texture.
  • the applicable range of the parallel processing can be greatly expanded both temporally and spatially as compared with a single architecture, and it can be applied to various types of image processing.

Description

明 細 書
並列データ処理システム
技術分野
この発明は、 高速データ処理を行なうための並列データ処理分野 に関するものである。 背景技術
第 4図と第 5図は、 例えば文献 "Highly Parallel Computing " (G.S.Almasi, A . Gottlieb 著, The Ben ja mi n/Cu minings Publising Company, Inc. ,1989) PPlll-112,pp301-476に示される従来の並列デ ータ処理装置の例を示す基本構成図である。 第 4図は、 制御の流れ がーつで, 処理されるデータの流れが複数である S I M D (Single Instruction Stream, Multiple Data Streams) 型の並列データ処理 装置、 第 5図は、 制御の流れもデータの流れも複数である M I MD (Multiple Instruction Streams, Multiple Data Streams^型の並列 データ処理装置を示す。
第 4図中、 1, 2, 3及び 4は演算器、 5, 6 , 7及び 8は各々 の口一カルメモリ、 9はメモリバス、 1 0は共有メモリ、 1 1 は装 置全体の制御を行う全体制御部である。 また、 第 5図中、 2 1, 2 2, 2 3及ぴ 24は演算器、 2 5 , 2 6, 2 7及び 2 8は各々の 口一カルメモリ、 3 5, 3 6, 3 7及び 3 8は各々の制御部、 2 9 はメモリバス、 3 0は共有メモリ、 3 1は全体制御部である。
次に動作について説明する。
第 4図の S I MD型並列データ処理装置では、 プログラムが実行 される全体制御部 1 1 から全ての演算器 1〜4へ同一命令が同時に 発せられ、 各々の口一カルメモリ 5〜 8のデータ を処理する。 ま た、 処理の途中で必要に応じて、 メモリバス 9 を介して共有メモリ 1 0にアクセスする。
一方、 第 5図の M I M D型並列データ処理装置では、 各プロセッ ザの制御部 3 5〜 3 8で各々プログラムが実行され、 各々の演算器 2 1〜24に対して命令が発せられ、 次にこれにより、 各々のロー カルメモリ 2 5〜 2 8のデータに対して処理が行われる。 また、 処 理の途中で必要に応じて、 メモリバス 29 を介して共有メモリ 30 にアクセスする。 全体制御部 3 1は装置全体の同期や監視のための 制御を行う。
このような従来の S I MD型と M I M D型の並列データ処理装置 には、 それぞれに長所と短所があった。 すなわち、 S I MD型並列 データ処理装置の場合は制御の流れが-一本であるため、 制御が単純 で, 大規模な並列処理を行うことが容易であり、 非常に高い高速性 が得られやすい。 しかし、 その反面, 処理に柔軟性が少なく、 複雑 な処理には適さない。
一方、 M I MD型並列データ処理装置の場合は各プロセッサが個 々に動作するため、 各々が高度な処理を行える。 しかし、 その分だ け制御は複雑になリ、 大規模な並列処理には適さない。
このように、 S I MD型と M I MD型では並列処理の内容がかな リ異なるため、 各々に適した応用分野がある。 そのため、 どちらか 一方の方式で広い応用分野をカバ一することは非常に困難となる。
以下では、 並列データ処理の適用分野として特に重要な数値計算 と画像処理の分野を例にとり具体的に説明する。
まず、 数値計算の分野においてその処理モデルは、 ( 1 ) モンテ カルロシミュレーショ ンに代表される粒子系モデル、 ( 2 ) 物理現 象を対象とした変微分方程式の解法を行なう連続系モデル、 ( 3 ) ネッ トワークの解析などを対象とした連立方程式の解法を行なう離 散系モデル、 に大きく分類できる。 これらのうち、 連続系モデルは 大量の規則的かつ局所的演算の繰り返しであるため、 S I MD型の 大規模な並列処理が適している。 一方、 離散系モデルでは大規模な 並列性は必要ないが複維な処理が要求されるため、 中規模の M I M D型の並列処理が適している。 さらに、 粒子系モデルの場合は大規 模かつ複雑な処理が要求される場合が多く、 条件やデータ数によ リ、 S I M Dと M I M Dの使い分けが必要である。
次に、 画像処理の場合は、 ( 1 ) 濃度値変換や 2値化のような 画素単位の処理、 ( 2 ) 空間フィルタの様な近傍画素間の処理、 ( 3 ) 幾何変換や高速フーリエ変換の様な大局的な処理、 (4 ) ラ ベリングゃ境界線検出の様な浸透または追跡型の処理、 に大きく分 類される。 これらのうち、 画素単位処理や近傍画素間処理には単純 で大規模な処理であるため S I M Dが適しており、 大局処理では複 雑で広範な処理が必要なため M I M D型が適している。 浸透/追跡 型は条件やデータ数により、 S I M Dと M I M Dの使い分けが必要 である。
このように、 数値計算と画像処理の例をみても、 ある特定の分野 でさえ様々なタイプの処理があリ、 一つの並列処理アーキテクチャ だけで最適な並列処理を施すことは困難である。
この発明は上記のような問題点を解消するためになされたもの で、 S I M D型と M I M D型の両者の長所を生かし、 かつ各々の欠 点をカバーし、 広い応用分野のどの分野でも最適に近い並列処理 アーキテクチャ を適用可能とすることを目的と している。 発明の開示
この発明に係る並列データ処理システムは、 制御の流れが一つ で, 処理されるデータの流れが複数である第 1の並列データ処理装 置, すなわち S I M D型の並列データ処理装置と、 制御の流れも データの流れも複数である第 2の並列データ処理装置, すなわち M I M D型の並列データ処理装置とを共有のバスとメモリで接続する とともに、 各々の並列データ処理装置に適した処理を行わせるシス テム制御部を備えることにより、 広い範囲で最適な並列処理方式を 適用できるようにしたものであり、 対象となる処理が単純で大量の データ処理が必要なものを S I M D型並列データ処理装置で処理 し、 複雑な処理で少量のデータ処理の場合は M I MD型並列データ 処理装置で処理する。 また、 一つのプログラムをモジュールに分 け、 モジュール毎に割り振ることも可能で、 これにより各々の適し た処理を並列に, もしくはパイプライン的に行うことができる。 こ れらのデータの受け渡しは共有メモリを介して行われる。 すなわ ち、 どちらか一方の型の並列データ処理装置を拡充するよりは、 こ のように両者の型を結合し、 補完し合った方が機能的にもコスト的 にも有効である。
また、 本発明では、 上記のような数値計算や画像処理の分野での 問題を解決するため、 S I MD型と M I MD型の異なる二つのタイ プの並列データ処理装置を共有メモリ と高速多重バスによリ密結合 し、 相補的に使用することによ り、 広い分野で効率的な並列処理を 施すことができるハイプリ ッ ド型並列データ処理システムを実現す る。
このようなハイブリッ ドの考えを取り入れた並列アーキテクチャ と して、 従来の S I M Dを M I M D的に機能拡張した M S I MD (Multiple SIMD)を採用した University of Texas の T RA C Iexas Reconf igurable Array Computer) や Purdue University の P A S M (Partitionable SIHD/HIHD system)などがあった。 し力、 し、 これらのアプローチと比べ本発明では、 次にような特徴があ る。 ( 1 ) 同等規模の S I MDと M I MDの二つの並列データ処理 装置を個別に持ち対等に密結合したこと、 ( 2 ) 雨並列データ処理 装置が各々 S I MDと M I MDの長所を生かしつつ従来の欠点を補 う機能拡張を行なっていること、 ( 3 ) 雨並列データ処理装置間の データ転送を効率的に行なうため高速多重バスと大容量高速共有メ モリを持つこと、 (4 ) 従来の並列処理では実現できなかったハイ ブリ ジ ドなパイプライン処理や並列処理が可能である。
このようなハイブリツ ド型並列データ処理システムを、 画像処理 のような大規模でかつ複維な処理に適用することによリ、 従来のシ ステムでは有効時間内での処理が困難た'つた処理を実用時間内で高 速に処理することができる。 図面の簡単な説明
第 1図は本発明の一実施例による並列データ処理システムを示す システム構成図、 第 2図は本発明を適用したシステム例を示す具体 的構成図、 第 3図は本発明の実施によ リ実現できる並列処理の流れ を示す図である。 第 4図は従来の S I M D型並列データ処理装置の 例を示す基本構成図、 第 5図は従来の M I M D型並列データ処理装 置の例を示す基本構成図である。 発明を実施するための最良の形態
以下、 この発明の一実施例を図について説明する。
第 1図は実施例のシステム構成図であり、 図において、 5 0は前 記第 4図と同様の S I M D型の並列データ処理装置、 5 1は前記第 5図と同様の M I M D型の並列データ処理装置である。 また、 4 1 はこの両者で共有するメモリバス、 4 2は同じく共通に利用し、 両 者のデータの受け渡しを行う共有メモリ、 4 3は応用プログラムの 中で、 各処理を各々によリ適した方の並列データ処理装置へ振り分 けるためのシステム制御部である。
次に動作について説明する。
第 1図のシステムにおいて、 応用プログラムの実行制御はシステ ム制御部 4 3で行われる。 プログラムの中で、 S I M D型向きの処 理, すなわち処理は単鈍であるが大量のデータ処理を必要とするも のは S I M D型並列データ処理装置 5 0 へ、 また、 M I M D型向き の処理, すなわち複雑な処理で少量のデータ処理のものは M I M D 型並列データ処理装置 5 1へ振り分けられる。 この場合、 ユーザか らは両者を明示することもできるし、 暗示的に使用することもでき る。 暗示的な例はライブラリであり、 ユーザがある機能のライブラ リを使用した場合には、 そのライブラリをコールした時点で最適な 方の並列データ処理装置が指示される。
一つのプログラム内で S I MD型並列データ処理装置 5 0と M l MD型並列データ処理装置 5 1 を両方使用する大きなレベルでの並 列処理やパイプライン処理も可能である。 この時には、 システム制 御部 4 3の制御で行われるが、 データの受け渡しはメモリバス 4 1 を介し共有メモリ 4 2により行われる。 このため、 メモリバス 4 1 は高速なものが要求される。
なお、 上記実施例では、 各々の並列データ処理装置が 4台のプロ セッサから成る例を示したが、 通常、 S I M D型の場合は非常に多 数のプロセッサを持ち、 M I MD型の方は比較的少数である。 これ らのプロセッサ台数の比率は、 各々のプロセッサの性能や応用プロ グラムの性格によつて決定されるものである。
また、 前述の雨並列データ処理装置を使った大きなレベルでの並 列動作やパイプライン処理を行う場合、 バス 4 1 を一時的に分雛し たり、 バスを 2本以上持たせることも有効となる。
以上のように、 この発明によれば、 S I M D型と M I M D型の並 列データ処理装置を結合し、 各並列データ処理装置に適した処理を 行わせるようにしたので、 S I MD型か M I MD型のどちらか一方 だけを拡充して使用し広い応用分野に適用するよリも、 性能とコス 卜の両面で有利となり、 輻広い分野でよリ適した並列処理を行うこ とができるようになる効果がある。
次に、 本発明を実現した具体的な適用例を第 2図に示す。 基本構 成は第 1図と同様であるが、 個々のブロックの中身をさらに細かに 示している。
第 2図中、 4 1 , 4 2 , 4 3, 5 0, 5 1のブロックはそれぞれ 第 1 図と同様、 共有メモ リバス, 共有メモリ, システム制御部, S I MD型並列データ処理装置, M I M D型並列データ処理装置を 示す。 共有メモリバス 4 1は、 2本のバス 9 6 , 9 7 と各々のバス接続 部 9 4, 9 5で構成される。 このような多重バスと したのは、 二つ の並列データ処理装置 5 0 , 5 1 からの共有メモリ 4 2へのァクセ ス競合を避けるためと、 システム制御部 4 3からのデータの入出力 と演算を同時に行なうためである。 通常のモードでは、 バスに接続 されている全ての信号は、 どちらか空いている方のバスを使用でき るほか、 どちらかの並列データ処理装置が同時に両方のバスを占有 して、 入力と出力にそれぞれ使用することもできる。 また、 これら の二つのバス 9 6, 9 7はバス接続部 9 4, 9 5で接続される。 こ のバス接続部 9 4, 9 5はバス 9 6, 9 7を S I M D型並列データ 処理装置 5 0側と M I M D型並列データ処理装置 5 1側に分離した り、 接続したりする機能を持つ。 この切り替え機構は、 セレクタに より実現され、 接続時はそのままつながり、 切り離し時はバス接続 部 9 4, 9 5の両側にあるバス終端抵抗へ接続され、 二つの並列 データ処理装置 5 0 , 5 1のそれぞれ独立したバスと して使用でき る。 このバス接続部 9 4, 9 5は、 システム制御部 4 3からの信号 により接続と切リ離しの制御が行なわれる。
共有メモ リ 4 2は、 一般に複数のセグメン トに分割されるが第 2図では 4つのセグメン トの例を示す。 各々のセグメント 9 8, 9 9 , 1 0 0, 1 0 1は 1 6メガバイ 卜の容量を持ち、 個別に共有 メモリバス 4 1 に接続されている。 共有メモリ 4 2を使用する場合 はセグメント番号とセグメント内アドレスを指定する。 通常のユー ザプログラムは, 論理セグメン ト番号を使用し、 物理セグメン ト番 号との対応はシステム制御部 4 3によリ行なわれる。 また、 各セグ メン トそれぞれが独自にアドレス計算を行なう機能を持ち、 余分な アドレス情報がバスを使用することを避けることによ り、 二つの並 列データ処理装置 5 0, 5 1は共有メモリ 4 2と高速なデータ転送 を行なうことができ、 本発明の効果をさらに向上することができる (特願昭 61- 288740 号) 。 システム制御部 4 3は、 データ処理部 9 0, メモリ部 9 1 , バス 接続部 9 2, ディスク装置 9 3, 内部バス 1 0 6から構成される。 通常、 ユーザプログラムはデータ処理部 9 0で処理され、 プログラ ムはメモリ部 9 1に格鈉されている。 処理されるデータはディスク 装置 9 3に格鈉されておリ、 共有メモリバス接続部 9 2を経由して 共有メモリ 4 2に転送され、 いずれか又は面方の並列データ処理装 置 5 0 , 5 1により処理される。 また、 処理されたデータはバス接 続部 9 2を経由してディスク装置 9 3に格納される。
S I MD型並列データ処理装置 5 0は、 全体制御部 1 1, 出力制 御部 1 0 2, 入力制御部 1 0 3, 4 0 9 6個の演算要素 1 0 8から 構成される。 一つの演算要素 1 0 8は 8ビッ ト演算器 1 と 1 6 K ビッ 卜の口一カルメモリ 5から構成され、 これらが格子状に 4近傍 演算要素間で接続されてる。 各演算器は 8ビッ トの加減算器のほか 複数の制御フラグ, 1 2 8ビッ 卜のレジスタファイルなどから構成 される (US Patent No.4, 858, 110) 。 S I MD型並列データ処理装 置 5 0全体の制御は全体制御部 1 1 によって行なわれ、 ここから同 一の命令が全ての演算要素 1 0 8に同時に送られる。 処理される データは、 全体制御部 1 1の指令により、 共有メモリ 4 2から入力 制御部 1 0 3を経由して各演算要素 1 0 8に送られる。 また、 処理 されたデータは出力制御部 1 0 2を経由して共有メモリ 4 2に返さ れる。 データの入出力と演算をオーバ一ラップさせることも可能 で、 それによりデータのブロック単位にパイプライン的に処理を高 速化することができ、 本発明をさ らに効果的にすることができる (特願昭 59-29485号, 特公平 1-26108 号公報) 。 これらの機能によ リ、 S I MD型の並列処理を実現し、 大規模なデータを同時に並列 処理することができる。
M I MD型並列データ処理装置 5 1は、 全体制御部 3 1, 入出力 制御部 1 04 , 1 0 5, 8つの演算要素 1 0 9及びこれらを接続す るバス 1 0 7から構成される。 各演算要素 1 0 9は、 3 2ビッ ト演 算器 2 1, 1 MBの口一カルメモリ 2 5, 制御部 3 5を持ち、 それ ぞれ個別に異なる命令列を実行することができる。 M I M D型並列 データ処理装置 5 1全体の制御は全体制御部 3 1 によって行なわ れ、 ここから各演算要素 1 0 9に実行される命令列が送られ、 制御 される。 また、 処理されるデータは全体制御部 3 1の指令により、 共有メモリ 4 2から入出力制御部 1 04, 1 0 5のいずれかを経由 して各演算要素 1 0 9に送られる。 また、 処理されたデータは入出 力制御部 1 04, 1 0 5のいずれかを経由して共有メモリ 4 2に返 される。
次に、 本発明の実施によリ実現できる 4つの並列処理について第 3図を用いて説明する。 第 3図は、 第 2図で示したシステム構成例 によ り、 各並列処理の流れを時間に沿って記述したもので、 基本 的に二つの並列データ処理装置 5 0, 5 1による二つの並列処理 の流れが存在する。 6 0は S I M D型並列データ処理装置 5 0の 4 0 9 6個の演算要素 1 0 8が作リ出す多数の微細な S I MD型並 列処理の流れを示し、 6 6 , 6 8 , 7 2は S I MD型並列デ一タ処 理装置 5 0により演算が行なわれている部分を示す。 6 1は M I M D型並列データ処理装置 5 1の 8つの演算要素 1 0 9が作り出す高 機能で融通性が高い M I MD型並列処理の流れを示し、 6 5 , 7 0, 7 3は M I M D型並列データ処理装置 5 1により演算が行なわれて いる部分を示す。 6 2は共有メモリ内のデータを示し、 6 3 , 64, 6 7, 6 9, 7 1, 74 , 7 5がそれぞれアクセスされるデータを 示す。 1 1 0 , 1 1 1 , 1 1 2はそれぞれ S I MD型並列デ一タ処 理装置 5 0と M I M D型並列データ処理装置 5 1によるハイブリツ ド処理の流れを示す。
個々の並列処理 6 0, 6 1は従来からあり、 これまでこのどちら かの並列処理を使用していたが、 本発明の実施によ り、 さらにこれ らを組み合わせたハイブリ ッ ド並列処理特有の新たな並列処理の流 れを生み出すことができる。 即ち、 本実施例では、 従来の方式では 実現できなかった次の 3種類の並列処理を使用できる。
( 1 ) システム制御部 4 3で実行される一つ又は複数のプログラ ムによ り、 S I M D型並列データ処理装置 5 0と M I M D型並列 データ処理装置 5 1 をそれぞれ独立に同時に使用し、 共有メモリ内 の異なるデータ 64, 6 3に対して処理を施すことができる。 この ようなハイブリツ ド並列処理を 1 1 0で示す。 この機能によリ、 一 つのシステムにおいて、 同一の手続きで異なるタイプの並列処理を 同時に使用できる。 従来の方式では、 異なるタイプの並列処理手法 を利用するためには異なるシステムを使用しなくてはならず、 手続 きも異なっていた。
( 2 ) 連続する一連のデータセッ 卜 (例えば画像) 単位に二つの 並列データ処理装置 5 0, 5 1 をパイプライン的に処理させるハイ プリッ ド並列処理を 1 1 1に示す。 共有メモリのデータ 6 7を使用 し、 まず S I MD型並列データ処理装置 5 0が処理 6 8を施し、 そ の結果を共有メモリ (データ 6 9 ) 経由で M I M D型並列データ処 理装置 5 1 に渡し、 継続して異なる並列処理 7 0を施す。 この処理 を行なうためには、 システム制御部 4 3が同期制御やデータセッ 卜 の制御を行なう。 二つの並列データ処理装置 5 0 , 5 1間のデータ の受け渡しは共有メモリ 4 2を通して行なわれ、 このオーバ一へッ ドを最小に抑えるため、 共有メモ リバス 9 6, 9 7と共有メモリ 4 2の各セグメン ト 9 8, 9 9, 1 0 0, 1 0 1は各々の並列デ一 タ処理装置 5 0, 5 1に独立に使用される。 これらの結果、 対象の 処理を機能レベルに細かに分割し、 各機能によリ適した並列データ 処理装置を用い、 データセッ 卜単位で無駄のないパイプライン処理 を行なうことができる。
( 3 ) 二つの並列データ処理装置 5 0 , 5 ] を個別に独立に平行 動作させるハイプリッ ド並列処理を 1 1 2に示す。 この場合は共有 メモリのデータ 7 1 を使用し、 S I M D型並列データ処理装置 5 0 が処理 7 2を施し、 同時に M I MD型並列データ処理装置 5 1が同 じデータ 7 1 を使用して異なる並列処理 7 3を施す。 この場合、 異 なるプログラムが各々の並列データ処理装置 5 0 , 5 1で個別に動 作することもあれば、 同一プログラム内で同一データセッ トに対し て異なる並列アルゴリズムを用いて並列処理を行なうこともある。 このような並列処理は、 アルゴリズム, 収束性, 精度, 並列度など が異なる並列処理方式を同時に同一データに施せるため、 両者の結 果を比較して信頼性を上げたり、 早く結果が出た方を使用して性能 を上げたりすることができる。 この様な処理は従来の方式では実現 できずハイブリツ ド手法特有のものである。
以上のように、 本発明の実施により、 ハイブリッ ド型並列処理特 有の新しい並列処理を実現することができ、 空間的にも時間的にも 従来方式以上に並列処理の適用範囲を広めることができる。
次に、 本発明を実施するためのソフ トウェア構成例を示す。 本発 明では、 ュ一ザが使用するための並列処理ライブラリと、 二つの並 列データ処理装置 5 0 , 5 1や共有メモリ 4 2を使いハイブリッ ド 処理を制御するためのシステム制御ソフ トウェァがある。
まず、 並列処理ライブラリは、 ユーザに二つの並列データ処理装 置 5 0, 5 1 を容易に使用できるように提供されるもので、 通常、 適した方の並列データ処理装置用に用意され登録されている。 ま た、 同一の処理でありながら、 それぞれの並列データ処理装置用に 異なるアルゴリズムで別々に用意されているものもある。 ュ一ザは 通常、 システム制御部 4 3の上で動作するュ一ザプログラムからサ ブル一チンコールによリ、 これらのライブラリを使って二つの並列 データ処理装置 5 0, 5 1 を使用する。 いずれの並列データ処理装 置を使用するかは、 ライブラ リ を指定した時点でシステム制御部 4 3が認識して、 適した方の並列データ処理装置に起動をかけるが、 予め明示することもできる。 このほか、 ユーザが直接いずれかの並 列データ処理装置の実行ライブラリを記述することもできる。 また、 かなり制約はあるものの、 ュ一ザプログラムを、 自動的にいずれか 適した方の並列データ処理装置を選んで並列ライブラリに置き換え るコンパイラも有効である。
一方、 システム制御ソフ トウェアは、 本発明のハイブリッ ド並列 処理を実現するための制御ソフ トウヱァでは、 (i ) 二つの並列 データ処理装置 5 0 , 5 1の並列及びパイプライン制御、 (ii ) 各 並列データ処理装置 5 0 , 5 1 と共有メモリ 4 2とのデータ転送の オーバ一ラップ制御、 (iii ) 処理に適した方の並列データ処理装 置をユーザが意識せずにアクセスできる機能、 (iv) システム全体 の空間的, 時間的並列処理動作をモニタ リングする機能、 を有して いる。
これらの機能を実現するため、 システム制御ソフ トウエアでは、 様々な管理を行ない各構成要素の同時実行や排他制御を行なう。 即ち、 (i ) 二つの並列データ処理装置 5 0, 5 1の資源管理、
( ii) 共有メモリ 4 2の複数のセグメン 卜のデータ管理、 (iii ) 並列処理ライブラリの管理、 (iv) 並列処理ライブラリの実行制御、
( v ) 共有メモリ 4 2のデータ入出力管理、 を行なう。
次に、 本発明の画像処理への適用例について述べる。 前述のよう に画像処理には様々な処理があリ、 その処理形態の分類方法にもい くつかのものがあるが、 並列処理の観点から大別すると、 ( 1 ) 近 傍処理:画素間または近傍画素間で比較的単鈍な演算を一様に施す 処理と、 ( 2 ) 大局処理: 画像全体に対して比較的複維な演算を施 す処理、 に分かれる。
このように性貧の異なる 2種類の処理をいずれも効率よく高速に 並列実行するために、 本発明では概ね、 近傍処理を S I M D型並列 データ処理装置 5 0、 大局処理を M I M D型並列データ処理装置 5 1 が主に分担し、 広い範囲で効率的な並列処理を可能とする。 こ のように、 両方の並列データ処理装置を使い分けることによ り、 空 間的にも時間的にも広い範囲でより適した並列処理を施すことがで きる。 また、 各処理をさらに分割してハイブリッ ド並列処理を適用 することにより、 さらに広い分野で最大限の並列処理を行なうこと が可能となる。 以下では具体的に本発明による性能面での効果につ いて述べる。
本発明の効果を画像処理を例に、 演算レベル, 機能レベル, 応用 プログラムレベルの各々について述べる。
まず、 演算レベルの評価では、 一般に、 S I M D型並列デ一タ処 理装置 5 0は、 整数演算や短いビッ ト長のデータの処理に適した構 成をとることが多く、 これらの処理に対しては、 大規模な並列処理 によ り超高速性能を発揮することができる。 一方、 M I M D型並列 データ処理装置 5 1は演算器の制限から大規模な並列処理の実現は 難しいが、 浮動小数点演算や複雑な処理には適している。
画像処理では、 処理に応じて、 数ビッ ト整数データから 3 2ビッ ト実数データまで様々なデータを扱うが、 処理内容やデータに応じ た演算器構成を選択することによリ、 そのプロセッサの最高性能を 引き出すこ と ができる。 概ね短いビッ ト長の整数データ処理には S I M D型並列データ処理装置 5 0の方が高い性能を出すことがで き、 長いビッ ト長の実数データ処理には M I M D型並列データ処理 装置 5 1の方が高い性能を出せる。 従って、 この二つを最適に割り 当てることにより、 処理に対応した並列処理によリ最高性能を引き 出すことができる。
次に、 機能レベルの性能の例として、 代表的な 5つの画像処理に 対する S I M D型データ処理装置 5 0と M I M D型並列データ処理 装置 5 1 の相対性能比を示す。 図 2 に示した構成のシステムの場 合、 それぞれ、 ァフィ ン変換では 1 : 5、 ヒス トグラム作成では 1 : 4、 濃度値変換では 2 : 1 、 高速フーリエ変換では 3 : 1 、 一様重み付きフィルタでは 6 : 1であり、 性能が高い方が低い方に 比べ約 2倍から 6倍高い。 この性能評価で使用した S I M D型並列 データ処理装置 5 0と M I M D型並列データ処理装置 5 1はほぼ同 等のハードウェア量であり、 このことから、 単一の並列処理ァーキ テクチヤだけを使用するよ りも、 本発明のようにハイブリツ ドの並 列処理アーキテクチャを採る方が効率的であることがわかる。
最後に、 応用プログラムレベルの性能評価として、 人工衛星搭載 光学系センサ一からのデータに対する一連の実用レベルの画像処理 に対して、 本発明の評価を行なった。 その結果、 単一の並列データ 処理装置だけを使用した場合に比べ、 2 . 6倍から 2 . 8倍の性能 を得ることができ、 本発明の有効性が実証できた。 産業上の利用可能性
本発明によるハイブリツ ド型並列処理アーキテクチャの採用によ リ、 単一アーキテクチャに比べ時間的にも空間的にも並列処理の適 用可能範囲を大幅に広げることができ、 様々なタイブの画像処理に 対して各々の処理に適した並列処理を動的に適用することが可能と なった。 これにより、 大規模で複锥な画像データの処理のように、 従来のコンピュ一タでは有効な時間内での処理が困難だつた処理を 実用時間内で高速に処理することができる。

Claims

請 求 の 範 囲 . 制御の流れが一つで, 処理されるデータの流れが複数である第 1の並列データ処理装置と、 制御の流れもデータの流れも複数で ある第 2の並列データ処理装置とを共有のバスとメモリで接続す るとともに、 各々の並列データ処理装置に適した処理を行わせる システム制御部を備えたことを特徴とする並列データ処理システ ム。
. 共有バスは、 各々の並列データ処理装置が独立して使用可能な 高速多重バスからなり、 共有メモリは、 複数のセグメントに分割 され各々個別に多重バスに接続される大容量高速共有メモリから なり、 システム制御部は, ユーザプログラムが処理されるデータ 処理部と、 プログラムが格納されるメモリ部と、 処理されるデー タが格納されるディスク部と、 多重バスと接続するためのバス接 続部と、 これらを接続する内部バスとを有し、 各々の並列データ 処理装置には、 多重バスとの間でデータの入出力を行なう入出力 制御部を有し、 各々の並列データ処理装置を上記共有メモリ と高 速多重バスによ リ密結合したことを特徴とする請求の範囲第 1項 記載の並列データ処理システム。
. 各々の並列データ処理装置をそれぞれ独立に同時に使用し、 共 有メモリ内の異なるデータに対して処理を施すハイブリッ ド並列 処理を行なうことを特徴とする請求の範囲第 1項又は第 2項記載 の並列データ処理システム。
. 連続する一連のデータセッ 卜単位に各々の並列データ処理装置 をパイプライン的に処理させるハイプリッ ド並列処理を行なうこ とを特徴とする請求の範囲第 1項又は第 2項記載の並列データ処 理システム
. 各々の並列データ処理装置を個別に独立に平行動作させ、 共有 メモリ内の同じデータに対して異なる並列処理を施すハイブリ ツ ド並列処理を行なう ことを特徴とする請求の範囲第 1項又は第 2 項記載の並列データ処理システム。
. 画像処理において、 画素間または近傍画素間で比較的単鈍な演 算を一様に施す近傍処理を第 1の並列データ処理装置に、 画像全 体に対して比較的複雑な演算を施す大局処理を第 2の並列データ 処理装置に主に分担させることを特徴とする請求の範囲第 1項又 は第 2項記載の並列データ処理システム。
PCT/JP1991/000604 1990-05-07 1991-05-07 Parallel data processing system WO1991017507A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US07/793,353 US5355508A (en) 1990-05-07 1991-05-07 Parallel data processing system combining a SIMD unit with a MIMD unit and sharing a common bus, memory, and system controller
GB9200168A GB2250362B (en) 1990-05-07 1992-01-06 Parallel data processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11726290 1990-05-07
JP2/117262 1990-05-07

Publications (1)

Publication Number Publication Date
WO1991017507A1 true WO1991017507A1 (en) 1991-11-14

Family

ID=14707411

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1991/000604 WO1991017507A1 (en) 1990-05-07 1991-05-07 Parallel data processing system

Country Status (3)

Country Link
US (1) US5355508A (ja)
GB (1) GB2250362B (ja)
WO (1) WO1991017507A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008126196A1 (ja) * 2007-03-19 2010-07-22 富士通株式会社 シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828894A (en) 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5809292A (en) 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5588152A (en) 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5734921A (en) 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5815723A (en) 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5713037A (en) 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
US5765015A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
EP0485690B1 (en) 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
US5630162A (en) 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5966528A (en) 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5765011A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5963746A (en) 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5617577A (en) 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5590345A (en) 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5625836A (en) 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5794059A (en) 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5963745A (en) 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5765012A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
DE69231452T2 (de) * 1991-01-25 2001-05-03 Hitachi Ltd Fehlertolerantes Rechnersystem mit Verarbeitungseinheiten die je mindestens drei Rechnereinheiten haben
US5594918A (en) 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
JPH04336378A (ja) * 1991-05-14 1992-11-24 Nec Corp 情報処理装置
JP2642039B2 (ja) 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5872988A (en) * 1992-06-17 1999-02-16 U.S. Philips Corporation Parallel data processing device having a concatenated data path between elementary processors
JP2551312B2 (ja) * 1992-12-28 1996-11-06 日本電気株式会社 ジョブステップ並列実行方式
US5420786A (en) * 1993-04-05 1995-05-30 Ims America, Ltd. Method of estimating product distribution
JP3199205B2 (ja) * 1993-11-19 2001-08-13 株式会社日立製作所 並列演算装置
IL110573A (en) * 1994-08-04 1998-10-30 Orad Hi Tec Systems Ltd Video transmission device and method
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5903771A (en) * 1996-01-16 1999-05-11 Alacron, Inc. Scalable multi-processor architecture for SIMD and MIMD operations
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6272616B1 (en) 1998-06-17 2001-08-07 Agere Systems Guardian Corp. Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths
JP2003505753A (ja) 1999-06-10 2003-02-12 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング セル構造におけるシーケンス分割方法
JP3922859B2 (ja) * 1999-12-28 2007-05-30 株式会社リコー 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US20030005264A1 (en) * 1999-12-29 2003-01-02 Wolfram Drescher Device and method for control of the data stream
US6643763B1 (en) 2000-02-28 2003-11-04 International Business Machines Corporation Register pipe for multi-processing engine environment
US6766437B1 (en) 2000-02-28 2004-07-20 International Business Machines Corporation Composite uniprocessor
US7200138B2 (en) 2000-03-01 2007-04-03 Realtek Semiconductor Corporation Physical medium dependent sub-system with shared resources for multiport xDSL system
DE50115584D1 (de) 2000-06-13 2010-09-16 Krass Maren Pipeline ct-protokolle und -kommunikation
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US20030023653A1 (en) * 2001-01-29 2003-01-30 Andrew Dunlop System, method and article of manufacture for a single-cycle floating point library
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) * 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
DE10261500B4 (de) * 2001-12-21 2005-07-21 Micronas Gmbh Prozessor und Verfahren zum Steuern eines Prozessors
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
AU2003214003A1 (en) 2002-02-18 2003-09-09 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7020770B2 (en) * 2002-07-12 2006-03-28 Lsi Logic Corporation Method and apparatus for configuration of RAID controllers
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
EP1537486A1 (de) 2002-09-06 2005-06-08 PACT XPP Technologies AG Rekonfigurierbare sequenzerstruktur
TWI259406B (en) * 2003-08-15 2006-08-01 Via Tech Inc A method and an apparatus of flash cards access
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
EP1676208A2 (en) 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
EP1725947A4 (en) * 2004-03-13 2008-08-06 Cluster Resources Inc SYSTEM AND METHOD FOR ADVANCED RESERVATIONS IN A CALCULATION ENVIRONMENT
EP2339469A1 (en) 2004-03-13 2011-06-29 Adaptive Computing Enterprises, Inc. System and method for a self-optimizing reservation in time of compute resources
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7890629B2 (en) 2004-03-13 2011-02-15 Adaptive Computing Enterprises, Inc. System and method of providing reservation masks within a compute environment
EP1735706A4 (en) * 2004-03-13 2008-08-13 Cluster Resources Inc SYSTEM AND METHOD FOR CO-ASSIGNING RESERVATION ENGLOBING DIFFERENT TYPES OF CALCULATION RESOURCES
US7215808B2 (en) * 2004-05-04 2007-05-08 Kla-Tencor Technologies Corporation High throughout image for processing inspection images
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7814462B2 (en) * 2004-10-29 2010-10-12 Massachusetts Institute Of Technology Methods and apparatus for parallel execution of a process
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7996455B2 (en) 2005-06-17 2011-08-09 Adaptive Computing Enterprises, Inc. System and method for providing dynamic roll-back reservations in time
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9075657B2 (en) 2005-04-07 2015-07-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
DE102005048525A1 (de) * 2005-10-07 2007-04-12 Micronas Gmbh Schaltungsarchitektur für eine integrierte Schaltung
US7861060B1 (en) 2005-12-15 2010-12-28 Nvidia Corporation Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior
EP1974265A1 (de) 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardwaredefinitionsverfahren
US8176265B2 (en) 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US7680988B1 (en) 2006-10-30 2010-03-16 Nvidia Corporation Single interconnect providing read and write access to a memory shared by concurrent threads
DE602007014413D1 (de) 2007-03-06 2011-06-16 Nec Corp Datentransfernetzwerk und steuervorrichtung für ein system mit einem array von verarbeitungselementen, die jeweils entweder selbst- oder gemeinsam gesteuert sind
US7870366B2 (en) * 2007-09-22 2011-01-11 Hirak Mitra Chained operation of functional components with DONE and GO registers storing memory address for writing and reading linking signal value
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
ATE535870T1 (de) 2008-03-03 2011-12-15 Nec Corp Steuervorrichtung für schnellen datenaustausch zwischen verarbeitungseinheiten in einer prozessorarchitektur mit verarbeitungseinheiten verschiedener bandbreitenverbindung mit einem pipeline-ring-bus
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9804995B2 (en) * 2011-01-14 2017-10-31 Qualcomm Incorporated Computational resource pipelining in general purpose graphics processing unit
US9201828B2 (en) * 2012-10-23 2015-12-01 Analog Devices, Inc. Memory interconnect network architecture for vector processor
US9092429B2 (en) 2012-10-23 2015-07-28 Analog Devices Global DMA vector buffer
US9342306B2 (en) 2012-10-23 2016-05-17 Analog Devices Global Predicate counter
US10996959B2 (en) * 2015-01-08 2021-05-04 Technion Research And Development Foundation Ltd. Hybrid processor
US10606797B2 (en) 2018-07-05 2020-03-31 Mythic, Inc. Systems and methods for implementing an intelligence processing computing architecture

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5916071A (ja) * 1982-07-19 1984-01-27 Toshiba Corp 並列処理システム
JPS5917657A (ja) * 1982-04-26 1984-01-28 ビツシユ・マシ−ノ−エレクトロテクニチエスキ−・インステイチユ−ツ「あ」レ−ニン“ 多重マイクロプロセツサシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63142445A (ja) * 1986-12-05 1988-06-14 Agency Of Ind Science & Technol メモリ装置
JPS63192153A (ja) * 1987-02-05 1988-08-09 Agency Of Ind Science & Technol 並列デ−タ処理装置
JPS6426108A (en) * 1987-07-22 1989-01-27 Matsushita Electric Works Ltd Thickness measuring method
US5239654A (en) * 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5917657A (ja) * 1982-04-26 1984-01-28 ビツシユ・マシ−ノ−エレクトロテクニチエスキ−・インステイチユ−ツ「あ」レ−ニン“ 多重マイクロプロセツサシステム
JPS5916071A (ja) * 1982-07-19 1984-01-27 Toshiba Corp 並列処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008126196A1 (ja) * 2007-03-19 2010-07-22 富士通株式会社 シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法

Also Published As

Publication number Publication date
GB9200168D0 (en) 1992-02-26
US5355508A (en) 1994-10-11
GB2250362A (en) 1992-06-03
GB2250362B (en) 1994-06-29

Similar Documents

Publication Publication Date Title
WO1991017507A1 (en) Parallel data processing system
US5581778A (en) Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
EP0085520B1 (en) An array processor architecture utilizing modular elemental processors
US3787673A (en) Pipelined high speed arithmetic unit
US5430885A (en) Multi-processor system and co-processor used for the same
CN1272705C (zh) 包括纯量算术逻辑单元的单指令多数据处理机
KR20000062253A (ko) 비디오 프레임 렌더링 엔진
CN109685201B (zh) 运算方法、装置及相关产品
JPH0764853A (ja) Simdマルチプロセッサ用の可変正確度間接的アドレス方法およびそれを行う装置
KR20010031192A (ko) 기계시각시스템에서의 영상데이터와 같은 논리적으로인접한 데이터샘플들을 위한 데이터처리시스템
US6298162B1 (en) Image compression/expansion using parallel decomposition/recomposition
EP0112885A1 (en) CONNECTION LEVEL USED IN A MODULAR DATA FIELD PROCESSOR.
Lee et al. Entropy thresholding and its parallel algorithm on the reconfigurable array of processors with wider bus networks
CN105955896A (zh) 一种可重构dbf算法硬件加速器及控制方法
US20210216312A1 (en) Semiconductor device
Siegel et al. PASM: A reconfigurable parallel system for image processing
Adams III et al. David Lee Tuomenoksaf
JPS58149556A (ja) 並列処理装置
CN112099850A (zh) 一种多核Hourglass网络加速方法
Raja et al. An SIMD multiple DSP microprocessor system for image processing
Siegel The PASM system and parallel image processing
CN113254070B (zh) 加速单元、片上系统、服务器、数据中心和相关方法
Siegel et al. Parallel memory system for a partitionable SIMD/MIMD machine
Ligon et al. Evaluating multigauge architectures for computer vision
JP2522406B2 (ja) 全結合型ネットワ―ク並列処理方法と装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): GB JP US