Xem mẫu

  1. NÂNG CAO TỐC ĐỘ SẮP XẾP DỮ LIỆU VỚI THUẬT TOÁN PSRS TRÊN HỆ THỐNG XỬ LÝ SONG SONG ThS. Bùi Thanh Tuyền Giảng viên Khoa Cảnh sát phòng, chống tội phạm sử dụng công nghệ cao Học viện Cảnh sát nhân dân Ngày tòa soạn nhận được bài báo: 06/03/2020 Ngày phản biện đánh giá:16/03/2020 Ngày bài báo được duyệt: 26/03/2020 Tóm tắt: Nhu cầu khai thác, tìm kiếm thông tin của con người ngày càng cao thì việc nâng cao tốc độ sắp xếp dữ liệu, phục vụ cho quá trình tìm kiếm thông tin lại càng trở nên quan trọng hơn bao giờ hết. Có rất nhiều thuật toán có thể giải quyết bài toán nâng cao tốc độ sắp xếp dữ liệu, bài báo này tập trung nghiên cứu và ứng dụng lập trình song song cài đặt thuật toán PSRS (Parallel Sorting by Regular Sampling- Sắp xếp song song dựa trên mẫu chuẩn). Tác giả sử dụng hệ thống IBM Linux Cluster 2350 để mô phỏng, thuật toán PSRS đã cho kết quả tốc độ sắp xếp dữ liệu tốt hơn khi chạy trên hệ thống xử lý tuần tự. Từ Khóa: PSRS, Xử lý song song, Sắp xếp dữ liệu lớn… 1. Giới thiệu thuật toán sắp xếp song hầu hết các mô hình song song hiện tại đang song dựa trên các mẫu chuẩn PSRS được sử dụng với số bộ xử lí là tùy ý. Tác giả sẽ mô tả, tính toán độ phức tạp, mô phỏng về So với các thuật toán sắp xếp thông giải thuật PSRS tại các phần tiếp theo.[2] thường, PSRS là một thuật toán sắp xếp song song với nhiều ưu điểm. Nó giữ nguyên được 2. Giải thuật PSRS kích thước của mảng, giữ được sự cân bằng Thuật toán PSRS bao gồm có 6 pha phân tải trong các tác vụ, tránh được việc truyền biệt. PSRS sử dụng mô hình truyền thông thông lặp lại các khóa. điệp để gửi, nhận, truyền thông, phân chia và PSRS là sự kết hợp của một thuật toán tập hợp các dữ liệu. Trên hệ thống sử dụng sắp xếp tuần tự, một quá trình trao đổi dữ liệu p bộ xử lí và sắp xếp mảng có kích cỡ n, khi và một bước trộn song song. Mặc dù bất kỳ đó, thuật toán trải qua 6 bước thực hiện như một thuật toán sắp xếp và trộn tuần tự nào sau [2]: đều có thể sử dụng được, nhưng PSRS sử Bước 1. Khởi tạo ban đầu dụng thuật toán sắp xếp Quicksort và liên tiếp 2 cách trộn. Thuật toán này phù hợp với Với p bộ xử lí, lựa chọn một bộ xử lí làm TẠP CHÍ KHOA HỌC 3 QUẢN LÝ VÀ CÔNG NGHỆ
  2. cách lấy ra các phần tử có chỉ số 𝑝𝑝 + h h cỡ 𝑛𝑛. chọn có khoảng cách đều nhau. Cụ thể, 𝑓𝑓, 2𝑝𝑝 + 𝑓𝑓, … , (𝑝𝑝 − 1)𝑝𝑝 + 𝑓𝑓 với 𝑓𝑓 = i chia các gốc (bộ phẩn xử dữ liệu, sắp xếp lí tử 0), ở khởi vị tạo trí 1,bộ𝑤𝑤dữ liệu + 1, 2𝑤𝑤 với+kích Bước 6. Tập hợp dữ liệu cuối cùng cỡ n. 𝑝𝑝 ⌊2⌋. Tiếp 𝑛𝑛 theo, bộ xử lí gốc Bộ sẽxử truyền lí gốc sẽ tập hợp tất cả dữ liệu và chọn các mẫu 1, . .Bước . , (𝑝𝑝 − chuẩn. 1)𝑤𝑤 + 1 với 𝑤𝑤 = [ ] được 2. Phân chia dữ liệu, 𝑝𝑝sắp 2 xếp cục lắp ráp các danh sách được sắp xếp trên mỗi bộ và lựa chọn các mẫuthông chuẩn. các phần tử chốtbộnày xử đến 𝑝𝑝 −danh lí thành 1 sách được sắp xếp gồm n chọnban a dữ liệu để làmđầu mẫu. cho 𝑝𝑝 phần tử ban đầu. Thuật toán kết thúc. Phân chia dữ liệu banbộđầu xử cho lí cònp bộ lại.xử lí. 6bộ xửBước lí sẽ Mỗi bộsắp xử Tập 3. líxếp cụcxếp sẽ sắp hợp vàcục trộn bộ các tập dữ mẫu,liệu với 3. Tính toán độ phức tạp thuật toán PSRS cáchBước 4. Phânthuậtchia toándữ liệu cục bộ tại các 𝑛𝑛 h với kích lựa thước kích chọn thướcphần 𝑝𝑝 bằng tử bằng chốt. sử dụng Độ phức tạp của giải thuật được xem xét bộ xử lí dựa trên các phần tử chốt. n thuậtQuickSort toánBộQuickSorttuần tự. Sau đó, mỗi bộ xử lí sẽ lựa dưới ba yếu tố: Độ phức tạp về thời gian, độ ính chọn chọnra pcóphần xử lítửgốc khoảng từcáchsẽ dữ tập tập hợp đềuliệu của nhau. tấtCụ cảthể, mình để phức tạp về không gian sử dụng, độ độ phức ữó, mỗi làm bộmẫu. xử lí Các sẽ lựa mẫu thành được lựa phân ra 𝑝𝑝 chọn Mỗi chọn lớplàm có dựa mẫu bộ xử khoảng lí vào 𝑝𝑝ở− 1 phầntạpsẽ phân khi thành chia việc dữ truyền thông tính phần toán. Thờitử. gianTrong truyềnđó, độ giải các phầnphẩn các tử đãtử được ở vị trí cách đều nhau. Cụ thể, các phẩn tử ở vị trí 1, 𝑤𝑤 + 1, 2𝑤𝑤 + phức tạp về không gian sử dụng là tổng số ní tử từ𝑝𝑝 tập bộ xử dữ lí. liệu Điều tửcủa quan liệu cục bộ đã được sắplượng chốt đã chọn. trọng cần để ý đó xếp củalànóthời thông không ra gian gian yêu yêu cầu cho các bộ cầu chuyển qua tất các ] 1,mẫu . . . , (𝑝𝑝 1,w+1,2w+1,...,(p-1)w+1− 1)𝑤𝑤 + 1 với với 𝑤𝑤w= 𝑛𝑛 = [𝑝𝑝2 ] được được xử lí để di chuyển các bộ xử lí để hoàn thành tất cả các việcthông điệp Thời tính toán. , mẫu. Các được lựa Bước 5. Tập hợp và trộn các phân là mỗi tập hợp các phần tử mẫu tại mỗi chọn để làm mẫu. gian trong truyền thông quá trình là thời tính gian yêu cầu cho các toán.[1] n chọn để làmlớpmẫu. tại các bộ xử lí. bộ xử lí để di chuyển tất cả các thông điệp bộ xử lí đã3.được Bước sắp xếp. Tập hợp Có 𝑝𝑝 và trộn cáctậpmẫu, hợp lựa trong quá trình tính toán.[1] chọn phần tử chốt.Bộ xử lí thứ 𝑖𝑖 sẽ tập hợp dữ liệu ó 6 được sắp 3.xếp Bước và hợp Tập sử dụng thuậtcáctoán và trộn mẫu, Bộ xử lí gốctrong sẽ tập hợp phân lớptất thứcả𝑖𝑖(1 các ≤ phần 𝑖𝑖 ≤ 𝑝𝑝)tử từ các đã lựa ình trộn đểchọn được chọnphần trộn chúng tử ra làm chốt. lạimẫu vớiởnhau. p bộ Từ 𝑝𝑝2Điều xử lí. bộ xử lí khác. Mỗi phân lớp này sẽ quan trọng cần để ý đó là mỗi tập hợp các yền phần tử đã sắp đượcxếp này, lựa chọn ra ộ phần tử mẫu Bộ tại xử lí sắp mỗi gốcxếp bộ xửsẽ lívàđãtrộn tập đượclại với hợp tấtnhau. sắp xếp. cả dữ Có p tập hợp được sắp xếp 𝑝𝑝 − 1 giá trị để làm phần tử chốt bằng và sử dụng thuật ộ toán cáctrộnphần để tử đã chúng Bước trộn được 6. Tập chọnhợp lại vớira làm liệu mẫu dữnhau. cuối ởp2 Từ cùng ử lí cách phần lấy tử đãra sắp các xếpphần tử lựa này, có chỉchọnsốra𝑝𝑝p+ -1 giá 𝑝𝑝 bộ xử lí. Điều quan trọng trị để làm phần tử chốt bằng cách lấy ra tất Bộ xử lí gốc cần sẽ tậpđểhợpý đó cáccả dữ đó, 𝑓𝑓, phần 2𝑝𝑝 + 𝑓𝑓, … tử cótập , (𝑝𝑝 chỉhợp − số và 1)𝑝𝑝 + 𝑓𝑓 với 𝑓𝑓 = là mỗi liệu p+f,2p+f,…,(p-1)p+f các lắpphần ráp các tử mẫu danh sáchtạivới mỗi f= sắp được p hiện 𝑝𝑝 ⌊ ⌋bộ .. Tiếp Tiếp đã xếp xử lítheo, theo, đượctrên mỗi bộ xử lí thành danh sách bộxử bộ sắp xử xếp. lí lígốcgốcsẽCó tập thông 𝑝𝑝truyền sẽtruyền hợp 2 được sắp xếp gồm n phần tử ban đầu. cácđược phần sắp xếpnày tử chốt và đến sử dụng p-1 bộ thuật toán xử lí còn lại. thông các phần tử toán Thuật chốtkếtnày đến 𝑝𝑝 − 1 thúc. 𝑝𝑝 trộn Bước để 4.trộn Phânchúng chialạidữ vớiliệu nhau. cụcTừ 2 bộ𝑝𝑝tại bộ xử lí còn lại. các bộ xử lí dựa trên các phần tử chốt. c phần tử đã sắp xếp này, lựa chọn ra bộ Mỗi bộ xử lí sẽ phân chia dữ liệu cục bộ g Bước 𝑝𝑝 −4.1Phân chia giá trị để dữ làmliệu cụctử phần bộchốt tại các bằng đã được sắp xếp của nó ra thành p phân lớp bộ dựa vào p-1 phần 3. Tính toánđã độ phức tạp thuật toán bộ cách xử lí dựa lấy trên ra các các phần tử chốt phần tửchọn. tử chốt. có chỉ số 𝑝𝑝 + t PSRS Bước 5. Tập hợp và trộn các phân lớp a tại 𝑓𝑓, các Mỗi 2𝑝𝑝 bộ 𝑓𝑓,bộ… +xử , (𝑝𝑝 Độ lí.xử phức lí− sẽ 1)𝑝𝑝 +tạp𝑓𝑓 của phân với giảidữ chia 𝑓𝑓thuật = được xếp liệuBộ𝑝𝑝cục xửbộ xem xét dưới ba yếu tố: Độ phức tạp đã iđược sẽ tậpsắp hợpxếp củatrong nó raphân a ⌊thứ⌋ lí thứ . i(1≤i≤p) Tiếp theo, bộbộ dữ liệu xửxửlíđộ gốc sẽMỗi truyền lớp vềtừ thời các gian, lí phức khác. tạp về không phân n. 2 a lớp này sẽ được giansắpsửxếp và trộn dụng, độ lại độ với phứcnhau. tạp khi thông các phần tử chốt này đến 𝑝𝑝 − 1 o 𝑝𝑝 truyền thông phần tử. Trong đó, độ 3.1 Độ phức tạp về thời gian bộ4xửTẠP lí CHÍ cònKHOA lại. HỌC cục QUẢN phức LÝ VÀ tạp về CÔNG NGHỆkhông gian sử dụng là Trong pha thứ 2 của giải thuật, tổng số lượng không gian yêu cầu ằng Bước 4. Phân chia dữ liệu cục bộ tại các mỗi bộ xử lí thực hiện sắp xếp dữ liệu
  3. ầu tính có kích cỡ 𝑂𝑂 .(Sửlog dụng+thuật 𝑝𝑝 + toán + trộn trộn toán danh 𝑝𝑝 kích trong cỡ sách là phađãnày 𝑝𝑝 thànhđượcmột sắpdanh xếp với sách được 𝑛𝑛 𝑝𝑝 𝑛𝑛 𝑝𝑝 𝑝𝑝 𝑛𝑛 𝑛𝑛 𝑝𝑝 𝑝𝑝 log 𝑝𝑝 ) gian yêu cầu tính toán trong pha này trong trường hợp này yêu cầu thời gian bằngkích QuickSort. Kích thước của dữ 𝑂𝑂 ( log + 𝑝𝑝 + 𝑛𝑛+ log 𝑝𝑝 ) cỡsắp là 𝑝𝑝xếp thành với mộtkích danh cỡ sách là 𝑝𝑝 2được ,𝑛𝑛 và sau danh trong đó sách trường 𝑝𝑝có kích hợpthước 𝑝𝑝 này yêu 𝑝𝑝 2 mà cầu 𝑝𝑝 𝑛𝑛sau thờikhi gian 𝑛𝑛 là: 𝑛𝑛 thời là 𝑂𝑂( log 𝑝𝑝) 𝑝𝑝= 𝑂𝑂( (log ) + log 𝑝𝑝 iệu 𝑛𝑛sắp trên xếp 3.1 Độ mỗi bộ phức với kích xử tạp cỡlà 1là về 𝑝𝑝2 ,sau gian và sau 𝑝𝑝 đó 𝑛𝑛 𝑛𝑛 𝑛𝑛𝑝𝑝 𝑝𝑝 𝑛𝑛 chọn ra 𝑝𝑝lí − phầnvà tử đó làm chốt. là Sử𝑂𝑂( log trộn mỗi𝑝𝑝 danh sách trên mỗi 𝑝𝑝) = 𝑂𝑂( (log bộ𝑝𝑝xử lí sẽ 𝑝𝑝 ) + log 𝑂𝑂 ( log Trong + 𝑝𝑝)pha 𝑛𝑛 thứ𝑛𝑛2 của 𝑝𝑝 giải thuật, mỗi bộ xử 𝑝𝑝 + 𝑝𝑝 𝑝𝑝chọn 𝑝𝑝ra 𝑂𝑂 𝑝𝑝 − bằng 1thuậtphần QuickSort. tử làm bằng chốt. Kích Sử thước của 𝑛𝑛 dữlí song +1 𝑛𝑛 lí thực dụnghiện ( sắp log xếp + toán 𝑝𝑝) liệu dữ trộn, quá trình Tổng QuickSort. xử thời lí gian xử danh song sách có kích thước mà sau k chọn ra 𝑝𝑝 phần tử𝑝𝑝làm 𝑝𝑝mẫu. Do đó thời có kích cỡ . Sử dụng + 𝑝𝑝 +thuật1 toán trộn 𝑝𝑝2 dụng thuật toán trộn, quá trình xử lí2lí là 𝑛𝑛 Tổng 𝑝𝑝 thời gian xử 𝑛𝑛 lí song song g pha thứ Kích trộn 3, thước bộ gian yêu cầu tính toán trong pha này này củaxử liệu thực dữlí trên gốc liệu hiện trênmỗi mỗi bộ hết sẽ là: bộ xử 𝑂𝑂(𝑝𝑝 xử lí log là 𝑝𝑝). và sau đó 𝑝𝑝 = trộn 𝑂𝑂(mỗi 𝑙𝑙𝑙𝑙𝑙𝑙danh𝑛𝑛 +sách 𝑝𝑝 + 1) trên mỗi bộ xử lí trộn Trong này pha thứ 3, bộ xử lí 2 gốc trongsẽ là: trường hợp này 𝑛𝑛 yêu 𝑝𝑝cầu thời gian hà:sách và đãsau Tổng được đóthực thờixếp chọn sắp hiệngian ra pvới hết yêu cầu phần 𝑂𝑂(𝑝𝑝 tử làm là:log mẫu. 𝑝𝑝).Do đó = chọn ra 𝑝𝑝 phần tử làm 𝑛𝑛 mẫu. 𝑛𝑛 là: Do đó 𝑛𝑛 thời 𝑛𝑛 𝑂𝑂(𝑝𝑝 𝑙𝑙𝑙𝑙𝑙𝑙 𝑛𝑛 + 𝑝𝑝 +𝑛𝑛1) trộnTổng thời 𝑝𝑝 danh gian thời yêu sách giansách cầu đã được yêu tính cầu là: toán sắp xếptrong pha 𝑂𝑂 (vớilog là + này 𝑂𝑂( 𝑛𝑛 𝑝𝑝 +𝑛𝑛log+𝑝𝑝) 𝑛𝑛𝑝𝑝 logDo 𝑝𝑝 )𝑛𝑛 𝑛𝑛 cỡ 𝑝𝑝. Sử dụng thuật toán trộ có kích 𝑝𝑝 thành một danh 𝑛𝑛 gian2 log 𝑂𝑂(𝑝𝑝 𝑛𝑛 được yêu𝑝𝑝cầu + (𝑝𝑝tính 𝑝𝑝 − 1toán )) trong 𝑝𝑝 𝑂𝑂 𝑝𝑝( pha lognày+ 𝑝𝑝 + đó 𝑝𝑝 ta có hệ số tăng tốc + log 𝑝𝑝 ) kích cỡ là𝑂𝑂𝑝𝑝(thành 2 log một + 𝑝𝑝) danh sách được 𝑝𝑝 𝑛𝑛 Do 𝑝𝑝 đó Do đó tatatrong 𝑛𝑛 𝑝𝑝 có có hệ𝑝𝑝trường số hệ tăng số hợp tốc tăng nàytốcyêu cầu Speedup đượcthời gi i kích cỡ là 𝑝𝑝𝑝𝑝 𝑂𝑂(𝑝𝑝 log,2 và sau 𝑝𝑝 đó là:𝑝𝑝 + 𝑝𝑝2 − 1 )( ) Speedup được tính bằng: = 𝑂𝑂(tính (logbằng: ) + log 𝑛𝑛xử𝑝𝑝lí𝑛𝑛 song 𝑛𝑛 sắp xếp với kích Trong cỡ làpha 𝑝𝑝 4, , và mỗi sau bộ đó xử lí phân Tổng Speedup 𝑝𝑝 thời được 𝑝𝑝=gian tính bằng: song − 1 phần tử làm chốt. Sử 𝑂𝑂( là 𝑂𝑂( (log log ) +𝑝𝑝)log 𝑝𝑝 là:+ 𝑝𝑝 + 1 𝑆𝑆(𝑛𝑛, 𝑝𝑝) =𝑝𝑝 𝑝𝑝 𝑝𝑝 𝑛𝑛 log 𝑛𝑛 chọnTrong raTrong Trong 𝑝𝑝chia −pha 1pha thứ 𝑛𝑛 pha phần phần thứ 4,3,tử 3, mỗi tử bộbộlàm được xửxử xử bộ lílígốc chốt. sắp 𝑂𝑂 ( cỡ 𝑛𝑛 phân lígốc xếp. trộn Sử 𝑛𝑛 p sẽ log p+thànhThời danh 𝑝𝑝) t toánsách trộn,đãquá được𝑝𝑝 trình sắpxử xếplívới kích 𝑝𝑝 làbộ 𝑝𝑝 xử lí2 yêu cầu một + 𝑝𝑝cặp 𝑛𝑛 𝑛𝑛 log𝑛𝑛𝑛𝑛 + 1bộ(log nhớ𝑝𝑝 đệm + log 𝑝𝑝 + 𝑝𝑝 + 1) thời gian xử líQuá songtrình 𝑛𝑛 rộndụngchia danh 𝑝𝑝 một thuật phần danh sách tửđãđược toán sách đượcđược trộn, sắpquá sắpsắp xếp. xếpvới trình xếp Thờivới xử kích lí cỡ là 𝑛𝑛p 𝑛𝑛𝑆𝑆(𝑛𝑛, 𝑛𝑛𝑝𝑝) = 𝑛𝑛 𝑛𝑛 𝑛𝑛𝑝𝑝𝑛𝑛 Tổng son hực hiện 𝑝𝑝 , và sau hếtđó𝑂𝑂(𝑝𝑝 chọn 2 logra 𝑝𝑝). p-1 phần 𝑛𝑛 tử làm chốt. 𝑂𝑂Sử ( log + 𝑝𝑝 + (log + +log log 𝑝𝑝 𝑝𝑝 ) + 𝑝𝑝 + 1) bộ xử lí yêu là 𝑝𝑝gian cầnmột thiết là: 𝑂𝑂 ( 2). có = kích 𝑂𝑂( cỡ 𝑙𝑙𝑙𝑙𝑙𝑙 𝑛𝑛 +[2] 𝑝𝑝 + 1) 𝑝𝑝 log 𝑛𝑛 hành trên hệ thố kích trộncỡdụng này thành thực thuật hiệntrộn, toán danh hết𝑛𝑛 Trong quásách 𝑂𝑂(𝑝𝑝 𝑝𝑝 được trình pha logxử𝑝𝑝). thứ lí trộn 3, này bộ𝑝𝑝 𝑝𝑝xửlàlí𝑝𝑝. 𝑝𝑝gốc 𝑛𝑛𝑝𝑝 𝑝𝑝sẽ 𝑝𝑝là: = 𝑂𝑂( 𝑙𝑙𝑙𝑙𝑙𝑙 𝑛𝑛 + 𝑝𝑝 𝑝𝑝 = + 1)  có kích cỡ là gian gianyêu cầu cần là: thiết là:O(𝑂𝑂p2(logp). ). Tổng thời gian yêu ắpTổng thực xếpthời hiện với gian hết kíchyêu cỡtrộn là 𝑝𝑝𝑝𝑝 2 𝑝𝑝 𝑛𝑛 𝑝𝑝 log 𝑛𝑛 log 𝑛𝑛 𝑛𝑛 + 𝑝𝑝 + 1 2350: cầu là:,danh 𝑝𝑝 và sau sáchđóđã3.3 được Độ sắp xếptạp với= 𝑂𝑂(= (log cầu là: Trong pha thứ 5, bộ xử Do líđó thứphức ta𝑖𝑖 có 3.2 hệ truyền Độsố phức tăng 𝑝𝑝 thông log 𝑛𝑛 ) +𝑛𝑛log 𝑝𝑝 𝑛𝑛 𝑛𝑛 tốc 𝑛𝑛 tạp 𝑝𝑝+ 𝑝𝑝 +không về 1 𝑝𝑝 +gian 𝑂𝑂 ( log về𝑝𝑝không + + 3.3 logĐộ 𝑝𝑝 ) - 8 phức 2 ( ) 𝑝𝑝 logra𝑝𝑝 + chọn 𝑝𝑝 −𝑝𝑝1− 1 ) kích phần tử làm cỡ là chốt. 𝑝𝑝 thành Sử một danh sách Do được 3.2 đó Độta phức có hệ tạp 𝑝𝑝 số tăng gian tốc 𝑝𝑝 𝑝𝑝 node Trong 𝑂𝑂(𝑝𝑝 2 trộn log 𝑝𝑝phadanh 𝑝𝑝bằng+thứ 𝑝𝑝 5, (sách − bộ 1 được ) ) xửSpeeduplísắp thứxếp. 𝑖𝑖 Mỗi được Trong tính 3.2 bằng: Độ phaphức 2, tất tạp cả về 𝑛𝑛 không phần gian tử 𝑛𝑛 QuickSort. Kích thước của Bộ dữ+xử 𝑝𝑝 + 1 (0) lí danh sách cóđược kích thước màTrong sau dụng g pha thuật 4, mỗi toán bộ xử trộn,sắp lí phân quáxếp trình với xử kích bằng lícỡQuickSort. là 𝑝𝑝 2 , Speedup và sau Kíchđượcđó tính thước Bộ gốc bằng: xử của chứa lídữlạigốc (0) mảng 𝑛𝑛gồmcó chứa 2𝑛𝑛 được kích 2 chip Intek trộn 𝑝𝑝 danh danh sách sách này được sắp xếp. được tạo ra bằng các𝑛𝑛sử Mỗi được chia cắt. cỡ n, mỗi bộ xử lí còn cần danh =chứa 𝑂𝑂( sách(log được 𝑝𝑝 cómảngkích ) + logthướ 𝑝𝑝 Trong Trong pha pha 4, liệu 4, mỗi mỗi trênbộ bộ xửmỗi 2xử lí phân bộ lí phânxử líchia là và sau 𝑛𝑛 log đó𝑛𝑛 𝑛𝑛 𝑝𝑝 𝑝𝑝 rộn này thực hiệnchọn tử được danh sắp sách xếp. này Thời được hết ra tạo 𝑂𝑂(𝑝𝑝𝑝𝑝 −log ra bằng 𝑝𝑝). (phần 1𝑆𝑆liệu 𝑛𝑛, trên các )sửtử 𝑝𝑝chọn =mỗi làm𝑝𝑝 bộchốt. = xửkích Bộ 𝑂𝑂( Sử mảng lí cỡlà xử𝑛𝑛cólítrộn 𝑙𝑙𝑙𝑙𝑙𝑙 𝑛𝑛 .và +𝑛𝑛 Mỗi gốcmỗi kích 𝑝𝑝bộ sau +cỡ (0)danh đó1) xử 𝑛𝑛,líchứa mỗi yêu sách bộ cầu được xử được GHz, trên một lícặp mỗi 2 bộ còn chia GB cắt bộ xử lí RA 𝑛𝑛 dụng các phần tử chốt được trong 𝑛𝑛 𝑛𝑛 𝑝𝑝3, log 𝑛𝑛 trộn 2+ 𝑝𝑝lí +mỗi 1 𝑛𝑛danh sách trê Tổng chiathời phần phần tử tử gian yêu được được cầu sắp dụng sắplà: xếp. xếp. Thời thuật Thời gian cần toán trộn, thiết quá 𝑝𝑝 Trong (log là: (𝑛𝑛,𝑝𝑝𝑝𝑝)+ 𝑆𝑆mảng trình pha xử=log có kích lí 𝑛𝑛 𝑝𝑝bộ 𝑝𝑝 xử + cỡ𝑝𝑝 +𝑛𝑛, 𝑛𝑛 lí 1)gốc mỗiđọc bộ𝑛𝑛𝑝𝑝xử còn DVD ROM. Tổ dụng các 𝑛𝑛phaphần chọn tử chốt ra 𝑝𝑝 đượchợp phần tử chọnlýtrong làm mẫu. Do đó lại thời cần chứa có có được kích mảng cỡp. [2] kích . Sử1)dụng 𝑝𝑝thuậtcỡ . Mỗi Trong 𝑛𝑛 toán trộ 𝑝𝑝 3, trong trường chọntưởng, ra phần 𝑝𝑝trị. mỗi tử nhớ làm mẫu. đệm 𝑝𝑝 (logDo kích 𝑝𝑝 + đólog cỡ 𝑝𝑝 là thời +𝑝𝑝𝑝𝑝𝑛𝑛+ ết là: 𝑂𝑂 ( ).. trộn này lý thực hiện giá hếttrong lạiDo 𝑂𝑂(𝑝𝑝 2cần 𝑝𝑝đó log chứa log𝑝𝑝). 𝑛𝑛 taĐộ được cóphức hệmảng số kích tăngcỡtốc có 𝑛𝑛 kích cỡ . Sử dụng . Mỗicủa 8 𝑝𝑝 node là kh gianpha cần 3, 𝑂𝑂(𝑝𝑝𝑝𝑝 trong 2 thiết log là: trường 𝑝𝑝 𝑂𝑂 + gian(( 𝑛𝑛 hợp 𝑝𝑝 ).− yêu 1 ) ) cầu tưởng, 𝑛𝑛tính toán mỗi = pha này 3.3  tạp =truyền 𝑂𝑂( thông 𝑙𝑙𝑙𝑙𝑙𝑙 𝑝𝑝 𝑛𝑛 + 𝑝𝑝 giá + trị. 1) dữ danh sách có kích 𝑝𝑝 thước gian mà yêu sau cầu khi tính log toán 𝑛𝑛 + 𝑝𝑝 trong + 1 pha trong này 𝑝𝑝 logtrường 𝑛𝑛 hợp 𝑝𝑝 này yêu cầu thời gi Trong pha thứ là: 5, bộ Tổng thời xửgian lí 𝑝𝑝 thứ2yêu i trộn cầup là: Speedup danh Trongđược phaTrong 4tính = bộlog bằng: xử pha𝑛𝑛2,+tấtlí gốc truyền  trong cả n phần tử được -chia trường hợp 2 này nody gđóphaTrong thứ được sách 5,pha bộ sắp xử lí xếp. thứ Mỗi 𝑖𝑖 danh sách là: này được 𝑛𝑛𝑝𝑝 + 1 3.2 Độ phức Trong ữ danh trộnrasách mỗi 4, códanhmỗisách kích bộ xử 5,thướcbộtrên lí 𝑛𝑛phân mỗi mà bộ sau xử khi sẽtạp lí chốt vềcắt. không gianlà 𝑂𝑂( log 𝑝𝑝) 𝑛𝑛 h sách tạo Trong đượcchọn bằng pha sắptrong cácthứ xếp. pha sử dụng Mỗi3,𝑂𝑂(𝑝𝑝 xử các 22lí 𝑝𝑝 log thứ phần 𝑖𝑖thông 𝑛𝑛 𝑝𝑝 +𝑛𝑛 (𝑝𝑝 −3.2 tử 𝑝𝑝 1 −) Độ ) 1 giá trị. phức tạp về𝑛𝑛không log 𝑛𝑛 gian là 𝑂𝑂(𝑝𝑝2log 𝑝𝑝) và Stot 𝑝𝑝Do đó ta có hệ (Storage1 số tăng chia 𝑛𝑛 được phần tử được sắp 𝑛𝑛 xếp. Thời trong𝑂𝑂 ( trường log + hợp 𝑆𝑆(lý𝑛𝑛, 𝑛𝑛𝑝𝑝) = 𝑛𝑛𝑛𝑛Trong 𝑛𝑛pha 3, bộ xử lí gốc đọc p giá 𝑝𝑝) thôngtrị. 𝑝𝑝 − 1 g óhờitrộn 𝑝𝑝 𝑝𝑝có danh kích sách cỡ được . Sử sắp dụng xếp. thuật 𝑝𝑝 Mỗi Bộ toán 𝑝𝑝 xử trộn 𝑛𝑛 lí 𝑂𝑂Trong (sauloggốc (0) + chứa 𝑝𝑝)mỗi Speedupđược được tính bằng: 1) gian xử lí Intel 2 chip Xeo ước được này của trộntạo tưởng, dữmỗi radanh mỗi bằngdanh 𝑝𝑝sách các sách trên sửcómỗi kíchbộ kích xử lí sẽ mà thước thước pha khi 𝑝𝑝 (log5, 𝑝𝑝 + log bộ 𝑝𝑝 xử Tổng+lí𝑝𝑝 gửi +thời song son Trong pha 4, mỗi𝑝𝑝 bộ xử lí Bộ 2 𝑝𝑝 𝑝𝑝 Trong phânxử lí gốc pha 4 bộ xử lí gốc (0) chứa được Tổng thời gian truyền thông p-1 này 𝑛𝑛 mảng các sửcó kích 𝑛𝑛 3 GB RAM, 4x7 Trong 𝑛𝑛 danh i QuickSort. gian hần vàtử cần sách thiết chốt trong này được Kích được cỡ𝑂𝑂chọn là: trường 𝑛𝑛(thước ).tạo hợp trong racủa bằng dữ danh𝑛𝑛trộn 𝑛𝑛 cỡcó sách 𝑛𝑛,giá mỗi kích trị.thướcbộ xử lí mà cònsau khi 𝑛𝑛 log 𝑛𝑛 sau có sau đó kích khi trộn . 𝑝𝑝Sử mỗi danh 𝑛𝑛này dụng Trong yêu thuật sách cầu pha trên toán thời thứ mỗi −gian 3, bộ bộ xử mảng phầnxử có lí tử, gốc kíchdo đó, 𝑝𝑝sẽ tổng 2là:số log cỡ 𝑛𝑛,𝑛𝑛𝑆𝑆(mỗi 𝑝𝑝 𝑛𝑛 phần bộ= xử sẽ tử lí còn 𝑝𝑝 dụng các phần trộn 𝑝𝑝 chia tửcỡ mỗi 𝑛𝑛 chốt .được danh phần chọn sách tử được trên trong sắp 𝑝𝑝 mỗi Trong xếp. 𝑝𝑝bộ2 pha xửThời lí thứ sẽ = 3, bộ xử 𝑛𝑛, lí 𝑝𝑝 gốc )  𝑛𝑛 xử lí 𝑛𝑛gửi 𝑛𝑛 − là: 𝑛𝑛 ytrên mỗi lí sẽ bộ có xử kích 𝑛𝑛 lí là và 𝑝𝑝Sửsau dụng đó lạithuậtcần chứa toán được trộn mảng kích Trong log cỡ pha𝑛𝑛 + .5,Mỗi 𝑝𝑝 mỗi + 1 bộ (log + log - 1 phần node g trườnglàhợp 𝑂𝑂( lýlog tưởng, trộn 𝑝𝑝) 𝑝𝑝 mỗi 𝑝𝑝 danh 𝑛𝑛 sách đãtrộn được mỗi sắp danh xếp sáchvớiđược trên mỗi 𝑝𝑝 bộ xử lí 𝑝𝑝 𝑛𝑛 𝑛𝑛 sẽ 𝑛𝑛 𝑝𝑝𝑛𝑛 𝑝𝑝 𝑝𝑝 + 𝑛𝑛 𝑝𝑝2𝑝𝑝 + 1) . Do đó pha Trongtrong 3, thời trong trường pha 𝑝𝑝trường cóhợp thứ kích 5,hợp này bộcỡ yêu lýxử cầu . líSử tưởng, thứ thời bằng dụng trộn mỗi 𝑖𝑖 𝑝𝑝cần gian QuickSort. 𝑛𝑛thuật danh lại toáncần sáchphức chứa đãKích trộn được thước 𝑛𝑛 mảng sắpkhông xếp của kích với dữsố + cỡ . Mỗi trong trường hợp gian này cần yêu thiết 𝑝𝑝 cầu là: thời 𝑂𝑂 ( gian ). truyền 3.2 là Độ thông phần là tạp tử,− vềdo .đó, 𝑂𝑂 (tổng log gian 𝑝𝑝𝑝𝑝danh phần +tử𝑛𝑛(MGT)sách + 𝑛𝑛truyền cần cóbao log kích 𝑝𝑝 ) gồm𝑛𝑛thư ong ra 𝑝𝑝 phần tử 𝑛𝑛 làm mẫu.kích Do cỡ đólà 𝑝𝑝 thời thành một có danh sách 𝑛𝑛 được 𝑝𝑝 kích cỡ . Sử dụng𝑛𝑛thuật toán trộn 𝑂𝑂 ( logcần+truyền 𝑝𝑝 𝑝𝑝 𝑝𝑝 𝑝𝑝𝑝𝑝 log𝑝𝑝 𝑛𝑛 𝑝𝑝 + th+ rộn pha 𝑝𝑝làdanhnày sách 𝑂𝑂( log 𝑝𝑝) được trong sắp trường xếp.hợpkích kích Mỗiliệu nàycỡ cỡtrên yêulàsong là mỗi cầu 𝑝𝑝 thành bộ 𝑝𝑝 mộtlídanh xử thông là là - sách . và được sau đó = 𝑝𝑝Core𝑝𝑝 3.2  GHz, 𝑝𝑝 yêu cầu tính 𝑝𝑝 Tổng toán trong thời sắp gian xếp phavới xử nàylí song 𝑝𝑝2 ,thời và gian Bộ phasau đó xử lícuối 𝑝𝑝 gốccùng, (0) bộ chứa được log𝑛𝑛mỗi trộn 𝑛𝑛 + danh𝑝𝑝 𝑛𝑛+ 1sách tr danh sách này được tạo𝑛𝑛ra Trong bằng các sắp pha sửthứ xếp trong 5, với Trong trường bộ kích xử lí cỡ hợp thứ lànày Trong 𝑖𝑖 𝑝𝑝2yêu,phavàcầu sauthời cuối đó gian cùng, xửbộ lí=xử𝑂𝑂( lí 𝑝𝑝 gốc (log tập𝑝𝑝𝑛𝑛 ) + log𝑛𝑛𝑝𝑝 hợp gốc sẽTổnglà: thờilàgian 𝑂𝑂( log 𝑝𝑝) chọn ratửmảng phầncó tửkích làm mẫu. 3.2 Độ phức tạp về GBHDD. không =Trong gian 𝑂𝑂( ( Tổng thời chọn xử gian 𝑝𝑝 lí ra xử song 𝑝𝑝 − song lí 1song phầnsongsẽ là: 𝑝𝑝 làm chốt. Sử𝑛𝑛 cỡ 𝑛𝑛,Do mỗiđóbộ thời xử lí còn có kích cỡ . Sử dụn 𝑝𝑝 dụng các phần tử chốt trộn được 𝑝𝑝 chọn sách danh chọnđược trong ra gốc làyêu 𝑂𝑂(quá 𝑝𝑝 𝑛𝑛− sắp tập log 1 hợp phần xếp. 𝑛𝑛 𝑝𝑝) xử − Mỗi tử làm phần chốt. tử. Sử + 𝑝𝑝 + 1 𝑝𝑝 )cvới sẽ là: 𝑛𝑛 𝑛𝑛dụng thuật 𝑛𝑛 𝑛𝑛toán gian trộn, 𝑝𝑝cầu trìnhtính toán lí𝑝𝑝 trong pha này 𝑛𝑛 Bộlícỡxử. Mỗi lítrong gốctrường gốc- chứa (0) Năng tập + 𝑝𝑝hợp +đư lự1𝑛𝑛 pha 3, trong 𝑛𝑛 𝑂𝑂 ( trường𝑛𝑛 log hợp+ 𝑝𝑝 lý + tưởng, + mỗi dụng log 𝑝𝑝 ) thuật lại cần toán chứa trộn, được quá mảng trình kích xử hợp này 𝑂𝑂 ( log danh 𝑝𝑝) Tổng sáchthời này gian đượcxử tạolírasong bằng2song các Do sử đó tổng số giá trị cần 𝑝𝑝 ược 𝑝𝑝 𝑝𝑝 𝑝𝑝 +𝑝𝑝trộn này 𝑝𝑝 thực 𝑝𝑝 là: hiện hết 𝑂𝑂(𝑝𝑝 log 𝑝𝑝). 𝑛𝑛 truyềntrữthông dùnglàchung : E i 𝑛𝑛 𝑛𝑛 𝑛𝑛 𝑛𝑛 trộn này Do Tổng thực đó thời hiện tổng gian hết số giá xử 𝑂𝑂(𝑝𝑝 mảng lí 2trị song log cầncó 𝑝𝑝).= kích 𝑂𝑂( truyền song cỡ 𝑙𝑙𝑙𝑙𝑙𝑙 𝑛𝑛, 𝑛𝑛 mỗi + 𝑛𝑛 𝑝𝑝 bộ + 1) 𝑛𝑛 xử lí cò dụng các𝑛𝑛 phần𝑛𝑛tử chốt được chọn trong 𝑝𝑝 là 𝑂𝑂(HDD logSCSI 𝑝𝑝) 𝑙𝑙𝑙𝑙𝑙𝑙320 ộđóxử lí 𝑂𝑂gốc ( log sẽ+là: Tổng𝑝𝑝 = + 𝑂𝑂( thời+ (log log 𝑝𝑝 gian yêu ) )+ cầu log là: 𝑝𝑝 𝑝𝑝 = 𝑂𝑂( Do𝑛𝑛 𝑛𝑛 đó+ c Trong pha 𝑝𝑝 thứ𝑝𝑝3, bộ xử 𝑝𝑝 𝑝𝑝lí𝑝𝑝gốc𝑝𝑝Tổngsẽthông 𝑛𝑛 𝑛𝑛 lại cần chứa được mảng kích 𝑝𝑝 cỡ . M sắp xếp với pha 3, trong trường thời hợp là: gian lýlà 𝑂𝑂 :(yêulog tưởng, cầumỗilà: + 𝑝𝑝) TẠP CHÍ KHOA HỌC 5 𝑝𝑝 Sử 𝑛𝑛 𝑛𝑛 𝑛𝑛 𝑛𝑛 𝑛𝑛 𝑛𝑛 𝑝𝑝 𝑝𝑝 Do đó ta cóhệTổng QUẢN LÝ VÀ CÔNG NGHỆ hệthống thông sốthời chia là : sẻt tăng ó𝑝𝑝 danh sách đã được 𝑂𝑂=( sắp log + 𝑝𝑝 Do đó ta gian 2 + + (log 𝑝𝑝 ) + 𝑂𝑂(𝑝𝑝 xếp 𝑂𝑂(𝑝𝑝 +(log log 𝑝𝑝 1 với) + log 𝑝𝑝 𝑛𝑛 2 𝑛𝑛 + 𝑝𝑝 − 1 ) có ửh lísách được 𝑝𝑝 𝑝𝑝 𝑝𝑝 𝑝𝑝 𝑝𝑝 𝑝𝑝 𝑛𝑛 𝑂𝑂(𝑝𝑝 + 𝑝𝑝 2log 𝑝𝑝 + (𝑝𝑝𝑛𝑛− 1𝑛𝑛 + 𝑝𝑝 − 1 + 𝑛𝑛 − ) )𝑛𝑛 Speedup + 𝑛𝑛 − 𝑛𝑛 được tính v2.3.0.5. bằng: ử 𝑂𝑂 ( log + 𝑝𝑝 + + log 𝑝𝑝 ) sẽ là:
  4. Do đó tổng số giá trị cần truyền HDD SCSI 320 MBps 15KRpm, dùng thông là : hệ thống chia sẻ file: GPFS cho Linux 𝑛𝑛 𝑛𝑛 chung EXP400 với 10x73 GB HDD SCSI 320 𝑛𝑛 + 𝑝𝑝2 + 𝑝𝑝 − 1 + 𝑛𝑛 − + 𝑛𝑛 − v2.3.0.5. MBps 15KRpm, dùng hệ thống chia sẻ file: 𝑝𝑝 𝑝𝑝 GPFS cho Linux v2.3.0.5. - Các node chạy HĐH Redhat 1 = 2𝑛𝑛 (1 − ) + 𝑝𝑝2 + 𝑝𝑝 - Các node chạy HĐH Redhat Enterprise 𝑝𝑝 Enterprise Linux 3.0 vàLinux 3.0nối được kết vàvới được nhaukết nốiqua thông mạng Gethernet. với nhau thông qua mạng Gethernet. −1 - Các thuật toán được lập trình bằng ngôn 4. Mô phỏng thuật toán - Các ngữ C++ thuậtthưtoán sử dụng việnđược lậpsong lập trình trìnhsong 4. Mô phỏng thuật toán MPI. Mô phỏng nhằm mục đích kiểm tra sự 4.1 Môi trường mô phỏng: bằng ngôn ngữ C++ sử dụng thư viện 4.1 Môi trường mô phỏng: song song hóa của thuật toán PSRS. Quá trình mô phỏng được tiến hành trên 4.2 Phương pháp mô phỏng hệ thống IBM Linux Cluster 2350: lập trình song song MPI. Mô phỏng - Thay đổi số phần tử của mảng Về nguyên tắc lấy số liệu mô phỏng: - 8 node tính toán, mỗi node gồm 2 chip Intel nhằm mục đích Core kiểm tra sự songRAM, song (10 , 10 , 10số7) phần và chạy trênmảng cùng thay số bộđổi 5 6 Xeon Dual 3.2 GHz, 2 GB - Cố định tử của 1x36 GB HDD, DVD ROM. Tổng năng lực tính sốxửbộ lí, xửchạy lí sử dụng (2, 4,10 8) lần chạyđểtừđo 5 đến hóa của thuật toán PSRS. từ 5 đến thời10 toán của 8 node là khoảng 51.2 Gflops. lần để đo thời gian và lấy giá trị trung bình các lầngian chạy.và lấy giá trị trung bình các lần - 4.2 Phương 2 node phụcpháp môtrữ vụ lưu phỏng (Storage1 và Storage2), mỗi node gồm 2 chip Intel Xeon chạy. - Thay đổi số phần tử của mảng (105, 106, Dual Core Về 3.2 nguyên tắc RAM, GHz, 3 GB lấy số4x72 liệu GB mô 107) và chạy trên cùng số bộ xử lí, chạy từ 5 HDD.phỏng: 4.310Kết đến lần quả mô để đo phỏng thời gian và lấy giá trị trung bình các lần chạy. - 1 node đóng vai trò quản lí (MGT) bao 4.3.1 Kết quả mô phỏng khi chạy - Cố gồm chip Intel định Xeon sốCore Dual phần3.2 tửGHz, của 3mảng GB trên 4.3 thuật toán Kết quả môPSRS phỏng RAM, 2x36 GBHDD. thay đổi số bộ xử lí sử dụng (2, 4, 8) 4.3.1 Kết quả mô phỏng khi chạy trên - Năng lực lưu trữ: thiết bị lưu trữ dùng thuật toán PSRS chạy từ 5 đến 10 lần để đo thời gian và lấy giá trị trung bình các lần chạy. Thời gian chạy trung bình của thuật toán Input T.sequency PSRS(giây) Size (seconds) P=2 P=3 P=4 P=8 105 0.0372 0.0285 0.0199 0.0183 0.0514 106 0.4186 0.3343 0.2188 0.1947 0.2146 107 4.6197 3.1352 2.5169 2.1608 2.1887 P: số bộ xử lí sử dụng, T.sequency: thời gian tuần tự (giây) Input Size (kích thước dữ liệu đầu vào) chạy chương trình trong trường hợp xử Qua mô phỏng, trước hết nhận lí song song, với cả bốn trường hợp khi 6 TẠP CHÍ KHOA HỌC thấy rằng QUẢN thuật LÝ VÀ toán CÔNG NGHỆPSRS hoàn toàn cố định số phần tử của mảng và thay có thể song song hóa được và khi chạy đổi số bộ xử lí sử dụng (2, 3, 4, 8 bộ
  5. Qua mô phỏng, trước hết nhận thấy rằng phần tử n=1000000 thì thời gian chạy song thuật toán PSRS hoàn toàn có thể song song song nhanh gấp 2.15 lần, với n=10000000 hóa được và khi chạy chương trình có thể sử thì thời gian chạy song song nhanh gấp 2.16 dụng số bộ xử lí bất kì, không cần điều kiện lần. Trường hợp cuối cùng, sử dụng 4 bộ xử ràng buộc về số bộ xử lí sử dụng. lí so với thời gian chạy tuần tự, với số phần tử n=1000000 thì thời gian chạy song song Về kết quả mô phỏng, nhìn vào bảng kết nhanh gấp 1.95 lần, với n=10000000 thì thời quả nhận thấy rằng, thời gian chạy chương gian chạy song song nhanh gấp 2.11 lần. trình trong trường hợp xử lí song song, với cả bốn trường hợp khi cố định số phần tử của Rõ ràng, khi chạy trên đa bộ xử lí, thuật mảng và thay đổi số bộ xử lí sử dụng (2, 3, 4, toán PSRS cho kết quả hiệu quả hơn nhiều 8 bộ xử lí) kết quả đều cho thời gian chạy tốt lần so với chạy tuần tự. Số bộ xử lí cho kết quả hơn so với thời gian chạy tuần tự (sử dụng tốt nhất là 4 bộ xử lí. Qua kết quả mô phỏng, trên 1 bộ xử lí). phần nào giúp ta nhận thấy rằng, không phải cứ tăng số bộ xử lí của hệ thống lên thì thuật Cụ thể, trong trường hợp sử dụng 2 bộ toán sẽ đạt được hiệu quả tốt về thời gian. xử lí so với thời gian chạy tuần tự, với số phần Đến một lúc nào đó, khi tăng số bộ xử lí của tử n=100000 thì thời gian chạy song song hệ thống lên nhưng độ hiệu quả không thể nhanh gấp 1.5 lần, với số phần tử n=1000000 tăng lên được nữa. Do đó luôn luôn cần xác thì thời gian chạy song song nhanh gấp 1.36 định số bộ xử lí tốt nhất mà hệ thống nên sử lần, với n=10000000 thì thời gian chạy song dụng trong quá trình chạy chương trình. song nhanh gấp 1.48 lần. Trong trường hợp sử dụng 4 bộ xử lí so với thời gian chạy tuần Dưới đây là các biểu đồ thể hiện kết quả tự, với số phần tử n=100000 thì thời gian chạy thuật toán PSRS trên hệ thống song chạy songDướisong đây nhanh gấp đồ là các biểu 3 lần, với số thể hiện song: kết quả chạy thuật toán PSRS trên hệ Biểu đồ 2. Biểu đồ so sánh thời gian Biều đồ 1. Biểu đồ so sánh thời gian chạy thuật toán PSRS Biểu đồ so sánh thời gian chạy thuật toán PSRS 5 4.5 4 3.5 Thời gian(giây) 3 N=1 N=2 2.5 N=4 N=8 2 1.5 1 0.5 0 100 1000 10000 Số phần tử (nghìn) thống song song: chạy của các BXL với cùng số phần tử N=106 5. Kết luận TẠP CHÍ KHOA HỌC 7 QUẢN LÝ VÀ CÔNG NGHỆ Biều đồ 1. Biểu đồ so sánh thời gian Qua kết quả mô phỏng cũng như chạy thuật toán PSRS
  6. Biều đồ 1. Biểu đồ so sánh thời gian Qua kết quả mô phỏng cũng như chạy thuật toán PSRS căn cứ vào độ phức tạp tính toán của Biểu đồ 2. Biểu đồ so sánh thời gian chạy của các BXL thuật toánvớiPSRS, cùng số cóphần thể tửkhẳng N=106 định Biểu đồ so sánh thời gian chạy của các bộ xử lý với cùng số phần tử N=1000000 0.45 0.4186 0.4 0.35 0.3343 Thời gian (giây) 0.3 0.2755 0.25 0.2 0.2146 0.1947 0.15 0.1 0.05 0 N=1 N=2 N=4 N=8 N=16 Số bộ xử lý 5. Kết luận TÀI LIỆU THAM KHẢO Qua kết quả mô phỏng cũng như căn 1. Grama A., A. Gupta, G. Karypis, V. cứ vào độ phức tạp tính toán của thuật toán Kumar (2003), “Introduction to Parallel PSRS, có thể khẳng định rằng, PSRS là một Computing”, Addison Wesley. trong những thuật toán sắp xếp dữ liệu trên hệ thống song song đạt hiệu quả cao vượt 2. Xiaobo Li, Paul Lu, Jonathan Schaeffer, trội so với hệ thống xử lý tuần tự. Thuật toán John Shillington, Pok Sze Wong (2004), “On này có thể được áp dụng rộng rãi trong các the Versatility of parallel sorting by Regular ứng dụng xử lý song song, là bước tiền đề để Sampling”, University of Alberta, EdmonTon, nâng cao hiệu quả tìm kiếm dữ liệu trên các Alberta, Canada. hệ thống dữ liệu lớn (Bigdata) trong giai đoạn hiện nay. Trong thời gian tiếp theo tác giả sẽ cải tiến thuật toán PSRS để cho kết quả tốt hơn. 8 TẠP CHÍ KHOA HỌC QUẢN LÝ VÀ CÔNG NGHỆ
nguon tai.lieu . vn