Giải hệ phương trình tuyến tính bằng phương pháp phân rã LU
Thiết kế giải thuật song song Mở đầu 3 Chơng I Tổng quan về tính toán song song .7 1. 1 Kiến trúc Von Neumann 7 1. 2. Phân loại Flynn 7 1. 3 Các kiến trúc bộ nhớ máy tính song song 9 1. 3. 1 Bộ nhớ dùng chung 9 1. 3. 2 Bộ nhớ phân tán 10 1. 3. 3 Bộ nhớ kết hợp .11 1. 4 Các mô hình lập trình song song 11 1. 4. 1 Lập trình bộ nhớ dùng chung 11 1. 4. 2 Truyền thông điệp 12 1. 4. 3 Mô hình song song dữ liệu 12 1. 4. 4 Mô hình hớng đối tợng 13 1. 4. 5 Mô hình logic 13 1. 5 Truyền thông trong mô hình Multicomputer .13 .15 Chơng 2 Thiết kế Giải Thuật song song .16 2. 1 Mô hình thiết kế 16 2. 2 Phơng pháp thiết kế 17 2. 3 Phân rã 19 2. 3. 1. Phân rã theo miền .20 2. 3. 2 Phân rã chức năng .21 2. 3. 3 Các vấn đề cần quan tâm 23 2. 4 Truyền thông 23 2. 4. 1 Truyền thông cục bộ 24 2. 4. 2 Truyền thông toàn cục .25 2. 4. 3 Các vấn đề cần quan tâm 27 2. 5 Tích tụ .27 2. 5. 1Gia tăng kích thớc tác vụ .28 2. 5. 2 Duy trì khả năng linh động 31 2. 5. 4 Các vấn đề cần quan tâm 31 2. 6 ánh xạ 32 2. 6. 1 Các giải thuật cân bằng nạp .33 2. 6. 2 Các giải thuật lập lịch trình tác vụ .34 2. 6. 3 Các vấn đề cần quan tâm .35 Chơng 3 Mạng kết nối 36 3. 1 Các mạng kết nối thông dụng 36 3. 1. 1 Mạng Mesh .37 3. 1. 2 Mạng bus/star .37 3. 1. 3 Mạng cây nhị phân .38 3. 1. 4 Mạng Hypertree 38 3. 1. 5 Mạng hình chóp .39 .39 3. 1. 6 Mạng Butterfly 39 3. 1. 7 Mạng Hypercube 40 3. 1. 8 Mạng Cube-Connected Cycles .41 Vũ Trung Hiếu Tin3-K42 1 Thiết kế giải thuật song song 3. 1. 9 Mạng shuffle-exchange 42 3. 1. 10 Mạng de Bruijn 43 3. 2 ánh xạ dữ liệu 44 3. 2. 1 Ring sang 2-D Mesh 45 3. 2. 2 Mesh 2-D sang Mesh 2-D .45 3. 2. 3 Cây nhị phân hoàn chỉnh sang 2D Mesh 46 3. 2. 4 Cây nhị thức sang Mesh2-D 46 3. 2. 5 Nhúng đồ thị vào trong mạng Hypercube .46 3. 2. 6 Cây nhị thức sang Hypercube 47 3. 2. 7 Rings và Meshes sang Hypercube .47 Chơng 4 cơ sở đánh giá giải thuật song song 50 4. 1 Thời gian thực hiện 50 4. 1. 1 Thời gian tính toán .51 4. 1. 2 Thời gian truyền thông .51 4. 1. 3 Thời gian rỗi (Idle) 53 4. 2 Tăng tốc và hiệu quả. .53 4. 3 Tính qui mô .54 Chơng 5 giải hệ phơng trình tuyến tính .56 5. 1 Tách A = L*U dựa theo giải thuật khử Guassian 56 5. 1. 1 Giải thuật song song theo hàng .59 5. 1. 2 Giải thuật song song theo cột .61 5. 1. 3 Giải thuật song song hai chiều .62 5. 1. 4 Khử Gauss với kỹ thuật lựa chọn phần tử xoay .64 5. 2 Giải hệ phơng trình với ma trận hệ số tam giác .65 5. 2. 1 Giải thuật song song tích tụ theo hàng 67 5. 2. 2 Giải thuật song song tích tụ theo cột .70 5. 2. 3 Giải thuật song song hai chiều 73 5. 3 Thực thi giải thuật .75 5. 3. 1 Xây dựng chơng trình 75 5. 3. 3 Các hạn chế và hớng phát triển chơng trình .78 78 Kết luận .79 .79 Tài liệu tham khảo .80 Vũ Trung Hiếu Tin3-K42 2 Thiết kế giải thuật song song Mở đầu áy tính điện tử là một trong những phát minh vĩ đại nhất của thế kỷ 20, vừa ra đời sau chiến tranh thế giới hai nhng nó đã phát triển một cách nhanh chóng và có sức sống mãnh liệt. Trong những thập niên 60, nền tảng để thiết kế máy tính số đều dựa trên mô hình của John von Newman với một đơn vị xử lý đợc nối với một vùng lu trữ làm bộ nhớ và tại một thời điểm chỉ có một lệnh máy đợc thực thi. Kiến trúc truyền thống này ngày có nhiều hạn chế do thúc đẩy của các bài toán xuất phát từ những yêu cầu thực tế và đợc khoa học hiện nay coi nh những thánh thức lớn grand challenges , đây là các bài toán đặt ra để mô phỏng thế giới thực của một vấn đề, hiện tợng có yêu cầu về tính toán và khả năng lu trữ lớn. M Để đáp ứng nhu cầu của khoa học, kiến trúc máy tính cũng thay đổi nhanh chóng nhằm tăng cờng sức mạnh tính toán và xử lý theo từng thế hệ. Sức mạnh của máy tính theo kiến trúc John von Newman có thể đợc cải thiện theo hai xu hớng khác nhau: - Thứ nhất : Dựa vào sự phát triển của công nghệ - Thứ hai : Dựa vào sự cải tiến về kiến trúc Các cải tiến về kiến trúc có thể tăng khối lợng công việc thực hiện cho mỗi chu kỳ lệnh, trong khi tiến bộ về công nghệ có thể giảm thời gian cần thiết cho mỗi chu kỳ lệnh. Sự cải tiến về công nghệ đã trải qua nhiều giai đoạn phát triển khác nhau và trở thành một chỉ tiêu quan trọng trong khi phân chia các thế hệ máy tính. Từ thế hệ thứ nhất dùng đèn điện tử, thế hệ thứ hai dùng công nghệ bán dẫn, đến thế hệ thứ ba dùng công nghệ mạch tích hợp lớn VLSI ( Very Large Scale Intergrated Circuit). Với công nghệ này, các VLSI có thể tích hợp từ hàng trăm nghìn đến hàng triệu transistors trên một đơn chíp và có thể tạo ra các tần số đồng hồ hàng trăm MHz. Sự cải tiến về mặt công nghệ hy vọng còn tiếp tục phát triển nhờ vào sự tích hợp ngày càng lớn mật độ các thành phần trên một chip, do đó giảm đợc thời gian trễ vận chuyển giữa các thành phần trên chíp. Vào giữa thập niên 1970, các tiến bộ kiến trúc quan trọng nh bộ nhớ song song bit( bit-parallel memory), số học song song bit ( bit-parallel arithmetic), bộ nhớ truy nhập nhanh (cache memory), pipeline lệnh (instruction pipelining), khối đa chức năng (multiple functional units), pipeline dữ liệu (data pipelining) - đã đợc kết hợp trong thiết kế máy supercomputer hay mainframe. Từ đó, để năng cao hiệu năng của các bộ xử lý đơn ngời ta có ý định giảm thời gian chu kỳ lệnh. Tuy nhiên với công nghệ VLSI kết hợp với những tiến bộ kiến trúc cho phép máy tính đơn có khả năng tính toán cao, thực hiện hàng trăm triệu phép tính trên một giây nhng điều này vẫn cha đáp ứng đợc các thách thức khoa học với các bài toán nh mô hình thời tiết và môi trờng toàn cầu, tính toán chu trình đại dơng. vũ trụ học và thiên văn học, y học và mô hình các x- ơng và cơ quan con ngời, phản ứng hoá học và hạt nhân. v. v. Ngày nay, các ứng dụng có tính thơng mại đang tác động đến việc phát triển máy tính song song bởi những ứng dụng này yêu cầu xử lý số lợng lớn dữ liệu theo các cách thức phức tạp. Ví dụ nh cơ sở dữ liệu song song, khai Vũ Trung Hiếu Tin3-K42 3 Thiết kế giải thuật song song phá dữ liệu, tìm kiếm dầu mỏ, chuẩn đoán dới sự trợ giúp của máy tính trong y học, quản lý của các công ty kinh doanh, tổ chức đa quốc gia, công nghệ multimedia và video trên mạng. v. v. Nguyên nhân chính hạn chế trong việc phát triển máy tính đơn có tốc độ cao là do sự hạn chế vật lý của IC, chúng ta không thể gia tăng mãi khả năng tích hợp các linh kiện bán dẫn trên cùng một chíp và tốc độ truyền tải tín hiệu của mạch điện bị hạn chế không vợt quá tốc độ ánh sáng. Để tăng cờng sức mạnh tính toán giải quyết các bài toán lớn có độ tính toán cao, ngời ta phát triển theo hớng kiến trúc máy tính, với ý tởng kết hợp nhiều bộ xử lý vào trong một máy tính mà ngời ta hay gọi là máy tính song song Multiprocessor hoặc kết hợp sức mạnh tính toán của nhiều máy tính dựa trên kết nối của mạng cục bộ đã có, ngời ta gọi là máy tính song song Multicomputer. Điều này đã đợc Daniel Slotnick ở trờng đại học Illinois thực hiện với thiết kế hai máy tính song song là máy Solomon đợc xây dựng bởi công ty Westinghouse Electric Company vào đầu những năm 1960 và sau đó vào đầu những năm 1970, máy tính ILLIAC IV đợc lắp ráp tại công ty Burroughs Corporation. Tại trờng đại học Carnegie-Mellon, hai máy tính song song là C. mmp và Cm* - đợc xây dựng trong suốt những năm 1970. Trong những năm đầu 1980, các nhà nghiên cứu tại Caltech đã xây dựng ra máy Cosmic Cube, một hình thức sơ khai của máy tính song song Multicomputer. Sự hội tụ giữa kiến trúc song song và công nghệ xây dựng các máy lớn truyền thống đã dẫn đến sự phát triển các máy tính song song có hàng chục, trăm, hoặc thậm chí hàng nghìn các microprocessor. Với hiệu năng cao nhất, các máy tính song song nh Intel s Paragon XP/S TM , MasPar s MP-2 TM và Thinking Machines Cm 5 TM , đã vợt qua tốc độ của các máy supercomputer đơn bộ xử lý truyền thống nh Cray Y/MP TM và NEC SX-3 TN . Đối với việc xây dựng các máy tính song song có hàng trăm đến hàng ngàn bộ xử lý với bộ nhớ chính có kích thớc lớn sẽ rất tốn kém, không hiện thực đối với nhu cầu thực tế nhng bù lại sẽ có môi trờng tính toán ổn định và sức mạnh tính toán lớn. Với máy tính song song kết nối nhiều máy tính sẵn có thông qua mạng cục bộ sẽ đáp ứng đợc về giá thành, tận dụng đợc máy tính sẵn có, khả năng lu trữ dữ liệu sẽ lớn hơn và hiện nay với mạng LAN tốc độ cao sẽ cho phép ta thực hiện đợc điều này. Tuy nhiên với môi trờng tính toán không đồng nhất về tốc độ xử lý trên mỗi máy tính, khả năng lu trữ. . sẽ làm cho việc thực hiện bài toán trở nên khó khăn. Để giải quyết vấn đề này các phần mềm đợc xây dựng ra nh PVM ( Parallel Virtual Machine ), MPI, Linda, P4, . v. v. cho phép thực thi song song bài toán trên mô hình Multicomputer. Ngoài việc có sức mạnh tính toán nhanh, máy tính song song có khả năng lu trữ lớn với mô hình bộ nhớ phân tán và khả năng chịu hỏng tốt hơn máy tính đơn bộ xử lý. Đối với máy tính đơn, khi bộ xử lý bị sự cố thì cả hệ thống dừng hoạt động còn các máy tính song song vẫn có thể thực hiện công việc khi một vài bộ xử lý hay máy tính có sự cố. Việc bảo đảm độ tin cậy cao có tầm quan trọng khi sử dụng máy tính trong các lĩnh vực mà sự cố có thể xảy ra thảm hoạ nh điều khiển phóng vệ tinh, kiểm soát và điều khiển các nhà máy điện nguyên tử. . v. v. Tuy nhiên, để khai thác đợc sức mạnh tiềm tàng trong các máy tính song song lớn yêu cầu sự phát triển và kết hợp hợp lý của kiến trúc, hệ điều Vũ Trung Hiếu Tin3-K42 4 Thiết kế giải thuật song song hành, ngôn ngữ lập trình và giải thuật, phần mềm tính toán song song. Bởi vì giải thuật tuần tự không còn phù hợp nữa khi thực hiện trên máy song song, nên việc xây dựng, thiết kế giải thuật song song là điều quan trọng từ đó có thể phân rã công việc trên các phần tử xử lý khác nhau. Việc phân rã có thể đợc tiến hành theo hai cách, phân rã theo miền và phân rã theo chức năng. Tiếp theo là mã hoá công việc đó theo một ngôn ngữ hỗ trợ việc tính toán song song và hệ điều hành điều khiển hoạt động tính toán phải có sự hỗ trợ. Nếu trong quá trình tính toán mà lựa chọn không tốt kiến trúc song song sẽ làm cho hiệu quả thực hiện giảm đi. Để xây dựng một giải thuật song song ta phải có sự phân tích bài toán hoặc giải thuật tuần tự, từ đó cho phép ta có kết luận có thể song song bài toán hay không. Nếu đợc, ta sẽ tiếp tục xây dựng giải thuật bằng cách phân rã bài toán ra thành các công việc nhỏ, xây mối liên hệ giữa các công việc, quyết định đợc có thể song song đợc những tác vụ nào, sau đó ấn định vào mô hình máy tính song song cụ thể. Trong khi xây dựng có thể có nhiều ph- ơng hớng thiết kế khác nhau tạo ra các giải thuật khác nhau. Việc đánh giá hiệu quả của từng giải thuật cho phép ta quyết định giải thuật nào sẽ đợc áp dụng dựa trên mô hình hiệu năng. Để đánh giá tốt hiệu quả giải thuật, chúng ta cần xem xét các chỉ tiêu nh tốc độ ( Speedup), hiệu quả (Efficiency), linh động ( Scalability). Điều này cần có kiến thức về tính toán độ phức tạp giải thuật, tổ chức mạng kết nối giữa các phần tử xử lý, chi phí truyền thông giữa các phần tử trong giải thuật. Những vấn đề này sẽ đợc đề cập trong đồ án tốt nghiệp với mong ớc góp phần nhỏ bé của mình vào việc phát triển nghiên cứu về lĩnh vực tính toán song song. Đề tài cho đồ án tốt nghiệp là : Thiết kế giải thuật song song Nhiệm vụ của đồ án bao gồm: 1. Tìm hiểu kỹ thuật tổ chức giải thuật tính toán song song. 2. Nghiên cứu các vấn đề liên quan đến phơng pháp phân rã bài toán, phục vụ cho việc xây dựng giải thuật song song và đánh giá đợc các ph- ơng pháp phân rã. 3. áp dụng cho bài toán giải hệ phơng trình tuyến tính bằng phơng pháp phân rã LU. Đa ra các giải thuật song song cho bài toán và đánh giá hiệu quả của các giải thuật. 4. Mô phỏng một số giải thuật phân rã bài toán giải hệ phơng trình tuyến tính. Nội dung của đồ án tốt nghiệp gồm 5 chơng và tài liệu tham khảo. Chơng 1 sẽ đề cập tổng quan về tính toán song song với các vấn đề liên quan đến việc thiết kế giải thuật song song nh các mô hình tính toán song song, kiến trúc bộ nhớ máy tính song song, các mô hình lập trình song song. Chơng 2 đề cập đến mô hình thiết kế giải thuật, các công đoạn trong quá trình thiết kế. Trong mỗi công đoạn sẽ đa ra đợc những vấn đề cần quan tâm cho ngời thiết kế. Chơng 3 sẽ đề cập đến mạng kết nối giữa các bộ xử lý và đi sâu vào vấn đề ánh xạ tĩnh các tác vụ phân rã theo miền vào kiến trúc máy tính song song cụ thể. Vũ Trung Hiếu Tin3-K42 5 Thiết kế giải thuật song song Chơng 4 đề cập đến mô hình hiệu năng đánh giá hiệu quả của giải thuật song song sau khi thiết kế và phân tích tính qui mô của giải thuật. Những đánh giá này sẽ giúp cho ngời thiết kế có khả năng chọn lựa giải thuật trong công đoạn thiết kế. Chơng 5 sẽ đi sâu thiết kế giải thuật song song cho bài toán giải hệ ph- ơng trình tuyến tính theo phơng pháp tách LU. Mô phỏng một số giải thuật và thử nghiệm một số bài toán giải hệ. Vũ Trung Hiếu Tin3-K42 6 Thiết kế giải thuật song song Chơng I Tổng quan về tính toán song song Trong chơng này đề cập sơ lợc đến các vấn đề cơ bản trong tính toán song song nh phân loại kiến trúc song song của Flynn, kiến trúc bộ nhớ, mô hình lập trình song song. v. v. v, qua đây sẽ đa đến cái nhìn tổng quan để định hớng khi thiết kế giải thuật. 1. 1 Kiến trúc Von Neumann Hơn 40 năm qua, hầu hết các máy tính đều thiết kế dựa theo mô hình phổ biến đợc biết đến nh máy Von Neumann. Tên máy tính đợc đặt theo tên nhà toán học ngời Hungarian Jon Von Neumann. Máy tính Von Neumann sử dụng khái niệm chơng trình lu trữ ( stored- program), CPU sẽ thực hiện theo dãy các phép toán đọc, ghi trên bộ nhớ do chơng trình lu trữ chỉ định. Hình 1. 1: Mô tả kiến trúc Von Neumann Đối với kiến trúc Von Neumann thì bộ nhớ đợc sử dụng để lu trữ cả lệnh cho chơng trình lẫn dữ liệu. Lệnh chơng trình là dữ liệu đã đợc mã hoá, chơng trình sẽ dựa vào đây để thực hiện, còn dữ liệu đơn giản chỉ là thông tin đợc chơng trình sử dụng. Khi đó CPU sẽ lấy các lệnh hay dữ liệu từ bộ nhớ, giải mã các lệnh và sau đó thực hiện tuần tự các lệnh này. 1. 2. Phân loại Flynn Một trong những phân loại kiến trúc máy tính song song đợc biết nhiều nhất là phân loại của Flynn, đợc sử dụng từ năm 1966. Michael Flynn phân loại kiến trúc máy tính thành 4 loại dựa trên sự biểu hiện của cặp khái niệm : dòng lệnh ( instruction stream) và dòng dữ liệu ( data stream), mỗi loại nằm trong một trong hai trạng thái là Đơn (Single) hoặc Đa( Multiple). Theo Flynn các kiến trúc máy tính gồm 4 loại đợc thể hiện trong ma trận sau: Vũ Trung Hiếu Tin3-K42 7 Memory CPU Fetch Execute Thiết kế giải thuật song song SISD Single Instruction Single Data SIMD Single Instruction Multiple Data MISD Multiple Instruction Single Data MIMD Multiple Instruction Multiple Data Hình 1. 2: Mô tả phân loại kiến trúc của Flynn Đơn dòng lệnh đơn dòng dữ liệu (SISD). Đây là kiến trúc của một máy tuần tự, trong bất kỳ một chu kỳ đồng hồ nào chỉ có một dòng lệnh đang đợc thực hiện bởi CPU và chỉ một dòng dữ liệu đang đợc sử dụng nh là đầu vào cho chơng trình. Kiến trúc này chỉ sử dụng một thanh ghi đợc gọi là bộ đếm chơng trình để đảm bảo cho dòng lệnh đợc thực hiện tuần tự. Kiến trúc này đ- ợc sử dụng cho hầu hết các máy tính cá nhân, các workstation và mainframe đơn CPU. Hình 1. 3. Mô tả kiến trúc SISD Đơn dòng lệnh đa dòng dữ liệu ( SIMD). Với kiến trúc này, tất cả các đơn vị xử lý sẽ thực hiện cùng một lệnh tại bất kỳ chu kỳ đồng hồ nào nhng mỗi đơn vị này có thể thao tác trên một phần tử dữ liệu khác nhau. Trong kiến trúc này thờng có một đơn vị điều khiển lệnh ( Control Unit ), có mạng kết nối bên trong giữa các đơn vị xử lý, có băng thông rất lớn và mảng rất lớn các đơn vị lệnh có dung lợng rất nhỏ. Kiến trúc này đặc biệt phù hợp cho các bài toán có mức độ đồng đều cao nh trong lĩnh vực xử lý ảnh. Kiến trúc này là cơ sở xây dựng các máy tính song song kiểu bộ xử lý mảng ( array processor) nh Connection Machine CM-2, Maspar MP-1, MP-2. Hình 1. 4. Mô tả kiến trúc SISD Vũ Trung Hiếu Tin3-K42 8 Thiết kế giải thuật song song Đa dòng lệnh đơn dòng dữ liệu ( MISD). Kiến trúc này cho phép một vài lệnh cùng thao tác trên cùng một dữ liệu. Có rất ít máy tính song song dựa trên kiến trúc này. Có hai cách để mô tả cách tổ chức của MISD. Cách thứ nhất đợc xét đến các lớp máy yêu cầu các đơn vị xử lý riêng nhận các lệnh riêng biệt xử lý trên cùng một dữ liệu. Cách thức thứ 2 đợc xét đến lớp các máy tính, trong đó dữ liệu chuyển qua một dãy các đơn vị xử lý. Đa dòng lệnh đa dòng dữ liệu (MIMD). Hiện nay, đây là kiến trúc song song phổ biến nhất với mỗi bộ xử lý có thể thực hiện một dòng lệnh và một dòng dữ liệu khác nhau. Hầu hết các máy tính supercomputer, máy tính Multicomputer và Multiprocessor đều đợc xây dựng dựa trên kiến trúc này. Hình 1. 4 Mô tả kiến trúc MIMD 1. 3 Các kiến trúc bộ nhớ máy tính song song Có 3 kiến trúc bộ nhớ cơ bản là dùng chung ( shared memory), phân tán ( distributed memory) và kết hợp giữa hai kiến trúc trên Hybrid ( distributed-shared memory). 1. 3. 1 Bộ nhớ dùng chung Các máy tính song song dùng chung có nhiều dạng, biến đổi trong phạm vi rộng nhng có đặc điểm chung là khả năng cho các bộ xử lý truy nhập tới toàn bộ nhớ nh là không gian địa chỉ toàn cục( global address space). Vũ Trung Hiếu Tin3-K42 9 Thiết kế giải thuật song song Hình 1. 5 Mô tả máy tính song song bộ nhớ dùng chung Các bộ xử lý có thể thao tác một cách độc lập nhng chia sẻ cùng tài nguyên bộ nhớ, sự thay đổi trong một vị trí bộ nhớ bởi một bộ xử lý thì tất cả các bộ xử lý còn lại sẽ nhận thấy đợc. Tuy nhiên còn có thể phân ra thành 2 loại chính dựa vào thời gian truy nhập bộ nhớ là truy nhập bộ nhớ đồng bộ- UMA ( Uniform Memory Access) và truy nhập bộ nhớ không đồng bộ-NUMA ( Non-Uniform Memory Access). Thuận lợi của mô hình này là lập trình thân thiện đối với ngời sử dụng với việc chia sẻ dữ liệu, môi trờng tính toán ổn định nhng kém linh động giữa bộ nhớ và các CPU. Nếu thêm nhiều CPU ta sẽ gặp phải các vấn đề do tăng dung lợng trên đờng truyền thông giữa bộ nhớ và bộ nhớ, quản lý đồng bộ việc truy nhập đồng thời của các bộ xử lý đến cùng vị trí bộ nhớ, truy nhập có chính xác vị trí bộ nhớ trên không gian bộ nhớ dùng chung. Ngoài ra sẽ chi phí rất tốn kém để thiết kế và sản xuất các máy tính kiểu này khi gia tăng số l- ợng bộ xử lý. 1. 3. 2 Bộ nhớ phân tán Cũng nh kiến trúc dùng chung, kiến trúc phân tán có nhiều dạng nhng chia sẻ một đặc điểm chung là hệ thống bộ nhớ phân tán yêu cầu một mạng truyền thông kết nối giữa bộ nhớ bộ xử lý. Hình 1. 6 Mô tả kiến trúc bộ nhớ phân tán Mỗi bộ xử lý đều có bộ nhớ cục bộ riêng, địa chỉ bộ nhớ không ánh xạ tới các bộ xử lý khác, bởi vậy không có khái niệm không gian địa chỉ toàn cục ngang qua tất cả bộ xử lý. Các bộ xử lý sẽ thao tác độc lập trên bộ nhớ riêng của nó. Sự thay đổi dữ liệu tạo ra đối với bộ nhớ riêng không ảnh hởng đến bộ Vũ Trung Hiếu Tin3-K42 10 [...]... thuật để cấu trúc chơng trình, đơn giản hoá bài toán phức tạp bằng tập các bài toán đơn giản hơn, liên kết với nhau Phân rã chức năng sẽ giảm bớt đợc đáng kể chi phí thiết kế Giải thuật song song tốt sẽ kết hợp đợc cả phơng pháp phân rã theo miền và phân rã theo chức năng Trong công đoạn phân rã, đôi khi giải thuật tuần tự không thể hiện cho ta khả năng song song Khi đó cần có sự phân tích theo các hớng... bài toán, sau đó xác định một phân rã thích hợp cho dữ liệu và công việc cuối cùng là kết hợp tính toán với dữ liệu nh thế nào Kỹ thuật này đợc gọi là phân rã theo miền ( domain decomposition) Một cách tiếp cận khác là phân rã tính toán đợc thực hiện đầu tiên và sau đó kết hợp dữ liệu với tính toán - đợc gọi là phân rã theo chức năng( functional decomposition) 2 3 1 Phân rã theo miền Thông thờng, hớng... này, ngời Vũ Trung Hiếu Tin3-K42 20 Thiết kế giải thuật song song thiết kế thờng quan tâm đến phân rã có tính linh hoạt nhất và khi đó mỗi tác vụ sẽ đợc xác định tơng ứng cho mỗi điểm Hình 2 4 Mô tả các phơng pháp phân rã theo miền khác nhau cho bài toán liên quan đến khung lới 3 chiều 2 3 2 Phân rã chức năng Phân rã chức năng cho ta một hớng nhìn khác, mang tính bổ xung về bài toán Trong hớng tiếp cận... sử dụng trong tính toán của mô hình đại dơng, mô hình đại dơng tạo ra dữ liệu về nhiệt độ mặt biển sẽ đợc sử dụng trong mô hình khí quyển Đối với hầu hết các giải thuật song song thì phân rã theo miền hình thành cơ bản cho giải thuật Phân rã chức năng chỉ đợc đánh giá là cách nhìn khác về bài toán, bổ xung cho phơng pháp phân rã theo miền Tuy nhiên đối với các bài toán phức tạp thì phân rã theo miền... vực tính toán song song, tạo bớc nền trớc khi đi vào thiết kế giải thuật song song trong chơng sau Vũ Trung Hiếu Tin3-K42 15 Thiết kế giải thuật song song Chơng 2 Thiết kế Giải Thuật song song Trong chơng này đề cập đến phơng pháp thiết kế giải thuật song song cho bài toán, quá trình thiết kế không dễ dàng để có thể rút gọn thành công thức đơn giản nh công thức giải hệ phơng trình bậc hai, giải hệ phơng... lý nhằm tối u khả năng tính toán cho bộ xử lý 2 6 1 Các giải thuật cân bằng nạp Một lớp rộng các kỹ thuật cân bằng nạp đa năng hoặc cho ứng dụng cụ thể đã đợc đề xuất, sử dụng trong các giải thuật song song dựa trên phân rã theo miền Ta sẽ xem xét một số cách tiếp cận sau : phơng pháp phân đôi đệ quy (recursive bisection), giải thuật cục bộ, phơng pháp xác xuất, và ánh xạ chu trình Tất cả kỹ thuật này... không phân tán tính toán và truyền thông Một tác vụ đơn phải tham gia trong tất cả phép toán Giải thuật là tuần tự, không cho phép nhiều phép toán truyền thông và tính toán xử lý đồng thời Vũ Trung Hiếu Tin3-K42 25 Thiết kế giải thuật song song Chúng ta cần giải quyết cả hai vấn đề này để phát triển giải thuật song song tốt a Phân tán tính toán và truyền thông Trớc hết, ta xem xét vấn đề phân tán tính. .. truyền thông kết hợp với bài toán tính tổng Việc phân tán thực hiện bằng cách thay vì chỉ một tác vụ tính toán tổng, mỗi tác vụ i, 0 . đánh giá đợc các ph- ơng pháp phân rã. 3. áp dụng cho bài toán giải hệ phơng trình tuyến tính bằng phơng pháp phân rã LU. Đa ra các giải thuật song song cho. kế giải thuật song song cho bài toán giải hệ ph- ơng trình tuyến tính theo phơng pháp tách LU. Mô phỏng một số giải thuật và thử nghiệm một số bài toán giải