In terms of commercial products, the two common approaches to providin dịch - In terms of commercial products, the two common approaches to providin Việt làm thế nào để nói

In terms of commercial products, th

In terms of commercial products, the two common approaches to providing a
multiple-processor system to support applications are SMPs and clusters. For some
years, another approach, known as nonuniform memory access (NUMA), has been
the subject of research and commercial NUMA products are now available.
Before proceeding, we should define some terms often found in the NUMA
literature.
• Uniform memory access (UMA):All processors have access to all parts of
main memory using loads and stores. The memory access time of a processor
to all regions of memory is the same. The access times experienced by different
processors are the same. The SMP organization discussed in Sections 17.2 and
17.3 is UMA.
• Nonuniform memory access (NUMA):All processors have access to all parts
of main memory using loads and stores. The memory access time of a proces-sor differs depending on which region of main memory is accessed. The last
statement is true for all processors; however, for different processors, which
memory regions are slower and which are faster differ.
• Cache-coherent NUMA (CC-NUMA):A NUMA system in which cache co-herence is maintained among the caches of the various processors.
A NUMA system without cache coherence is more or less equivalent to a cluster.
The commercial products that have received much attention recently are CC-NUMA
systems, which are quite distinct from both SMPs and clusters. Usually, but unfortu-nately not always, such systems are in fact referred to in the commercial literature as
CC-NUMA systems. This section is concerned only with CC-NUMA systems.
Motivation
With an SMP system, there is a practical limit to the number of processors that can
be used. An effective cache scheme reduces the bus traffic between any one proces-sor and main memory. As the number of processors increases, this bus traffic also in-creases. Also, the bus is used to exchange cache-coherence signals, further adding to
the burden. At some point, the bus becomes a performance bottleneck. Perfor-mance degradation seems to limit the number of processors in an SMP configuration
17.6 / NONUNIFORM MEMORY ACCESS 661
to somewhere between 16 and 64 processors. For example, Silicon Graphics’ Power
Challenge SMP is limited to 64 R10000 processors in a single system; beyond this
number performance degrades substantially.
The processor limit in an SMP is one of the driving motivations behind the de-velopment of cluster systems. However, with a cluster, each node has its own private
main memory; applications do not see a large global memory. In effect, coherency is
maintained in software rather than hardware. This memory granularity affects perfor-mance and, to achieve maximum performance, software must be tailored to this envi-ronment. One approach to achieving large-scale multiprocessing while retaining the
flavor of SMP is NUMA. For example, the Silicon Graphics Origin NUMA system is
designed to support up to 1024 MIPS R10000 processors [WHIT97] and the Sequent
NUMA-Q system is designed to support up to 252 Pentium II processors [LOVE96].
The objective with NUMA is to maintain a transparent system wide memory
while permitting multiple multiprocessor nodes, each with its own bus or other
internal interconnect system.
Organization
Figure 17.13 depicts a typical CC-NUMA organization. There are multiple indepen-dent nodes, each of which is, in effect, an SMP organization. Thus, each node con-tains multiple processors, each with its own L1 and L2 caches, plus main memory.
The node is the basic building block of the overall CC-NUMA organization. For
example, each Silicon Graphics Origin node includes two MIPS R10000 processors;
each Sequent NUMA-Q node includes four Pentium II processors. The nodes are
interconnected by means of some communications facility, which could be a switch-ing mechanism, a ring, or some other networking facility.
Each node in the CC-NUMA system includes some main memory. From the
point of view of the processors, however, there is only a single addressable memory,
with each location having a unique system wide address. When a processor initiates
a memory access, if the requested memory location is not in that processor’s cache,
then the L2 cache initiates a fetch operation. If the desired line is in the local portion
of the main memory, the line is fetched across the local bus. If the desired line is in a
remote portion of the main memory, then an automatic request is sent out to fetch
that line across the interconnection network, deliver it to the local bus, and then
deliver it to the requesting cache on that bus. All of this activity is automatic and
transparent to the processor and its cache.
In this configuration, cache coherence is a central concern. Although imple-mentations differ as to details, in general terms we can say that each node must
maintain some sort of directory that gives it an indication of the location of various
portions of memory and also cache status information. To see how this scheme
works, we give an example taken from [PFIS98]. Suppose that processor 3 on node
2 (P2-3) requests a memory location 798, which is in the memory of node 1. The fol-lowing sequence occurs:
1. P2-3 issues a read request on the snoopy bus of node 2 for location 798.
2. The directory on node 2 sees the request and recognizes that the location is in
node 1.
662 CHAPTER 17 / PARALLEL PROCESSING
3. Node 2’s directory sends a request to node 1, which is picked up by node 1’s
directory.
4. Node 1’s directory, acting as a surrogate of P2-3, requests the contents of 798,
as if it were a processor.
5. Node 1’s main memory responds by putting the requested data on the bus.
6. Node 1’s directory picks up the data from the bus.
7. The value is transferred back to node 2’s directory.
8. Node 2’s directory places the data back on node 2’s bus, acting as a surrogate
for the memory that originally held it.
9. The value is picked up and placed in P2-3’s cache and delivered to P2-3.
L1 Cache
Processor
1-1
Main
Memory 1
Processor
1-m
L1 Cache
L2 Cache L2 Cache Directory
I/O
I/O
L1 Cache
Processor
N-1
Main
memory N
Processor
N-m
L1 Cache
L2 Cache L2 Cache
Directory
L1 Cache
Processor
2-1
Main
Memory 2
Processor
2-m
L1 Cache
L2 Cache L2 Cache Directory
I/O
Interconnect
Network
Figure 17.13 CC-NUMA Organization
17.6 / NONUNIFORM MEMORY ACCESS 663
The preceding sequence explains how data are read from a remote memory
using hardware mechanisms that make the transaction transparent to the processor.
On top of these mechanisms, some form of cache coherence protocol is needed. Var-ious systems differ on exactly how this is done. We make only a few general remarks
here. First, as part of the preceding sequence, node 1’s directory keeps a record that
some remote cache has a copy of the line containing location 798. Then, there needs
to be a cooperative protocol to take care of modifications. For example, if a modifi-cation is done in a cache, this fact can be broadcast to other nodes. Each node’s di-rectory that receives such a broadcast can then determine if any local cache has that
line and, if so, cause it to be purged. If the actual memory location is at the node re-ceiving the broadcast notification, then that node’s directory needs to maintain an
entry indicating that that line of memory is invalid and remains so until a write back
occurs. If another processor (local or remote) requests the invalid line, then the local
directory must force a write back to update memory before providing the data.
NUMA Pros and Cons
The main advantage of a CC-NUMA system is that it can deliver effective perfor-mance at higher levels of parallelism than SMP, without requiring major software
changes. With multiple NUMA nodes, the bus traffic on any individual node is lim-ited to a demand that the bus can handle. However, if many of the memory accesses
are to remote nodes, performance begins to break down. There is reason to believe
that this performance breakdown can be avoided. First, the use of L1 and L2 caches
is designed to minimize all memory accesses, including remote ones. If much of the
software has good temporal locality, then remote memory accesses should not be
excessive. Second, if the software has good spatial locality, and if virtual memory is
in use, then the data needed for an application will reside on a limited number of
frequently used pages that can be initially loaded into the memory local to the run-ning application. The Sequent designers report that such spatial locality does appear
in representative applications [LOVE96]. Finally, the virtual memory scheme can be
enhanced by including in the operating system a page migration mechanism that
will move a virtual memory page to a node that is frequently using it; the Silicon
Graphics designers report success with this approach [WHIT97].
Even if the performance breakdown due to remote access is addressed, there
are two other disadvantages for the CC-NUMA approach. Two in particular are dis-cussed in detail in [PFIS98]. First, a CC-NUMA does not transparently look like an
SMP; software changes will be required to move an operating system and applica-tions from an SMP to a CC-NUMA system. These include page allocation, already
mentioned, process allocation, and load balancing by the operating system. A
second concern is that of availability. This is a rather complex issue and depends
on the exact implementation of the CC-NUMA system; the interested reader is
referred to [PFIS98].
Vector Processor Simulator
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Trong điều kiện của sản phẩm thương mại, hai phương pháp phổ biến để cung cấp mộtbộ vi xử lý nhiều hệ thống để hỗ trợ ứng dụng là mini và cụm. Đối với một sốnăm, một cách tiếp cận, được gọi là nonuniform bộ nhớ truy cập (NUMA), đãđối tượng của nghiên cứu và sản phẩm NUMA thương mại đang có sẵn.Trước khi tiếp tục, chúng ta nên định nghĩa một số thuật ngữ thường được tìm thấy trong NUMAvăn học.• Đồng bộ nhớ truy cập (UMA): bộ vi xử lý tất cả có thể truy cập đến tất cả các bộ phận củabằng cách sử dụng bộ nhớ chính tải và mua sắm. Thời điểm truy cập bộ nhớ một bộ xử lýđể tất cả các vùng bộ nhớ là giống nhau. Thời gian truy cập có kinh nghiệm bởi khác nhaubộ vi xử lý là như nhau. Tổ chức SMP thảo luận trong phần 17.2 và17.3 là UMA.• Nonuniform bộ nhớ truy cập (NUMA): bộ vi xử lý tất cả có thể truy cập đến tất cả các bộ phậnbằng cách sử dụng bộ nhớ chính tải và mua sắm. Thời điểm truy cập bộ nhớ xử sor khác tùy theo vùng bộ nhớ chính truy cập. Cuối cùngphát biểu là đúng cho tất cả các bộ vi xử lý; Tuy nhiên, cho bộ vi xử lý khác nhau, màCác vùng bộ nhớ chậm hơn và nhanh hơn mà khác nhau.• Bộ nhớ cache mạch lạc NUMA (CC-NUMA): A NUMA hệ thống trong đó bộ nhớ cache co-herence được duy trì trong số các lưu trữ của các bộ vi xử lý khác nhau.Một hệ thống NUMA mà không có bộ nhớ cache tính mạch lạc là nhiều hay ít tương đương với một cụm.Các sản phẩm thương mại đã nhận được nhiều sự chú ý gần đây là CC-NUMAHệ thống, mà là khá khác biệt từ mini và cụm. Thông thường, nhưng unfortu nately không phải luôn luôn, Hệ thống như vậy trong thực tế được gọi trong các tài liệu thương mại nhưCC-NUMA hệ thống. Phần này là có liên quan chỉ với CC-NUMA hệ thống.Động lựcVới một hệ thống SMP, đó là một giới hạn thực tế để số lượng các bộ vi xử lý có thểđược sử dụng. Một sơ đồ bộ nhớ cache hiệu quả làm giảm lưu lượng xe buýt giữa bất kỳ một xử-sor và bộ nhớ chính. Khi số lượng các bộ vi xử lý tăng, giao thông xe buýt này cũng ở-nếp nhăn. Ngoài ra, xe buýt được sử dụng để trao đổi tín hiệu bộ nhớ cache-tính mạch lạc, tiếp tục thêm vàogánh nặng. Tại một số điểm, xe buýt trở thành một nút cổ chai hiệu suất. Suy thoái Perfor-mance dường như giới hạn số lượng các bộ vi xử lý trong một cấu hình SMPBỘ NHỚ 17.6 / NONUNIFORM TRUY CẬP 661đến một nơi nào đó giữa bộ vi xử lý 16 và 64. Ví dụ, Silicon Graphics' điệnThách thức SMP là giới hạn 64 R10000 bộ xử lý trong một hệ thống duy nhất; ngoài nàysố hiệu suất làm giảm đáng kể.Giới hạn bộ xử lý trong một SMP là một trong những động lực lái xe đằng sau de-velopment của cụm sao hệ thống. Tuy nhiên, với một cụm, mỗi nút có riêng của riêng của nóbộ nhớ chính; ứng dụng không nhìn thấy một bộ nhớ lớn toàn cầu. Trong thực tế, sự liên lạc làduy trì trong phần mềm chứ không phải là phần cứng. Độ chi tiết bộ nhớ này ảnh hưởng đến perfor-mance, và để đạt được hiệu suất tối đa, phần mềm phải được phù hợp với này envi-ronment. Một cách tiếp cận để đạt được quy mô lớn đa trong khi giữ lại cáchương vị của SMP là NUMA. Ví dụ, Hệ thống Silicon Graphics nguồn gốc NUMA làđược thiết kế để hỗ trợ tối đa 1024 bộ xử lý MIPS R10000 [WHIT97] và SequentNUMA-Q hệ thống được thiết kế để hỗ trợ lên đến 252 bộ xử lý Pentium II [LOVE96].Mục tiêu với NUMA là để duy trì một minh bạch hệ thống rộng bộ nhớtrong khi cho phép nhiều sự nút, mỗi với xe buýt riêng của mình hoặc khácnội bộ dây tín hiệu hệ thống.Tổ chứcHình 17.13 mô tả một tổ chức CC-NUMA điển hình. Có rất nhiều indepen-dent nút, mỗi trong số đó là, trên thực tế, một tổ chức SMP. Vì vậy, mỗi nút con-tains bộ vi xử lý nhiều, mỗi với L1 và L2 riêng lưu trữ, cộng với bộ nhớ chính.Nút là các khối xây dựng cơ bản của tổ chức CC-NUMA tổng thể. ChoVí dụ, mỗi nút Silicon Graphics nguồn gốc bao gồm hai MIPS R10000 bộ vi xử lý;mỗi nút Sequent NUMA-Q bao gồm bốn bộ vi xử lý Pentium II. Các nútnối liền với nhau bằng phương tiện của một số cơ sở truyền thông, có thể là một cơ chế chuyển đổi-ing, một vòng, hoặc một số cơ sở mạng khác.Mỗi nút trong hệ thống CC-NUMA bao gồm một số bộ nhớ chính. Từ cácđiểm của xem của bộ vi xử lý, Tuy nhiên, chỉ là một bộ nhớ địa chỉ duy nhất,với mỗi địa điểm có một địa chỉ rộng hệ thống duy nhất. Khi bắt đầu một bộ xử lýbộ nhớ truy cập, nếu không phải là vị trí bộ nhớ được yêu cầu trong đó một bộ vi xử lý bộ nhớ cache,sau đó bộ nhớ cache L2 bắt đầu một hoạt động tìm nạp. Nếu bạn muốn dòng là ở phần địa phươngbộ nhớ chính, dòng được lấy trên xe buýt địa phương. Nếu bạn muốn dòng trong mộttừ xa phần của bộ nhớ chính, sau đó một yêu cầu tự động được gửi để lấydòng trên toàn bộ mạng kết nối, cung cấp cho xe buýt địa phương, và sau đócung cấp cho bộ nhớ cache yêu cầu trên cái xe. Tất cả hoạt động này là tự động vàminh bạch với bộ vi xử lý và bộ nhớ cache của nó.Trong cấu hình này, bộ nhớ cache tính mạch lạc là một chủ đề Trung tâm. Mặc dù imple-mentations khác nhau như để biết chi tiết, nói chung điều khoản, chúng tôi có thể nói rằng mỗi nút phảiduy trì một số loại thư mục cung cấp cho nó một dấu hiệu của vị trí khác nhauphần của bộ nhớ và cũng có thể thông tin trạng thái bộ nhớ cache. Để xem như thế nào chương trình nàycông trình, chúng tôi đưa ra một ví dụ Lấy từ [PFIS98]. Giả sử rằng bộ xử lý 3 vào nút2 (P2-3) yêu cầu một vị trí bộ nhớ 798, là trong bộ nhớ của nút 1. Dãy fol lowing xảy ra:1. P2-3 vấn đề một yêu cầu đọc trên xe buýt snoopy của nút 2 cho vị trí 798.2. trong thư mục vào nút 2 thấy yêu cầu và nhận ra rằng vị trí là trongnút 1.662 CHƯƠNG 17 / SONG SONG CHẾ BIẾN3. nút của 2 thư mục sẽ gửi một yêu cầu để node 1, được chọn bởi nút của 1thư mục.4. nút 1 của thư mục, hoạt động như một đại diện của P2-3, yêu cầu các nội dung của 798,như thể nó là một bộ xử lý.5. nút của 1 bộ nhớ chính đáp ứng bằng cách đặt các dữ liệu được yêu cầu trên xe buýt.6. nút của 1 thư mục chọn lên các dữ liệu từ xe buýt.7. giá trị được chuyển trở lại vào nút của 2 thư mục.8. nút của 2 thư mục nơi các dữ liệu trở lại trên xe buýt nút của 2, hành động như là một thay thếtrong bộ nhớ, mà ban đầu được tổ chức nó.9. giá trị nhặt và đặt trong bộ nhớ cache P2-3 và giao cho P2-3.Bộ nhớ Cache L1Bộ xử lý1-1MainBộ nhớ 1Bộ xử lý1-mBộ nhớ Cache L1L2 Cache L2 Cache DirectoryI/OI/OBộ nhớ Cache L1Bộ xử lýN-1Mainbộ nhớ NBộ xử lýN-mBộ nhớ Cache L1L2 Cache L2 CacheThư mụcBộ nhớ Cache L1Bộ xử lý2-1MainBộ nhớ 2Bộ xử lý2-mBộ nhớ Cache L1L2 Cache L2 Cache DirectoryI/ODây tín hiệuMạngCon số 17.13 CC-NUMA tổ chứcBỘ NHỚ 17.6 / NONUNIFORM TRUY CẬP 663Trình tự trước giải thích làm thế nào dữ liệu được đọc từ một bộ nhớ từ xasử dụng phần cứng cơ chế thực hiện giao dịch trong suốt với bộ vi xử lý.Trên đầu trang của các cơ chế, một số hình thức của bộ nhớ cache tính mạch lạc giao thức là cần thiết. Var-Anh hệ thống khác nhau về chính xác làm thế nào điều này được thực hiện. Chúng tôi làm cho chỉ một vài nhận xét chungỞ đây. Đầu tiên, như một phần của chuỗi trước, nút của 1 thư mục giữ một kỷ lục màmột số bộ nhớ cache từ xa có một bản sao của các dòng có chứa vị trí 798. Sau đó, có nhu cầulà một giao thức hợp tác xã để chăm sóc thay đổi. Ví dụ, nếu một bổ-cation được thực hiện trong một bộ nhớ cache, điều này thực tế có thể được phát sóng tới các nút khác. Mỗi nút di-rectory mà nhận được một phát sóng sau đó có thể xác định nếu bất kỳ đệm ẩn cục bộ có màdòng, và nếu như vậy, làm cho nó để được dọn dẹp. Nếu vị trí bộ nhớ thực là tại nút re-ceiving thông báo phát sóng, sau đó thư mục nút đó cần phải duy trì mộtmục nhập chỉ ra rằng dòng của bộ nhớ là không hợp lệ và vẫn như vậy cho đến khi một viết lạixảy ra. Nếu một bộ xử lý (địa phương hoặc từ xa) yêu cầu đường không hợp lệ, sau đó các địa phươngthư mục phải ép buộc một viết lại để Cập Nhật bộ nhớ trước khi cung cấp dữ liệu.NUMA ưu và khuyết điểmƯu điểm chính của một hệ thống CC-NUMA là rằng nó có thể cung cấp hiệu quả perfor-mance tại cấp độ cao hơn của xử lý song song hơn SMP, mà không cần phần mềm lớnthay đổi. Với nhiều NUMA nút, xe buýt lưu lượng truy cập vào bất kỳ nút cá nhân là lim-ited đến một nhu cầu xe buýt có thể xử lý. Tuy nhiên, nếu nhiều truy cập bộ nhớtới các nút từ xa, hiệu suất bắt đầu để phá vỡ. Đó là lý do để tinrằng này phân tích hiệu suất có thể tránh được. Trước tiên, việc sử dụng của L1 và L2 lưu trữđược thiết kế để giảm thiểu tất cả bộ nhớ truy cập, bao gồm những người từ xa. Nếu nhiều của cácphần mềm có địa phương thời gian tốt, sau đó truy cập từ xa bộ nhớ không phải làquá nhiều. Thứ hai, nếu phần mềm này có tốt không gian địa phương, và nếu ảo bộ nhớ làtrong sử dụng, sau đó dữ liệu cần thiết cho một ứng dụng sẽ nằm trên một số giới hạn củathường xuyên sử dụng trang đó có thể được ban đầu được tải vào bộ nhớ địa phương để ứng dụng chạy-ning. Báo cáo Sequent nhà thiết kế địa phương không gian như vậy xuất hiệntrong các ứng dụng đại diện [LOVE96]. Cuối cùng, sơ đồ bộ nhớ ảo có thểnâng cao bằng cách bao gồm trong hệ điều hành một cơ chế di chuyển trang đósẽ di chuyển một trang bộ nhớ ảo đến một nút thường xuyên sử dụng nó; SilicNhà thiết kế đồ họa báo cáo thành công với cách tiếp cận này [WHIT97].Ngay cả khi phân tích hiệu suất do truy cập từ xa giải quyết, cócó hai nhược điểm khác cho cách tiếp cận CC-NUMA. Hai đặc biệt là dis-cussed chi tiết trong [PFIS98]. Trước tiên, CC NUMA không minh bạch trông giống như mộtSMP; thay đổi phần mềm sẽ được yêu cầu để di chuyển một hệ điều hành và applica-tions từ SMP một với một hệ thống CC-NUMA. Chúng bao gồm các trang phân bổ, đãđã đề cập, xử lý phân bổ, và tải cân bằng bởi hệ điều hành. Amối quan tâm thứ hai là sẵn có. Đây là một vấn đề khá phức tạp và phụ thuộcvề việc thực hiện chính xác của hệ thống CC-NUMA; người đọc quan tâm làgiới thiệu đến [PFIS98].Vector bộ vi xử lý mô phỏng
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Trong điều kiện của sản phẩm thương mại, hai cách tiếp cận phổ biến để cung cấp một
hệ thống đa bộ xử lý để hỗ trợ các ứng dụng là SMPS và cụm. Đối với một số
năm, cách tiếp cận khác, được gọi là truy cập bộ nhớ không đồng dạng (NUMA), đã được
các đối tượng nghiên cứu và NUMA thương mại các sản phẩm đang có sẵn.
Trước khi tiếp tục, chúng ta cần xác định một số thuật ngữ thường được tìm thấy trong Numa
văn học.
• truy cập bộ nhớ Uniform ( UMA): Tất cả các bộ vi xử lý có thể truy cập tất cả các phần của
bộ nhớ chính bằng cách sử dụng tải và các cửa hàng. Thời gian truy cập bộ nhớ của một bộ xử lý
cho tất cả các vùng của bộ nhớ là như nhau. Thời gian truy cập khác nhau kinh nghiệm của
bộ vi xử lý đều giống nhau. Các tổ chức SMP thảo luận tại mục 17.2 và
17.3 là UMA.
• truy cập bộ nhớ không đồng dạng (NUMA): Tất cả các bộ vi xử lý có thể truy cập tất cả các phần
của bộ nhớ chính bằng cách sử dụng tải và các cửa hàng. Thời gian truy cập bộ nhớ của một proces-sor khác nhau tùy thuộc vào khu vực của bộ nhớ chính được truy cập. Cuối cùng
tuyên bố là đúng cho tất cả các bộ vi xử lý; Tuy nhiên, đối với các bộ xử lý khác nhau, trong đó
khu vực bộ nhớ chậm hơn và nhanh hơn là khác nhau.
• Numa Cache-kết hợp (Numa-CC):. Một hệ thống NUMA trong đó bộ nhớ cache đồng herence được duy trì trong bộ nhớ cache của các bộ vi xử lý khác nhau
Một hệ thống NUMA mà không có sự gắn kết bộ nhớ cache là nhiều hơn hoặc ít tương đương với một cluster.
Các sản phẩm thương mại đã nhận được rất nhiều sự chú ý gần đây là CC-NUMA
hệ thống, đó là khá khác biệt từ cả hai SMPS và cụm. Thông thường, nhưng unfortu-nately không phải lúc nào, hệ thống này trên thực tế được đề cập trong các tài liệu thương mại như
hệ thống CC-NUMA. Phần này là có liên quan chỉ với các hệ thống CC-NUMA.
Động lực
Với một hệ thống SMP, có một giới hạn thực tế về số lượng các bộ vi xử lý có thể
được sử dụng. Một chương trình bộ nhớ cache hiệu quả làm giảm lưu lượng xe buýt giữa bất kỳ một proces-sor và bộ nhớ chính. Vì số lượng các bộ xử lý tăng lên, giao thông xe buýt này cũng trong nếp gấp. Ngoài ra, các xe buýt được sử dụng để trao đổi tín hiệu bộ nhớ cache chặt chẽ, tiếp tục thêm vào
gánh nặng. Tại một số điểm, xe buýt sẽ trở thành một nút cổ chai hiệu suất. Suy thoái perfor-mance dường như hạn chế số lượng bộ vi xử lý trong một cấu hình SMP
17.6 / không đồng dạng bộ nhớ truy cập 661
đến nơi nào đó giữa 16 và 64 bộ xử lý. Ví dụ, Silicon Graphics 'Power
Challenge SMP được giới hạn đến 64 bộ vi xử lý R10000 trong một hệ thống duy nhất; vượt ra ngoài này
làm giảm hiệu suất số lượng đáng kể.
Giới hạn bộ xử lý trong một SMP là một trong những động lực đằng sau de-velopment của hệ thống cluster. Tuy nhiên, với một cụm, mỗi node có riêng của nó
bộ nhớ chính; các ứng dụng không thấy một bộ nhớ lớn toàn cầu. Trong thực tế, sự liên lạc được
duy trì trong phần mềm hơn là phần cứng. Granularity bộ nhớ này ảnh hưởng đến perfor-mance và, để đạt được hiệu suất tối đa, phần mềm phải được thiết kế để này ronment-môi. Một cách tiếp cận để đạt được quy mô lớn đa trong khi giữ lại
hương vị của SMP là Numa. Ví dụ, hệ thống Silicon Graphics xứ Numa được
thiết kế để hỗ trợ lên đến 1.024 bộ vi xử lý MIPS R10000 [WHIT97] và Sequent
hệ thống NUMA-Q được thiết kế để hỗ trợ lên đến 252 bộ vi xử lý Pentium II [LOVE96].
Mục tiêu với NUMA là để duy trì một bộ nhớ rộng hệ thống minh bạch
trong khi cho phép nhiều nút đa, mỗi xe buýt riêng của mình hoặc khác
hệ thống kết nối nội bộ.
Tổ chức
Hình 17.13 mô tả một tổ chức CC-NUMA điển hình. Có nhiều nút indepen-vết lõm, mỗi trong số đó là, có hiệu lực, một tổ chức SMP. Như vậy, mỗi nút xử lý con-địa bao gồm nhiều, mỗi với cache L1 và L2 của riêng mình, cộng với bộ nhớ chính.
Các nút là các khối xây dựng cơ bản của các tổ chức CC-NUMA tổng thể. Đối với
ví dụ, mỗi nút Silicon Graphics xứ bao gồm hai bộ xử lý MIPS R10000;
mỗi Sequent nút NUMA-Q bao gồm bốn bộ vi xử lý Pentium II. Các nút được
kết nối với nhau bằng các phương tiện của một số cơ sở truyền thông, mà có thể là một cơ chế chuyển đổi-ing, một chiếc nhẫn, hoặc một số thiết bị mạng khác.
Mỗi nút trong hệ thống CC-NUMA bao gồm một số bộ nhớ chính. Từ
quan điểm của các bộ vi xử lý, tuy nhiên, chỉ có một bộ nhớ địa chỉ duy nhất,
với mỗi vị trí có một hệ thống duy nhất địa chỉ rộng. Khi một bộ xử lý khởi tạo
một truy cập bộ nhớ, nếu các vị trí bộ nhớ được yêu cầu không có trong bộ nhớ cache của bộ xử lý,
sau đó bộ nhớ cache L2 khởi tạo một hoạt động lấy. Nếu dòng mong muốn là trong phần địa phương
của bộ nhớ chính, dòng được lấy trên xe buýt địa phương. Nếu dòng mong muốn là trong một
phần từ xa của bộ nhớ chính, sau đó là một yêu cầu tự động được gửi ra để lấy
dòng trên mạng kết nối, cung cấp nó cho các xe buýt địa phương, và sau đó
cung cấp nó cho các yêu cầu bộ nhớ cache trên xe buýt đó. Tất cả các hoạt động này là tự động và
minh bạch để xử lý và bộ nhớ cache của nó.
Trong cấu hình này, bộ nhớ cache sự gắn kết là một mối quan tâm chính. Mặc dù imple-mentations khác nhau như thông tin chi tiết, nói chung chúng ta có thể nói rằng mỗi nút phải
duy trì một số loại thư mục đó cung cấp cho nó một dấu hiệu của các vị trí khác nhau của
các phần của bộ nhớ và các thông tin trạng thái của bộ nhớ cache. Để xem cách chương trình này
hoạt động, chúng tôi cung cấp một ví dụ lấy từ [PFIS98]. Giả sử rằng bộ xử lý 3 vào nút
2 (P2-3) yêu cầu một vị trí bộ nhớ 798, đó là trong bộ nhớ của nút 1. Trình tự fol-rống xảy ra:
1. P2-3 đưa ra một yêu cầu đọc trên xe buýt lục lạo của nút 2 cho vị trí 798.
2. Các thư mục trên nút 2 thấy yêu cầu và nhận ra rằng vị trí là ở
nút 1.
662 Chương 17 / PARALLEL CHẾ BIẾN
3. Thư mục của nút 2 sẽ gửi một yêu cầu đến nút 1, mà là chọn của nút 1 của
thư mục.
4. Thư mục của nút 1, hoạt động như một đại diện của P2-3, yêu cầu nội dung của 798,
như thể nó là một bộ xử lý.
5. Bộ nhớ chính Node 1 của phản ứng bằng cách đưa dữ liệu yêu cầu trên xe buýt.
6. Thư mục Node 1 của chọn lên các dữ liệu từ xe buýt.
7. Các giá trị được chuyển trở lại vào thư mục của nút 2.
8. Thư mục Node 2 của đặt dữ liệu trở lại trên xe buýt nút 2, hoạt động như một thay thế
cho bộ nhớ mà ban tổ chức nó.
9. Các giá trị được chọn và được đặt trong bộ nhớ cache P2-3 và giao cho P2-3.
L1 cache
xử lý
1-1
Main
Memory 1
bộ xử lý
1-m
L1 cache
L2 Cache L2 Cache thư mục
I / O
I / O
L1 cache
xử lý
N- 1
Main
bộ nhớ N
Processor
Nm
L1 cache
L2 Cache L2 Cache
thư mục
cache L1
xử lý
2-1
Main
Memory 2
bộ xử lý
2-m
L1 cache
L2 Cache L2 Cache thư mục
I / O
Interconnect
Mạng
Hình Tổ chức 17,13 CC-NUMA
17,6 / không đồng dạng bộ nhớ truy cập 663
Các dãy đầu giải thích cách dữ liệu được đọc từ bộ nhớ từ xa
bằng cách sử dụng các cơ chế phần cứng mà thực hiện giao dịch minh bạch để xử lý.
Trên đầu trang của các cơ chế này, một số hình thức của giao thức bộ nhớ cache chặt chẽ là cần thiết. Hệ thống Var-ious khác nhau về cách chính xác này được thực hiện. Chúng tôi làm chỉ có một vài nhận xét ​​chung
ở đây. Đầu tiên, như một phần của dãy đầu, thư mục nút 1 của giữ một kỷ lục mà
một số bộ nhớ cache từ xa có một bản sao của dòng có chứa vị trí 798. Sau đó, có nhu cầu
là một giao thức hợp tác xã để chăm sóc sửa đổi. Ví dụ, nếu một modifi-cation được thực hiện trong một bộ nhớ cache, thực tế này có thể được phát sóng đến các nút khác. Mỗi nút di-xứ đó nhận được một chương trình như vậy sau đó có thể xác định nếu bất kỳ bộ nhớ cache địa phương có mà
dòng, và nếu như vậy, nguyên nhân gây ra nó để được thanh lọc. Nếu các vị trí bộ nhớ thực tế là tại nút tái ceiving thông báo phát sóng, sau đó thư mục của nút mà cần phải duy trì một
entry chỉ ra rằng dòng bộ nhớ không hợp lệ và vẫn như vậy cho đến khi một viết lại
xảy ra. Nếu một bộ xử lý (địa phương hoặc từ xa) yêu cầu các dòng không hợp lệ, sau đó các địa phương
thư mục phải buộc một viết lại để cập nhật bộ nhớ trước khi cung cấp dữ liệu.
Numa Ưu và khuyết điểm
Ưu điểm chính của một hệ thống CC-NUMA là nó có thể cung cấp perfor hiệu quả -mance ở mức cao hơn song song hơn SMP, mà không cần phần mềm lớn
thay đổi. Với nhiều nút NUMA, giao thông xe buýt trên bất kỳ nút cá nhân là lim-hạn ở một nhu cầu mà các xe buýt có thể xử lý. Tuy nhiên, nếu nhiều truy cập bộ nhớ
là các nút điều khiển từ xa, hiệu suất bắt đầu bị phá vỡ. Có lý do để tin
rằng sự cố hiệu suất này có thể tránh được. Đầu tiên, việc sử dụng cache L1 và L2
được thiết kế để giảm thiểu tất cả các truy cập bộ nhớ, bao gồm cả những người từ xa. Nếu phần lớn các
phần mềm có địa phương thời gian tốt, sau đó bộ nhớ từ xa các truy cập không nên
quá mức. Thứ hai, nếu phần mềm có địa phương không gian tốt, và nếu bộ nhớ ảo là
trong sử dụng, sau đó dữ liệu cần thiết cho một ứng dụng sẽ nằm trên một số giới hạn của
trang thường được sử dụng mà ban đầu có thể được nạp vào bộ nhớ địa phương để chạy-ning ứng dụng . Các nhà thiết kế Sequent báo cáo rằng địa phương không gian như không xuất hiện
trong các ứng dụng đại diện [LOVE96]. Cuối cùng, chương trình bộ nhớ ảo có thể được
tăng cường bằng cách bao gồm trong hệ điều hành một cơ chế di chuyển trang đó
sẽ di chuyển một trang bộ nhớ ảo để một nút đó là thường xuyên sử dụng nó; Silicon
Graphics thiết kế báo cáo thành công với phương pháp này [WHIT97].
Ngay cả khi sự cố hiệu suất do truy cập từ xa được giải quyết, có
hai nhược điểm khác để tiếp cận CC-NUMA. Hai đặc biệt là dis-bàn đến chi tiết trong [PFIS98]. Đầu tiên, một CC-NUMA không minh bạch trông giống như một
SMP; thay đổi phần mềm sẽ được yêu cầu để di chuyển một hệ điều hành và đơn xin-tions từ một SMP với một hệ thống CC-NUMA. Chúng bao gồm phân bổ trang, đã được
đề cập, phân bổ quá trình, và cân bằng tải bởi hệ điều hành. Một
mối quan tâm thứ hai là sự sẵn có. Đây là một vấn đề khá phức tạp và phụ thuộc
vào việc thực hiện chính xác của hệ thống CC-Numa; người đọc quan tâm được
gọi [PFIS98].
Vector xử lý Simulator
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: