Bài giảng Tính toán song song và phân toán - Chương 1: Tổng quan được biên soạn nhằm giúp cho các bạn biết được tính toán song song là gì; tại sao phải dùng tính toán song song lệnh thực thi. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức về vấn đề này.
11/7/12 Nội dung Tính tốn song song và phân tán PGS.TS Trần Văn Lăng 1. 2. 3. 4. 5. 6. tvlang@vast-‐hcm.ac.vn lang@lhu.edu.vn Tài liệu: Introduc7on to Parallel Compu7ng Blaise Barney, Lawrence Livermore NaGonal Laboratory hIps://compuGng.llnl.gov/tutorials/parallel_comp/ Tổng quan Khái niệm và thuật ngữ Kiến trúc bộ nhớ của máy Znh song song Mơ hình lập trình song song Thiết kế chương trình song song Ví dụ 1.1 Tính tốn song song là gì • Theo truyền thống, phần mềm được viết theo cách Znh toán tuần tự: Tổng quan – Được chạy trên một máy Znh đơn có một CPU; – Một bài tốn được chia ra thành một chuỗi các câu lệnh rời rạc – Những câu lệnh này được thi hành sau câu lệnh khác – Vào một thời điểm chỉ có một câu lệnh thực thi 1. Tính tốn song song là gì 2. Tại sao phải dùng Znh toán song song 11/7/12 Ví dụ Znh Gền lương cho nhiều người • Trong một ngữ cảnh đơn giản, Znh toán song song (Parallel CompuGng) là việc sử dụng đồng thời nhiều nguồn tài nguyên Znh toán để giải quyết một vấn đề: – Được chạy bằng cách sử dụng nhiều CPU – Một vấn đề có thể chia ra thành nhiều phần rời rạc có thể giải quyết một cách đồng thời – Mỗi phần được Gếp tục phân chia thành một chuỗi các câu lệnh – Những câu lệnh của mỗi phần được thi hành một cách đồng thời trên các CPU khác nhau Tiền lương mỗi người được 1 CPU Znh • Nguồn tài ngun Znh tốn có thể là: – Một máy Znh duy nhất với nhiều bộ xử lý; – Một số tùy ý máy Znh được kết nối qua mạng; – Tổ hợp cả hai loại trên 11/7/12 • Bái tốn Znh tốn có thể: – Được phân chia thành các phần công việc rời rạc mà có thể giải quyết một cách đồng thời; – Thực hiện nhiều câu lệnh chương trình vào bất kỳ thời điểm nào; – Với nhiều nguồn tài nguyên Znh toán, bài toán được giải quyết ít thời gian so với chỉ một nguồn tài nguyên Znh tốn • Tính tốn song song là một sự Gến hóa của Znh tốn tuần tự nhằm cố gắng mô phỏng những vấn đề đặt ra trong thế giới tự nhiên chứa đựng: – Nhiều sự phức tạp – Các sự kiện liên quan với nhau xãy ra cùng một thời gian nhưng vẫn trong cùng một chuỗi The Real World is Massively Parallel ! 10 Ví dụ • Hình thành giải thiên hà (Galaxy formaGon) • Chuyển động của hành Gnh • Vấn đề thời Gết và đại dương 11 12 11/7/12 Sử dụng Znh tốn song song • Giao thơng đơ thị • Chế tạo máy bay • Những mãng băng trơi • Về mặt lịch sử, Znh tốn song song được coi là “Znh toán cao cấp” (the high end of compuGng), được sử dụng để mơ hình hóa các vấn đề khó khăn trong nhiều lĩnh vực khoa học và kỹ thuật: – Khí quyển, trái đất, mơi trường – Vật lý: hạt nhân, hạt, áp lực cao, nhiệt hạch, lượng tử, … 13 14 Sử dụng Znh tốn song song – Khoa học sinh học, cơng nghệ sinh học, di truyền học – Hóa học, khoa học phân tử – Địa chất, địa chấn học – Cơ ký: từ tay chân giả cho đến tàu vũ trụ – Điện, thiết kế vi mạch, vi điện tử – Khoa học máy Znh, tốn học • Ngày nay, những ứng dụng thương mại cũng địi hỏi cơng suất lớn của máy Znh • Những ứng dụng này đòi hỏi xử lý một khối lượng lớn dữ liệu; chẳng hạn: – Cơ sở dữ liệu, khai khoáng dữ liệu – Khai thác dầu – Công cụ œm kiếm, dịch vụ kinh doanh dựa trên web 15 16 11/7/12 1.2 Tại sao phải dùng Znh toán song song – Chẩn đốn hình ảnh y tế (Medical image diagnosis) – Thiết kế dược phẩm – Quản lý các tập đoàn quốc gia, đa quốc gia – Mơ hình tài chính và kinh tế – Đồ họa nâng cao, thự tại ảo, công nghiệp điện ảnh – Video mạng (Networked video) và công nghệ đa phương Gện – Môi trường làm việc cộng tác • Tiết kiệm thời gian và/hoặc 7ền bạc: – Máy Znh song song có thể xây dựng trên các thành phần giá rẻ – Rút ngắn thời gian là sự Gết kiệm đáng kể 17 18 Giải những bài tốn lớn • Nhiều vấn đề q lớn và/hoặc quá phức tạp; nên không thực tế hoặc không thể giải quyết được một máy Znh đơn, đặc biệt khi bị giới hạn về nhớ 19 • Chẳng hạn: – Những bài toán thách thức lớn (Grand Challenge) được đặt ra đòi hỏi nguồn tài nguyên Znh toán lên đến cả Peta phép Znh trong một giây – Động cơ œm kiếm để xử lý hàng triệu phiên giao dịch 1 giây 20 11/7/12 Các thách thức (Grand Challenge) (en.wikipedia.org/wiki/Grand_Challenge) • Động lực học chất lỏng và chất khí • Tính tốn cấu trúc điện tử cho việc thiết kế vật liệu • Động lực học Plasma ứng dụng cơng nghệ nhiệt hạch và an toàn hiệu quả trong qn sự • Những Znh tốn về sự hiểu biết bản chất cơ bản vật chất • Các Znh toán tượng trưng (Symbolic) như: – speech recogniGon – computer vision – natural language understanding – simulaGon of complex systems 21 22 Sử dụng nguồn tài nguyên không địa phương (non-‐local resources) • Cung cấp đồng thời: Một nguồn tài ngun Znh tốn đơn chỉ có thể làm một công việc ở vào một thời điểm • Dùng nguồn tài ngun Znh tốn trên một mạng diện rộng, hoặc ngay cả trên mạng Internet khi nguồn tài nguyên tại chỗ trở nên cạn kiệt – Nhưng với nhiều nguồn tài ngun Znh tốn, nhiều việc có thể được làm một cách đồng thời Chẳng hạn, hệ thống Access Grid (www.accessgrid.org) cung cấp mạng lưới cộng tác tồn cầu, ở đó mọi người có thể gặp nhau và chỉ đạo công việc một cách sát thực 23 24 11/7/12 SETi@home • Chẳng hạn: • SETI (Search The Extraterestrial Intelleigence -‐ Tìm kiếm trí tuệ ngoài Trái đất): là một lĩnh vực khoa học với mục Gêu là để phát hiện cuộc sống thơng minh ngồi Trái đất – SETI@home (seGathome.berkeley.edu) sử dụng 2,9 triệu máy Znh kết nối Internet ở khắp các nước – Folding@home (folding.stanford.edu) sử dụng máy Znh trên 450.000 campus 25 26 Folding@home • Hệ thống bao gồm: – Đài phát thanh SETI, sử dụng kính viễn vọng radio để nghe các Zn hiệu vô tuyến băng thông hẹp từ không gian Tín hiệu xảy ra một cách tự nhiên, sẽ cung cấp chứng của cơng nghệ ngồi Trái đất – Làm đài phát thanh SETI bằng cách sử dụng một siêu máy Znh ảo bao gồm số lượng lớn các máy Znh kết nối Internet (5/1999) 27 • Mục 7êu: Tạo mơi trường Znh tốn phân tán nhằm œm hiểu về sự kết xoắn và các đột biến của protein, cũng như các bệnh tật gây ra bởi các biến chứng này Xuất phát từ Phịng thí nghiệm Pande, Standford University 28 11/7/12 • Protein là những "chú ngựa thồ" trong sinh học, và là cỗ máy siêu nhỏ • Trước khi protein có thể lãnh trách nhiệm cực kỳ quan trọng, chúng tự kết xoắn lại với nhau -‐ hay cịn gọi là "fold" • Q trình kết xoắn của protein, mặc dù đó là nền tảng căn bản quan trọng trong sinh học, vẫn còn là điều mơ hồ và vẫn chưa có câu giải thích đích đáng 29 30 Giới hạn của Znh toán tuần tự • Hơn nữa, khi sự kết xoắn của proteins bị sai lệch (cịn gọi là "misfold"), chúng có thể tạo ra những hậu quả hết sức nghiêm trọng như: • Cả những lý do vật lý cũng như thực tế đặt ra việc cần phải xây dựng những máy Znh nhanh hơn máy Znh tuần tự, cụ thể: – Alzheimer: chứng bệnh mất trí – Mad Cow: bệnh bò điên – Parkinson: bệnh phân liệt – Và nhiều bệnh ung thư khác – Tốc độ truyền: Phụ thuộc một cách trực Gếp vào việc liệu di chuyển thông qua các phần cứng Cụ thể • Giới hạn tuyệt đối bởi tốc độ ánh sáng là 30 cm/nanosecond; của dây đồng là 9 cm/nanosecond 31 32 11/7/12 – Giới hạn trong việc thu nhỏ: Công nghệ vi xử lý giúp tăng số transitor đặt trên một con chip Tuy nhiên, khả đạt được cũng cịn gặp nhiều khó khăn – Giới hạn về kinh tế: Một bộ xử lý đơn mạnh gía thành cao hơn nhiều so với việc sử dụng nhiều bộ xử lý với giá vừa phải – Kiến trúc máy Znh hiện đại cho phép có thể nâng cao lực xử lý, cụ thể có các kiến trúc: • Nhiều bộ phận thực thi (MulGple execuGon units) • Kiến trúc lệnh đường ống (Pipelined instrucGons): cho phép nạp một lệnh mới trong khi CPU đang xử lý lệnh trước đó • MulG-‐core 33 34 35 36 Một cách tổng quát • Ai và những gì đã làm về Tính tốn song song 11/7/12 Sự phát triển Ngay cả đơn vị đo Znh tốn • Với sự phát triển trong hơn 20 năm qua cho thấy nhờ sự nhanh hơn của mạng lưới, hệ thống phân tán và kiến trúc máy Znh đa xử lý, cho thấy sự song song là tương lai của máy Znh • Ngay trong cùng một thời điểm hiện tại, đã có máy Znh nhanh hơn nhau gấp hơn cả 1000 lần • • • • • • • • • Yflop/s (YoIaFlop/s) = 1024 Flop/s Zflop/s (ZeIaFlop/s)= 1021 Flop/s Eflop/s (ExaFlop/s) = 1018 Flop/s Pflop/s (PetaFlop/s) = 1015 Flop/s Tflop/s (TetraFlop/s)= 1012 Flop/s Gflop/s (GigaFlop/s) = 109 Flop/s Mflop/s (MegaFlop/s) = 106 Flop/s Kflop/s (KiloFlop/s) = 103 Flop/s Flop/s = 1 FloaGng Point OperaGon per Second 37 Máy nhanh nhất (6/2012) 38 Máy nhanh nhất 6/2012 • Khả năng thực hiện khoảng 16.324.751.000.000.000.000 Flop/s • Đặt tại Lawrence Livermore NaGonal Laboratory, Bộ Năng lượng, Hoa Kỳ • Để thực hiện các nghiên cứu về Vật lý và Hóa học • Máy có 1.572.864 Core 39 40 10 11/7/12 Độ đo vật lý Minh chứng về sự kết nối • Rpeak: là độ đo lý thuyết đỉnh điểm – Được xác định bằng cách Znh số phép Znh cộng và nhân được hoàn thành trong suốt một chu kỳ thời gian máy – Chẳng hạn, máy với 1.5 GHz có thể hồn thành 4 phép Znh trong một cycle, thì hiệu suất lý thuyết là 6 GFlop/ s • Sự phát triển mạng các máy Znh nối kết lại làm thay đổi bộ mặt của lĩnh vực Znh tốn • Từ tốc độ 10 Mbps, băng thơng kết nối có thể vượt tốc độ Giga (Gigabit Ethernet, Infiniband, Myrinet, Quadric, v.v ) • Rmax: là độ đo cực đại mà máy Znh có thể thực được theo chuẩn LINPACK 41 Kiến trúc máy trong 10 năm qua 42 Thống kê theo kiến trúc • Theo số liệu 6/2003 (hIp://www.top500.org) – Trong số 500 máy nhanh nhất thế giới, có 149 hệ thống dạng cluster (hệ thống nhóm máy mạng) – Trong số 149 hệ này có 23 máy tự làm (self-‐made) • Đến 6/2012 43 44 11 11/7/12 Theo hệ điều hành 10 năm qua Theo hệ điều hành (11/2011) • 11/2011 45 46 • 6/2012 Khái niệm và thuật ngữ 1. Kiến trúc máy Znh Von Neumann 2. Phân loại kinh điển của Flynn 3. Một vài thuật ngữ song song tổng quát 47 48 12 ... đó • MulG-‐core 33 34 35 36 Một cách ? ?tổng qt • Ai ? ?và những gì đã làm về ? ?Tính tốn ? ?song ? ?song 11/7/12 Sự phát triển Ngay cả đơn vị đo Znh ? ?toán • Với... nhiều nguồn tài nguyên Znh ? ?toán, ? ?bài ? ?toán được giải quyết ít thời gian so với chỉ một nguồn tài ngun Znh tốn • Tính tốn ? ?song ? ?song là một sự Gến hóa của Znh... Gết ? ?và đại dương 11 12 11/7/12 Sử dụng Znh tốn ? ?song ? ?song • Giao thơng đơ thị • Chế tạo máy bay • Những mãng băng trôi • Về mặt lịch sử, Znh ? ?toán song