1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài toán Workflow Scheduling trong môi trường điện toán đám mây

58 593 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 1,33 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống quản lý luồng công việc khoa học được sử dụng để quản lý những thử nghiệm khoa học này bằng cách che giấu các chi tiết khi thực thi luồng công việc trên các tài nguyên phân tán

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KIỀU TUẤN DŨNG

BÀI TOÁN WORKFLOW SCHEDULING TRONG MÔI

TRƯỜNG ĐIỆNTOÁN ĐÁM MÂY

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – Năm 2012

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KIỀU TUẤN DŨNG

BÀI TOÁN WORKFLOW SCHEDULING TRONG MÔI

TRƯỜNG ĐIỆNTOÁN ĐÁM MÂY

Chuyên ngành: Công nghệ phần mềm

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHẠM NGỌC HÙNG

Hà Nội – Năm 2012

Trang 3

MỤC LỤC

TÓM TẮT i

LỜI CẢM ƠN iii

LỜI CAM ĐOAN iv

DANH MỤC HÌNH VẼ vi

DANH MỤC BẢNG vii

GIỚI THIỆU 1

CHƯƠNG 1: LẬP LỊCH WORKFLOW TRONG MÔI TRƯỜNG ĐIỆN TOÁN ĐÁM MÂY 3

1.1 Tổng quan về Điện toán đám mây 3

1.1.1 Định nghĩa về Điện toán đám mây 5

1.1.2 Năm đặc điểm thiết yếu của Điện toán đám mây 7

1.1.3 Các dịch vụ của Điện toán đám mây 8

1.1.4 Các mô hình triển khai của Điện toán đám mây 12

1.2 Workflow (Bussiness Process) 15

CHƯƠNG 2: PHƯƠNG PHÁP TỐI ƯU BẦY ĐÀN 19

2.1 Giới thiệu 19

2.2 Bầy đàn thông minh 19

2.3 PSO truyền thống 21

2.3.1 Định nghĩa 21

2.3.2 Mô tả thuật toán 24

2.3.3 Xây dựng giải thuật PSO 25

2.3.4 Tối ưu lựa chọn tham số cải tiến trong giải thuật PSO 27

CHƯƠNG 3: GIẢI THUẬT LẬP LỊCH HEURISTIC DỰA TỐI ƯU BẦY ĐÀN ĐỀ XUẤT 28

3.1 Bài toán lập lịch ứng dụng luồng công việc 28

3.1.1 Vấn đề lập lịch ứng dụng luồng công việc 28

3.1.2 Đặc tả vấn đề lập lịch hỗ trợ ứng dụng luồng công việc 28

3.2 Xử lý các dữ liệu bài toán dùng giải thuật PSO 31

3.3 Giải thuật Heuristic dựa PSO 32

CHƯƠNG 4 THỰC NGHIỆM 34

4.1 Cài đặt giải thuật PSO với ngôn ngữ Java 34

4.1.1 Sử dụng gói thư viện Jswarm-PSO 34

4.1.2 CloudSim - môi trường mô phỏng điện toán đám mây 35

4.2 Đánh giá thực nghiệm 38

4.2.1 Độ đo hiệu năng 38

4.2.2 Dữ liệu và thực hiện 38

4.3 Thực nghiệm và kết quả 42

CHƯƠNG 5: KẾT LUẬN 44

TÀI LIỆU THAM KHẢO 46

PHỤ LỤC 48

Trang 4

DANH MỤC HÌNH VẼ

Hình 1 1: Sự phát triển của cloud computing từ clustering [1] 4

Hình 1 2: Mô hình điện toán đám mây 5

Hình 1 3: Các đặc điểm thiết yếu, các mô hình dịch vụ và các mô hình triển khai của Điện toán đám mây 6

Hình 1 4: Tài nguyên đi thuê của Software as a Service 8

Hình 1 5: Tài nguyên đi thuê của Platforms as a Service 10

Hình 1 6: Tài nguyên đi thuê của Infrastructures as a Service 12

Hình 1 7: Các mô hình triển khai Điện toán đám mây 13

Hình 1 8: Mô hình quy trình nghiệp vụ [14] 15

Hình 1 9: DAG biểu diễn một workflow [14] 16

Hình 2 1: Mô tả kiến tìm đường 20

Hình 2 2: Mô tả chim tìm đường 20

Hình 2 3: Bầy đàn với 10 cá thể trong không gian tìm kiếm 2 chiều 21

Hình 2 4: Quan hệ vị trí – vận tốc trong không gian 2 chiều 22

Hình 2 5: Một bầy đàn toàn cục và lân cận cục bộ[12] 23

Hình 2 6: Các topology lân cận đơn giản [12] 23

Hình 2 7:Chuyển động của cá thể 26

Hình 3 1: Một workflow ví dụ 29

Hình 3 2: Ví dụ về một cá thể PSO 31

Hình 3 3: Ví dụ về một cá thể PSO 31

Hình 4 1: Kiến trúc lõi của CloudSim 37

Hình 4 2: Biểu đồ so sánh kết quả thực nghiệm workflow sau 30 lần chạy 40

Hình 4 3:Biểu đồ so sánh kết quả thực nghiệm workflow với giá trị w tăng dần từ 0.15 đến 0.95 sau mỗi 05 lần chạy 41

Trang 5

DANH MỤC BẢNG

Bảng 1 1: Một số nhà cung cấp Softwares as a Service 9

Bảng 1 2: Một số nhà cung cấp dịch vụ PaaS 11

Bảng 3 1: Chi phí thực thi của mỗi Ti trên các PCj [6] 30

Bảng 3 2: Chi phí truyền thông giữa các PCj [6] 30

Bảng 3 3: Kích thước input/output của Task i 30

Bảng 4 1:Kết quả tính toán chi phí thực thi workflow sau 30 lần chạy 39

Bảng 4 2: Kết quả tính toán chi phí thực thi workflow sau 5 lần chạy với giá trị w chạy tăng dần từ 0.15 – 0.95 41

Trang 6

GIỚI THIỆU

Mô hình hợp tác ở nhiều thử nghiệm khoa học trong nhiều lĩnh vực như sinh học cấu trúc, vật lý năng lượng cao, khoa học thần kinh liên quan đến việc sử dụng các nguồn dữ liệu phân tán Kết quả, việc phân tích các tập dữ liệu này được biểu diễn và cấu trúc hóa như là các luồng công việc (workflow) khoa học Những luồng công việc khoa học này thường cần phải xử lý lượng dữ liệu rất lớn và các hoạt động tính toán chuyên sâu Hệ thống quản lý luồng công việc khoa học được sử dụng để quản lý những thử nghiệm khoa học này bằng cách che giấu các chi tiết khi thực thi luồng công việc trên các tài nguyên phân tán được cung cấp bởi các nhà cung cấp dịch vụ đám mây

Điện toán đám mây (cloud computing) là một mô hình mới cho tính toán phân tán

mà cung cấp hạ tầng, nền tảng và phần mềm (các ứng dụng) như là các dịch vụ Các dịch vụ này được tạo sẵn như là các dịch vụ thuê bao (trả phí cho những gì mình sử dụng) dành cho các khách hàng Điện toán đám mây giúp cung cấp linh hoạt nhiều tài nguyên tính toán cho các ứng dụng của khách hàng ở vị trí xác định (US ở amazon là một ví dụ 1

) dựa trên các yêu cầu của họ Cũng như vậy, các ứng dụng có thể lựa chọn

vị trí lưu trữ để lưu trữ các dữ liệu (Amazon S3 2) ở các vị trí toàn cầu Để đạt được hiệu quả tính toán và chi phí hiệu quả lập lịch công việc (task) và dữ liệu của ứng dụng trong môi trường điện toán đám mây, bộ lập lịch phải có các chính sách lập lịch khác nhau thay đổi theo hàm mục tiêu: tối thiểu tổng thời gian thực thi, tối thiểu tổng chi phí thực thi, cân bằng tải trên tài nguyên được sử dụng khi gặp ràng buộc deadline của ứng dụng, v.v Luận văn này tập trung vào nghiên cứu tối thiểu tổng chi phí thực thi của ứng dụng trên các tài nguyên được cung cấp bởi các nhà cung cấp dịch vụ đám mây, như Amazon và GoGrid 3

Luận văn đạt được điều này bằng cách sử dụng một phương pháp meta-heuristic được gọi là tối ưu bầy đàn (Particle Swarm Optimization – PSO)

PSO là một kỹ thuật tìm kiếm tối ưu toàn cục bộ tự thích nghi được giới thiệu bởi Kennedy và Eberhart [5] Giải thuật tương tự các giải thuật dựa vào quần thể khác như giải thuật di truyền nhưng nó không có sự tổ hợp lại của các tác nhân trong quần thể Thay vào đó, nó dựa trên ứng xử xã hội của các cá thể Trong mỗi thế hệ, mỗi cá thể tự điều chỉnh quỹ đạo dựa trên vị trí tốt nhất của nó (local best) và vị trí của cá thể tốt nhất (global best) trong cả quần thể Khái niệm này làm tăng tính tự nhiên của các cá thể và nhanh chóng đạt tới giá trị tối ưu toàn cục với giải pháp tốt nhất

PSO trở nên phổ biến, phát triển và trở thành hướng nghiên cứu rộng rãi trong nhiều ứng dụng trong những năm gần đây bởi tính đơn giản mà hiệu quả của nó với

Trang 7

chi phí thấp Một số ứng dụng đã sử dụng PSO: vấn đề điều khiển phản ứng điện áp (reactive voltage control problem), khai phá dữ liệu, kỹ thuật hóa học, nhận dạng mẫu,

và kỹ thuật môi trường PSO cũng được ứng dụng để giải quyết các vấn đề NP-Hard như lập lịch và phân bổ công việc

Những kết quả chính của luận văn này là:

 Xây dựng một mô hình phân bổ công việc (task) trên tập tài nguyên (resource), tức là phân bổ các công việc tới các tài nguyên tính toán để xử lý sao cho chi phí thực thi là tối thiểu

 Đề xuất một giải thuật heuristic mới theo kiểu PSO để giải quyết vấn đề phân bổ công việc – tài nguyên dựa trên mô hình đề xuất

 Tiến hành kiểm chứng thuật toán đề xuất bằng thực nghiệm

Luận văn được cấu trúc như sau: chương 1 trình bày tổng quan về điện toán đám mây, các khái niệm và sự cần thiết của việc thực thi workflow trong môi trường điện toán đám mây Chương 2 trình bày các khái niệm về phương pháp tối ưu bày đàn PSO và cách xây dựng giải thuật PSO để giải quyết các bài toán tối ưu Bài toán lập lịch luồng công việc (workflow scheduling) được phát biểu ở phần đầu chương 3 cùng với các ràng buộc của nó Phần chính của chương 3, đồng thời cũng là nội dung chính của luận văn, là phần đề xuất thuật toán mới theo chiến lược PSO nhằm giải quyết bài toán phân bổ công việc – tài nguyên dựa trên mô hình đã đề xuất Để kiểm chứng hiệu quả của thuật toán đề xuất, chương 4 sẽ trình bày các bước cài đặt, quá trình tiến hành và bảng số liệu thử nghiệm cùng với những phân tích Phần cuối của luận văn nhằm tổng kết lại các kết quả đã đạt được và nêu những dự định nghiên cứu tiếp theo

Trang 8

CHƯƠNG 1: LẬP LỊCH WORKFLOW TRONG MÔI TRƯỜNG ĐIỆN TOÁN ĐÁM MÂY

1.1 Tổng quan về Điện toán đám mây

Từ năm 2015 sẽ có khoảng 15 tỉ thiết bị kết nối đến internet 4và hầu hết đó là những thiết bị thông minh ví dụ như note book, netbook, điện thoại thông minh, ô tô thông minh và thậm chí là cả những chiếc ti vi thông minh tất cả chúng đều kết nối đến internet vì thế cần phải có một giải pháp sao cho linh hoạt để đáp ứng được những dịch vụ cho hàng loạt những thiết bị Điện toán đám mây là một mô hình đáp ứng được các yêu cầu đặt ra Theo dự báo của Intel thì giá trị thị trường dịch vụ của điện toán đám mây có thể đạt tới con số 43 tỉ đô la Mỹ vào năm 2012 và khẳng định trong vòng 3 năm tới dịch vụ điện toán đám mây có thể đạt tới mức tăng trưởng gộp hằng năm là 27% một con số cực kỳ ấn tượng cao gấp năm lần so với dịch vụ truyền thống khác trong lĩnh vực IT Tại Việt Nam, IBM là doanh nghiệp tiên phong trong khai trương trung tâm điện toán đám mây đầu tiên vào tháng 9 năm 2008 với khách hàng đầu tiên là Công ty cổ phần công nghệ và truyền thông Việt Nam Còn Microsoft trong tháng 5 vừa qua đã chính thức ký kết biên bản ghi nhớ với tập đoàn FPT nhằm thúc đẩy Điện toán đám mây tại Việt Nam

Sự phát triển của Điện toán đám mây được sơ đồ hóa theo như Hình 1.1 dưới đây:

mở đầu là công nghệ Clustering xuất phát từ nhu cầu đảm bảo hoạt động cho máy chủ

và hệ thống mạng, clustering cho phép sử dụng nhiều máy chủ kết hợp với nhau tạo một cụm (cluster) có độ tin cậy cao (giảm thiểu khả năng rủi ro), có khả năng chịu đựng và chấp nhận các sai sót Grid Computing, một hệ thống phân tán được bố trí song song, tận dụng mọi nguồn tài nguyên độc lập và rải rác về mặt địa lý, gần giống như Clustering, ra đời để giải quyết các bài toán lớn không giới hạn về mặt không gian địa lý và nền tảng hệ điều hành Theo sau đó lại là nhu cầu tính toán cao với mục đích tiết kiệm phi phí, tính toán theo nhu cầu (utility computing) Người sử dụng chỉ phải trả chi phí cho những gì mà họ sử dụng giống như trả tiền theo hóa đơn điện, nước hàng tháng Nhu cầu thuê phần cứng và trả tiền cho những gì mình sử dụng đã chuyển tiếp sang mô hình đi thuê phần mềm có trả phí Người sử dụng không cần phải đầu tư nhiều phần mềm, khi nào cần sử dụng họ sẽ thuê của nhà cung cấp và trả phí theo dịch

vụ Và cuối cùng, điện toán đám mây là tổng hợp toàn bộ các nhu cầu, tiện ích và các dịch vụ mà các mô hình trước đem lại Tất cả các tài nguyên (phần cứng, phần mềm) đều được sử dụng như là một dịch vụ, sẵn sàng đáp ứng mọi lúc, mọi nơi với chi phí hợp lý

4

Theo www.xahoithongtin.com.vn

Trang 9

Sự phát triển của công nghệ tính toán và hình thành Điện toán đám mây

Hình 1 1: Sự phát triển của cloud computing từ clustering [1]

Tính toán phân cụm

(Clustering)

Tính toán hiệu năng cao

Máy tính trao đổi qua

các giao thức

Điện toán lưới (Grid Computing)

Các phân cụm độc lập liên kết với nhau

Tính toán song song cho các bài toán lớn

Điện toán theo nhu cầu (Utility Computing)

Dịch vụ cung cấp các tài nguyên tính toán

Dịch vụ phần mềm

(SaaS)

Dịch vụ cho thuê các ứng dụng qua mạng Internet

Điện toán đám mây (Cloud Computing)

Trang 10

Ý tưởng nền tảng của Điện toán đám mây đã phát triển từ khá lâu trên thế giới nhưng cho đến gần đây cùng với sự bùng nổ của Internet và công nghệ mạng cũng như nhu cầu của thị trường các tên tuổi lớn trên thế giới mới bắt đầu đưa những ý tưởng trở thành những ứng dụng thật tại thị trường Việt Nam

1.1.1 Định nghĩa về Điện toán đám mây

Theo NIST [2], “Điện toán đám mây là mô hình cho phép ở mọi nơi, một cách thuận tiện, truy cập theo nhu cầu các tài nguyên tính toán (mạng, máy chủ, lưu trữ, các ứng dụng, các dịch vụ, v.v) mà có thể nhanh chóng cung cấp và từ chối với nỗ lực tối thiểu quản lý và tương tác với nhà cung cấp dịch vụ Mô hình đám mây gồm năm đặc điểm thiết yếu, ba mô hình dịch vụ và ba mô hình triển khai thực hiện”

Ví dụ: dịch vụ Google AppEngine cung cấp những ứng dụng kinh doanh trực tuyến thông thường, có thể truy nhập từ một trình duyệt web, còn các phần mềm và dữ liệu đều được lưu trữ trên các máy chủ Hình 1.2 bên trên cho thấy mô hình tổng quát

về đám mây và các nhà cung cấp dịch vụ đám mây lớn trên thế giới như: Microsoft, Google, Amazon …

Hình 1 2: Mô hình điện toán đám mây

Điện toán đám mây là một mô hình sử dụng các tài nguyên điện toán dựa trên internet để cung cấp theo nhu cầu có khả năng thay đổi cho người sử dụng, mà người

Trang 11

sử dụng sẽ chỉ phải trả chi phí cho mức độ sử dụng nhờ đó nhà cung cấp tận dụng được tối đa tài nguyên hiện có và người sử dụng tích kiệm được chi phí đầu tư cơ sở

hạ tầng ban đầu, linh hoạt hơn khi mở rộng phạm vi hoạt động và do đó có thể tập trung vào mục đích chính là các hoạt động sản xuất kinh doanh

Bằng cách sử dụng Điện toán đám mây mà các doanh nghiệp không cần phải mua

và duy trì hàng trăm, thậm chí là hàng nghìn máy tính cũng như phần mềm Họ chỉ cần tập trung vào sản xuất bởi vì đã có người khác lo cơ sở hạ tầng Theo định nghĩa của NIST, có năm đặc điểm thiết yếu làm nên điện toán đám mây bao gồm:

- Tự phục vụ theo nhu cầu (On-demand Self Service),

- Việc sử dụng các tài nguyên cho thuê được quản lý và theo dõi chính xác (Measured Service),

- Khách hàng dễ dàng thay đổi qui mô dịch vụ (Rapid Elasticity),

- Hệ thống tài nguyên phong phú với quy mô lớn (Broad Network Access)

- Tổng hợp tài nguyên (Resource Pooling);

Ba mô hình dịch vụ của điện toán đám mây bao gồm: dịch vụ phần mềm (Software as

a services – SaaS), dịch vụ nền (Platform as a services – PaaS) và dịch vụ hạ tầng (Infrastructure as a services – IaaS); Ba mô hình triển khai bao gồm: mô hình đám mây công cộng (Public Cloud), mô hình đám mây riêng (Private Cloud) và mô hình đám mây lai (Hybrid Cloud) Các đặc điểm, các mô hình dịch vụ và mô hình triển khai được sơ đồ hóa trên Hình 1.3 dưới đây:

Hình 1 3: Các đặc điểm thiết yếu, các mô hình dịch vụ và các mô hình triển khai của

Điện toán đám mây

Trang 12

1.1.2 Năm đặc điểm thiết yếu của Điện toán đám mây

Tự phục vụ theo nhu cầu (On-demand Self Service): các dịch vụ máy tính như

email, các ứng dụng, mạng hoặc dịch vụ máy chủ có thể được cung cấp mà không yêu cầu con người tương tác với nhà cung cấp dịch vụ Một số nhà cung cấp dịch vụ điện toán đám mây dựa trên nhu cầu bao gồm: Amazon Web Services (AWS), Microsoft, Google, IBM và Saleforces.com

Hệ thống tài nguyên phong phú với quy mô lớn (Broad Network Access): khả

năng sẵn có trên mạng, truy cập theo chuẩn từ xa với mọi thiết bị (điện thoại di động, máy tính bảng, máy tính xách tay, máy trạm, v.v)

Tổng hợp tài nguyên (Resource Pooling): tài nguyên tính toán của nhà cung cấp

dịch vụ được gộp lại với nhau để phục vụ cùng lúc nhiều khách hàng giống như mô hình nhiều người thuê nhà, với các tài nguyên vật lý và tài nguyên ảo hóa được cấp phát động phân phối và tái phân phối theo nhu cầu của khách hàng

Khách hàng dễ dàng thay đổi qui mô dịch vụ: dịch vụ điện toán đám mây có thể

được nhanh chóng và cung cấp một cách linh hoạt, trong một số trường hợp tự động hóa, nó nhanh chóng được mở rộng để đáp ứng nhu cầu khách hàng Đối với khách hàng, khả năng này có thể cung cấp thường xuyên không giới hạn và có thể đăng ký dịch vụ ở bất cứ thời điểm nào, ở bất cứ nơi đâu với số lượng bất kỳ

Theo dõi và quản lý các tài nguyên cho thuê (Meassured Service): vấn đề sử

dụng các tài nguyên điện toán đám mây có thể được đo lường mức độ sử dụng, được kiểm soát và được cung cấp các báo cáo minh bạch cho cả nhà cung cấp dịch vụ và khách hàng như một dịch vụ tiện ích cho phép kiểm soát và tối ưu hóa việc sử dụng tài nguyên Nó giống như việc sử dụng các dịch vụ điện, nước, ga ở các đô thị…,

khách hàng phải trả phí cho các mỗi đơn vị mà họ sử dụng dịch vụ đó – pay per use

Cũng giống như các công ty bán điện cho các hộ sản xuất kinh doanh, các hộ gia đình, các công ty điện thoại bán các dịch vụ thoại và dữ liệu thì các dịch vụ trong lĩnh vực công nghệ thông tin như quản lý bảo mật mạng, lưu trữ dữ liệu … cũng có thể được cung cấp như là hợp đồng dịch vụ

Năm đặc tính này có ý nghĩa gì?

Đứng ở góc độ của một nhà phát triển: điện toán đám mây cho phép linh hoạt

cung cấp các nội dung tích hợp, các ứng dụng, các dịch vụ cho bất cứ thiết bị nào, ở bất cứ nơi đâu, bất cứ thời điểm nào, trong một mô hình hoàn hảo có khả năng mở rộng, sử dụng và trả phí cho các tài nguyên mà khách hàng cần và khi khách hàng cần

Trang 13

Đứng ở góc độ của công nghệ thông tin: điện toán đám mây cho phép các tổ chức

giải phóng mình ra khỏi nỗi lo về việc mua sắm và phân bổ các phần cứng đắt tiền, các phần mềm, các tài nguyên mạng hoặc đội ngũ nhân viên công nghệ thông tin lớn để quản lý và hỗ trợ hạ tầng

Đứng ở góc độ kinh doanh: điện toán đám mây cho phép các nhà cung cấp phục

vụ mọi doanh nghiệp có quy mô khác nhau, đặc biệt là các doanh nghiệp vừa và nhỏ

1.1.3 Các dịch vụ của Điện toán đám mây

Theo NIST [2], dịch vụ của Điện toán đám mây hiện nay được chia làm 3 loại dịch vụ khác nhau bao gồm:

Softwares as a Services – SaaS: Người dùng sẽ không cần phải cài đặt trực

tiếp phần mềm với mô hình này của Điện toán đám mây Dễ dàng sử dụng các dịch vụ như là phần mềm được cài đặt trực tiếp trên máy tính thông qua trình duyệt (tài

nguyên đi thuê là lớp ứng dụng trong hình 1.4): ví dụ như Google Docs Toàn bộ dữ

liệu sẽ được xử lý trên các trung tâm tính toán của nhà cung cấp dịch vụ điện toán đám

mây

Hình 1 4: Tài nguyên đi thuê của Software as a Service

Trang 14

Phần mềm hoạt động như một dịch vụ , hoạt động trên nền tảng Internet được quản lý bởi nhà cung cấp dịch vụ cho người sử dụng có thể truy cập từ xa bằng bất cứ thiết bị nào có thể kết nối đến Internet Khách hàng có thể lựa chọn phần mềm hay ứng dụng nào phù hợp với nhu cầu sử dụng và chạy ứng dụng đó trên cơ sở hạ tầng Cloud.Người dùng không cần phải quan tâm đến quản lý tài nguyên bên dưới bao gồm mạng, thiết

bị lưu trữ, hệ điều hành, máy chủ, công cụ lưu trữ, môi trường phát triển ứng dụng v.v… Tất cả sẽ do nhà cung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng dụng luôn sẵn sàng và hoạt động ổn định

Bảng 1 1: Một số nhà cung cấp Softwares as a Service

Microsoft Microsoft Online Services Exchange Online

Sharepoint Online Dynamics CRM Online Office Live Meeting Office Communications Online Salesforce.com SalesForce CRM Sales

Marketings Services Partners

Lotus Live Connections LotusLive Meetings LotusLive Events LotusLive iNotes LotusLive Notes

Vấn đề lựa chọn dịch vụ của nhà cung cấp nào cũng như là một thách thức đặt

ra cho các khách hàng Theo bảng 1.1 ở trên, chúng ta có thể thấy một số dịch vụ cạnh tranh với nhau: dịch vụ Email cho doanh nghiệp cung cấp qua Internet (Microsoft Exchange Online của Microsoft, Google Mail của Google, LotusLive iNotes của IBM), hệ quản trị quan hệ khách hàng và bán hàng online (Dynamic CRM Online của Microsoft, SalesForce CRM), ứng dụng hội thảo web trực tuyến (Office Live Meeting, LotusLive Meeting), dịch vụ phần mềm truyền thông hợp nhất trực tuyến (Office Communication Online với phiên bản mới Lync Online được tích hợp trong bộ Office

365 của Microsoft cạnh tranh với tính năng của dịch vụ Google App) cho phép làm việc chung và chỉnh sửa tài liệu cùng lúc với nhau

Trang 15

Platforms as a Service – PaaS: Môi trường PaaS cung cấp sức mạnh điện toán bằng việc cung cấp môi trường chạy cho ứng dụng Đặc điểm của PaaS: bị phụ thuộc

vào nền tảng của nhà cung cấp

Hình 1 5: Tài nguyên đi thuê của Platforms as a Service

Theo Hình 1.5 dưới, ta nhận thấy PaaS là lớp giữa trung chuyển của các hệ thống hạ tầng cơ bản (hệ điều hành, mạng, lưu trữ .) và phần mềm ứng dụng bao gồm: các chức năng của kho chứa ứng dụng, công cụ phát triển ứng dụng, hệ thống quản lý cơ

sở dữ liệu, môi giới tích hợp, cổng thông tin, quản lý quy trình kinh doanh được cung cấp như là dịch vụ

Ba nhà cung cấp lớn nhất PaaS hiện nay là Google, Microsoft và Salesforce.com với một số dịch vụ thuộc nền tảng này được liệt kê trong Bảng 1.2 bên dưới Ví dụ điển hình của PaaS là Google App Engine (GAE) là nền tảng cho phép phát triển các ứng dụng web và triển khai trên cơ sở hạ tầng của Google Hiện tại GAE hỗ trợ phát triển các ứng dụng web bằng hai ngôn ngữ Python và Java Ngoài GAE, còn có một số nền tảng khác đang là đối thủ cạnh tranh mạnh mẽ như Force.com của Salesforce.com hay Windows Azure của Microsoft được phát triển để mang đến cho cộng đồng các nhà phát triển ứng dụng cơ hội được xây dựng và cung cấp các dịch vụ trực tuyến trên nền tảng cơ sở hạ tầng Windows

Trang 16

Datastore (Java, Python), Google Accounts (Java,

Python), Image Manipulation (Java,

Python), Mail (Java, Python), Memcache (Java, Python), URL Fetch (Java, Python) Microsoft Azure Services

Platform

Window Azure Access Control Services,

SQL Services, Workflow Services,

Service Bus, Live Services Salesforce.com Force.com Apex Code for

Business Logic

Database Services, Web Services APIs

Infrastructures as a Services – IaaS: Nhà cung cấp dịch vụ điện toán đám

mây sẽ cho thuê cơ sở hạ tầng như là một dịch vụ: tập các tài nguyên vật lí như các máy chủ, các thiết bị mạng và các đĩa lưu trữ được đưa ra như là các dịch vụ cung cấp cho khách hàng để khách hàng có thể phát triển và chạy các phần mềm của mình (bao gồm cả hệ điều hành và ứng dụng) Khách hàng không cần phải quan tâm đến những vấn đề như mua bán bảo trì thiết bị hay khấu hao tài nguyên qua thời gian sử dụng Đặc điểm của IaaS là các hệ điều hành ở đây được triển khai trên các máy ảo (bản chất của Điện toán đám mây) và hệ điều hành được tải lên các máy ảo của nhà cung cấp dịch vụ nơi mà khách hàng có thể sử dụng các tài nguyên lưu trữ, tính toán của nhà cung cấp.IaaS mềm dẻo và có khả năng tùy biến theo kiến trúc cơ sở hạ tầng thay đổi.Hình 1.6 dưới đây cho thấy các sản phẩm IaaS là các cơ sở hạ tầng: tài nguyên lưu trữ, tài nguyên mạng, v.v Khi khách hàng có nhu cầu thuê một máy với cấu hình do bạn

đề ra (Vídụ: 4 core, ram 2G, ổ cứng 80G) thì sẽ có các nhà cung cấp đáp ứng vấn đề này, họ sẽ trích xuất mỗi thứ một ít để tạo nên máy ảo đáp ứng nhu cầu khách hàng Như vậy, cùng một nền tảng phần cứng có thể chia sẻ cho nhiều khách hàng để phục

Trang 17

vụ nhiều nhu cầu khác nhau Các máy ảo này chƣa cài đặt bất cứ ứng dụng nào, nó giống nhƣ một chiếc máy tính mới mua, khách hàng sẽ truy cập từ xa thông qua mạng Internet hoặc sử dụng các cơ chế đăng nhập từ xa để tự cài đặt Nếu khách hàng muốn

sử dụng sẵn nền tảng, họ sẽ đăng ký sử dụng các dịch vụ của PaaS

Hình 1 6: Tài nguyên đi thuê của Infrastructures as a Service

1.1.4 Các mô hình triển khai của Điện toán đám mây

Theo NIST [2], các mô hình triển khai của điện toán đám mây bao gồm: đám mây công cộng (Public Cloud), đám mây riêng (Private Cloud) và đám mây lai (Hybrid Cloud):

Trang 18

Hình 1 7: Các mô hình triển khai Điện toán đám mây

Mô tả trên hình 1.7 cho thấy khu vực Enterprise là khu vực riêng của doanh nghiệp sẽ

do doanh nghiệp chịu trách nhiệm thiết lập và quản lý sử dụng hệ thống mạng Intranet nội bộ mà không đưa ra bên ngoài Thường dùng để quản lý và bảo mật dữ liệu riêng

tư Các nghiệp vụ cơ bản và không cần bảo mật thì có thể xử lý bên ngoài đám mây công cộng để giảm thiểu chi phí và độ phức tạp quản lý

Đám mây công cộng (Public Cloud): Được các nhà cung cấp dịch vụ quảng

bá cho toàn thể người sử dụng với phần lớn là các sản phẩm phi thương mại với cộng đồng người sử dụng không phân biệt khác hàng là cá nhân hay tổ chức, doanh nghiệp

và một đặc điểm của Public Cloud là nhà cung cấp đám mây chịu trách nhiệm về cài đặt, quản lý, cung cấp và bảo trì Khách hàng chỉ chịu phí cho các tài nguyên mà họ

thực sử sử dụng

Ví dụ: ứng dụng Google Mail Các công ty, tổ chức, cá nhân có thể đăng ký sử

dụng dịch vụ Google Mail với một tài khoản miễn phí (đối với cá nhân) cùng với một dung lượng lưu trữ nhất định, hoặc với một số tài khoản miễn phí hạn chế (đối với công ty) Nếu công ty có số lượng nhân viên lớn (số tài khoản email) cần cấp lớn thì

họ bắt buộc phải đăng ký dịch vụ với Google và phải trả phí

Trang 19

Đám mây riêng (Private Cloud): có các đặc điểm đám mây riêng được cung cấp

cho tổ chức, doanh nghiệp là duy nhất.Doanh nghiệp có trách nhiệm thiết lập và bảo trì

hệ thống đám mây này hoặc doanh nghiệp có thể thuê một nhà cung cấp dịch vụ đảm nhiệm thêm công việc này vì vậy mang lại sự an toàn và sự tin cậy đáng kể cho dữ liệu của công ty.Chi phí mà doanh nghiệp bỏ ra để đầu tư sẽ lớn hơn rất nhiều so với mô hình public.Doanh nghiệp hoàn toàn chủ động được việc cấu hình và thay đổi hệ thống, cài đặt những chương trình, ứng dụng, phần mềm cần thiết và riêng biệt cho tổ

chức

Đám mây lai (Hybrid Cloud): có đặc điểm là một sự kết hợp của các đám mây công cộng và riêng Đám mây lai sử dụng các dịch vụ có trong cả không gian công cộng và riêng Các doanh nghiệp sẽ đi thuê các dịch vụ Public Cloud để giải quyết và

xử lý các chức năng nghiệp vụ và dữ liệu không quá quan trọng, họ sẽ giữ lại những

chức năng nghiệp vụ và dữ liệu quan trọng trong tầm kiểm soát của đám mây riêng

1.1.5 Lợi ích và hạn chế của Điện toán đám mây

Lợi ích của Điện toán đám mây:

Giảm thiểu chi phí: chi phí giao dịch thấp, giảm thiểu tối đa đầu tư vào phần cứng,

giảm thiểu việc đầu tư vào đội ngũ quản trị công nghệ thông tin

Khả năng mở rộng: các doanh nghiệp sử dịch dịch vụ điện toán đám mây chỉ phải

trả cho những gì họ sử dụng, do vậy, ban đầu họ có thể đăng ký thuê dịch vụ với mức hợp lý, khi phát triển, họ có thể mở rộng nhu cầu và có thể yêu cầu dịch vụ nhiều hơn

Linh hoạt và Dễ dàng hợp tác: các nhân viên của công ty, doanh nghiệp có thể truy

cập mọi lúc, mọi nơi với một thiết bị truy cập internet, vì vậy, họ vẫn có thể làm việc, trao đổi với nhau ở các địa điểm xa xôi

Hạn chế của Điện toán đám mây:

Khả năng sẵn sàng: các dịch vụ điện toán đám mây có thể bị tê liệt không báo

trước làm ảnh hưởng đến hoạt động của khách hàng Ví dụ điẻn hình gần đây là sự kiện hãng MegaUpload bị chính phủ Mỹ dừng hoạt động đã khiến hàng ngàn cá nhân

mất các dữ liệu, phim, ảnh để trên đó

Tính di động của dữ liệu và quyền sở hữu: khi ngừng sử dụng dịch vụ điện toán

đám mây, khách hàng có thể nhận lại tất cả các dữ liệu của mình hay không? sau đó

chúng có được hủy đi hay nhà cung cấp sẽ tự ý giữ lại một bản sao mà không ai biết?

Tính riêng tư: dữ liệu của khách hàng đưa lên đám mây có thể bị nhà cung cấp

dịch vụ khai thác hay lợi dụng?

Trang 20

1.2 Workflow (Bussiness Process)

Luồng công việc (workflow): Theo Ravneet [14], một luồng công việc hay một quy

trình nghiệp vụ (bussiness process) là thứ tự các bước, tác vụ, sự kiện hoặc tương tác làm nên một quy trình để thực hiện một công việc nào đó

Một quy trình nghiệp vụ bao gồm: có mục đích (goal), có dữ liệu đầu vào cụ thể (event), có dữ liệu đầu ra xác định (event), sử dụng tài nguyên, có các hoạt động được thực thi theo một thứ tự định trước theo mô hình như ở Hình 2.8

Hình 1 8: Mô hình quy trình nghiệp vụ [14]

Biểu diễn luồng công việc

Mỗi luồng công việc cho phép cấu trúc hóa các ứng dụng trong một đồ thị không có chu trình (Directed Acyclic Graph - DAG), với mỗi nút (node) đại diện cho một công việc và mỗi cạnh (edge) biểu diễn sự phụ thuộc giữa các công việc cũng như các dữ liệu đầu vào, dữ liệu đầu ra của các công việc, của ứng dụng

Một DAG có thể chia thành nhiều cấp độ khác nhau (level) theo sự phụ thuộc giữa các công việc trong luồng công việc đó Mỗi cấp độ tiếp theo phụ thuộc vào các công việc ở cấp độ trên nó và bất kỳ cấp độ nào ở phía trước Trong Hình 1.9 bên dưới cho thấy, cấp độ 2 phụ thuộc vào cấp độ 1 và lấy dữ liệu từ đầu ra của cấp 1, cấp độ 3 lại phụ thuộc vào cấp độ 2 Các công việc được thực thi theo thứ tự từ cấp độ 1 trở

đi

Trang 21

Hình 1 9: DAG biểu diễn một workflow [14]

Quản lý luồng công việc

Theo Ravneet [14], quản lý luồng công việc là một kỹ thuật phát triển nhanh chóng

mà ngày càng được chấp nhận tại các doanh nghiệp Đặc điểm chính của nó là tự động hóa các quá trình kết hợp giữa con người và các hoạt động dựa máy móc, đặc biệt là các tương tác với các công cụ và các ứng dụng của công nghệ thông tin Mặc dù nó được sử dụng phổ biến nhất trong môi trường văn phòng với đội ngũ nhân viên chuyên ngành như bảo hiểm, ngân hàng, luật và quản lý chung nhưng nó cũng được áp dụng trông một số phân lớp của sản xuất và công nghiệp [8] Một đặc tả luồng công việc xác định: các hoạt động của luồng công việc (các task), các điều khiển chúng và sự phụ

thuộc dữ liệu

Hệ thống quản lý luồng công việc là một phần mềm cung cấp các hỗ trợ cho các dịch vụ cần thiết: định nghĩa luồng công việc và tạo quy trình, xác định các luật cho luồng công việc, quản trị và giám sát việc thực thi luồng công việc Hệ thống quản lý luồng công việc định nghĩa, quản lý và thực thi luồng công việc trên các tài nguyên tính toán Mục đích của quản lý luồng công việc là để đảm bảo chắc chắn các hoạt

động thích hợp được thực thi đúng bởi các dịch vụ và ở thời điểm thích hợp

Lập lịch luồng công việc là một trong những vấn đề quan trọng của quản lý thực thi luồng công việc Lập lịch luồng công việc là một quy trình ánh xạ và quản lý thực thi các công việc phụ thuộc lẫn nhau vào các tài nguyên tính toán Việc lập lịch sẽ phân

bổ hợp lý các nguồn tài nguyên tới các công việc của luồng công việc để đảm bảo việc thực thi hoàn thành sẽ đáp ứng các mục đích đề ra của người dùng Một chính sách lập

lịch hợp lý sẽ tác động đáng kể tới hiệu năng hoạt động của hệ thống

Trang 22

Lợi ích của việc thực thi luồng công việc trong môi trường Điện toán đám mây:

Theo Ravneet [14], đưa luồng công việc vào thực thi trong môi trường điện toán đám mây cho phép sử dụng các dịch vụ đám mây khác nhau Lợi ích chính của việc này chính là khả năng mở rộng ứng dụng Không giống như môi trường lưới, môi trường điện toán đám mây cho phép mở rộng các tài nguyên đám mây theo thời gian thực để đáp ứng nhu cầu thực thi Khả năng co giãn của đám mây cho phép mở rộng quy mô linh hoạt khi có nhu cầu lớn hơn hoặc giảm đi khi nhu cầu thấp Điều này cho phép hệ thống quản lý luồng công việc đáp ứng được nhu cầu về chất lượng dịch vụ theo yêu cầu của ứng dụng Mô hình lấy người dùng làm trung tâm trong môi trường điện toán đám mây làm tăng tính thân thiện và thỏa mãn yêu cầu của người dùng Mô hình kinh doanh "trả cho những gì bạn đã sử dụng" làm giảm các chi phí thực thi luồng công

việc Cụ thể, lợi ích của việc thực thi trong môi trường điện toán đám mây bao gồm:

Ảo tưởng về một nguồn tài nguyên vô hạn (Illusion of infinite resources): người dùng

có thể đưa ra yêu cầu tài nguyên cần thiết cho ứng dụng ở bất cứ thời điểm nào; Tài nguyên đi thuê (Lease): người sử dụng trực tiếp xác định nguồn tài nguyên cần thuê một cách hợp lý để lập lịch cho các tính toán của họ Mô hình này là lý tưởng vì nó làm giảm chi phí lập lịch; Tính co giãn (Elasticly): cho phép người dùng có thể thuê được và phân bổ tài nguyên theo nhu cầu Hệ thống workflow dễ dàng phát triển hoặc

thu nhỏ nguồn tài nguyên theo thời gian

Thách thức của việc thực thi luồng công việc trong môi trường Điện toán đám mây: Theo Ravneet [14], những thách thức gặp phải khi thực thi luồng công việc

trong môi trường Điện toán đám mây bao gồm:

Chi phí: trong thực tế, một số dịch vụ điện toán đám mây là miễn phí, nhưng một số

dịch vụ thì không Điều này đồng nghĩa với việc người sử dụng sẽ phải tiền cho những

gì mà họ sử dụng Do vậy, chi phí trở thành một mối quan tâm lớn của các ứng dụng workflow Nếu đưa ra cả hai thuộc tính về thời gian và chi phí, người sử dụng sẽ phải đưa ra ngay quyết định là trả nhiều chi phí hơn để giảm thời gian thực hiện hoặc tiết kiệm chi phí bằng cách cho phép kéo dài thời gian thực thi lâu hơn miễn là thời hạn cuối cùng để thực hiện công việc vẫn có thể được đáp ứng

Thỏa thuận cấp độ dịch vụ: với hầu hết các dịch vụ điện toán đám mây đến từ các tổ

chức thương mại lớn, các thỏa thuận cấp độ dịch vụ trở thành một mối quan tâm quan trọng cho cả nhà cung cấp dịch vụ và khách hàng Do cạnh tranh trong cung cấp dịch

vụ đang nổi lên, các nhà cung cấp phải đảm bảo: chất lượng dịch vụ (QoS) tốt cho

Trang 23

khách hàng và các điều khoản phải rõ ràng cho việc bồi thường trong trường hợp vi phạm

Khối lượng dữ liệu: tùy thuộc vào dịch vụ được cung cấp, khối lượng dữ liệu cần

thiết được vận chuyển qua dịch vụ

Nền tảng hỗ trợ: tùy thuộc vào dịch vụ, nền tảng hỗ trợ yêu cầu của các dịch vụ ứng

dụng đám mây cũng có thể là một nhân tố hạn chế Ngoài vấn đề trên, có thể có những thách thức khác như vấn đề an ninh, tuân thủ các quy định và minh bạch dữ liệu

Sự cần thiết của việc thực thi workflow trong môi trường Điện toán đám mây:

Chúng ta đã thấy được những lợi ích khi thực thi luồng công việc [14] trong môi trường điện toán đám mây ở trên Hơn nữa, các ứng dụng luồng công việc thường yêu cầu một môi trường thực thi phức tạp bao gồm: hệ điều hành cụ thể, các thư viện, cấu trúc tệp tin hệ thống, nhiều chương trình ứng dụng và các tệp tin cấu hình Môi trường này thường khó có thể tạo trên các tài nguyên lưới Ngoài ra, mỗi một vị trí lưới đều

có cấu hình khác nhau, vì vậy các kết quả thường phải nỗ lực thêm thời gian để chuyển tới các vị trí mới Máy ảo cho phép phát triển các ứng dụng tạo ra đầy đủ các tùy biến,

cấu hình các môi trường thực thi đặc biệt cho các ứng dụng của họ

Trang 24

CHƯƠNG 2: PHƯƠNG PHÁP TỐI ƯU BẦY ĐÀN

2.1 Giới thiệu

Tối ưu hóa bầy đàn (Particle Swarm Optimization – PSO) [5] là kỹ thuật giải quyết các vấn đề phổ biến nhất thuộc mô hình quần thể thông minh hay bầy đàn thông minh (Swarm Intelligence – SI) PSO được giới thiệu lần đầu tiên bởi Kennedy và Eberhat vào năm 1995 Họ phát triển các phương pháp đơn giản nhưng hiệu quả trong tối ưu hóa các hàm toán học phi tuyến liên tục, áp dụng thành công để giải nhiều bài toán cực trị hàm số và một số bài toán tối ưu khác Các ý tưởng xuất phát từ việc quan sát các quần thể sinh học trong tự nhiên, dựa trên các quan hệ, các ứng xử của các cá thể trong bầy đàn, cách thức tổ chức và hoạt động của quần thể PSO mô phỏng bầy đàn như đàn chim, đàn cá tìm kiếm thức ăn… [12]

PSO nằm trong tính tiến hóa (Evolution Computation – EC) nhưng nó cũng có một vài điểm khác [12] Giống như nhiều kỹ thuật tiến hóa khác, PSO khởi tạo quần thể bởi các giải pháp phân bố ngẫu nhiên Tuy nhiên, PSO khác ở chỗ, nó đánh giá và tiến hóa các giải pháp dựa trên kinh nghiệm cá nhân và kinh nghiệm của bầy đàn, tốt hơn

so với việc sử dụng các hoạt động tiến hóa (phép lai ghép và đột biện trong giải thuật

di truyền …) Nó giả định xã hội chia sẻ thông tin giúp tiến hóa quần thể, nói cách khác, quần thể cập nhật các thế hệ và tìm kiếm tối ưu với thông tin được chia sẻ

Kể từ khi ra đời, PSO đã được phát triển nhanh chóng và có rất nhiều hướng nghiên cứu trong việc cải tiến các tham số, các nghiên cứu đã chỉ ra nhiều kết quả chứng minh trong các hàm kiểm tra nổi tiếng như các hàm Shaffer, Sphere, Rosenbrock, Rastrigin, Griewank [12]

PSO đã được ứng dụng vào để giải nhiều lớp bài toán khác nhau như: Tối ưu hóa không ràng buộc (Unconstrained Optimization), tối ưu hóa ràng buộc (Constrained Optimization), tối ưu đa mục tiêu (Multi Objective Optimization), tối ưu hóa động (Dynamic Optimization Problem), v.v

2.2 Bầy đàn thông minh

Một bầy đàn là một nhóm các sinh vật có tương tác với nhau Thuật ngữ bầy đàn thông minh (SI) được sử dụng lần đầu tiên trong hệ thống robot di động của Beni và Wang trong những năm 1980 Sau đó, đầu những năm 1990, các nghiên cứu bầy đàn thông minh được lấy cảm hứng từ xã hội của các loài côn trùng, các loài chim, cá và nhận thức của con người Hình ảnh đàn chim, đàn các tìm kiếm thức ăn, nguồn nước, đàn kiếm tìm kiếm thức ăn và đổi hướng tránh kẻ thù …Nó được gọi là kiểu quan hệ bầy đàn Trong những năm gần đây, các nhà khoa học đã tập trung nghiên cứu mô hình bầy đàn như là một giải pháp chiến lược trong việc giải quyết cả hai loại bài toán tối ưu ràng buộc và không có ràng buộc Họ ứng dụng những nghiên cứu để giải quyết

Trang 25

các bài toán tối ưu như thiết kế mạng viễn thông, nghiên cứu robot, ứng dụng trong quân sự …

Các lĩnh vực nghiên cứu chính dựa bầy đàn thông minh:

Giải thuật tối ưu hóa bầy kiến (Ant Colony Optimization – ACO) [15]: lấy ý tưởng

từ cách đàn kiến tìm đường từ tổ tới nguồn thức ăn, cách chúng xây dựng đường đi bằng dấu vết sinh học

Hình 2 1: Mô tả kiến tìm đường

Hình 2.1 mô tả cách thức tìm kiếm thức ăn của bầy kiến:

1: Kiến đầu tiên sẽ tìm thấy thực phẩm (F) thông qua bất kỳ cách nào đó, sau đó trở

về làm tổ (N), để lại đằng sau dấu vết pheromone trên đoạn đường đã qua

2: Đàn kiến đi ngẫu nhiên theo bốn cách có thể, dấu vết pheromone trên các đoạn đường càng nhiều, càng hấp dẫn đàn kiến lựa chọn như là đoạn đường ngắn nhất

3: Đàn kiến đi theo đoạn đường ngắn nhất, các đoạn đường không đi đến sẽ dần dần mất đi dấu vết pheromone

Hình 2 2: Mô tả chim tìm đường

Trang 26

Giải thuật tối ưu hóa bầy đàn (Particle Swarm Optimization – PSO) lấy ý tưởng từ

cách đàn chim tìm thức ăn, nguồn nước Theo giả thuyết của bài toán, các cá thể ban đầu được dựng lên trong không gian đó Mỗi cá thể có một vận tốc ban đầu, và giữa các cá thể cũng có kênh liên lạc Các cá thể sau đó di chuyển trong không gian lời giải, mỗi cá thể sẽ được đánh giá bằng một hay nhiều tiêu chuẩn thích nghi, dần dần các cá thể này sẽ di chuyển về phía những cá thể tốt hơn trong phạm vi của chúng

2.3 PSO truyền thống

2.3.1 Định nghĩa

Trong PSO, vấn đề bài toán được mô hình hóa như là không gian giải pháp n – chiều, quần thể sẽ tìm kiếm cá thể cho giải pháp tối ưu trong không gian n – chiều [12]

Định nghĩa 1: trong PSO, mỗi cá thể Pi mô phỏng như một cá thể của đàn chim Ở mỗi thế hệ, cá thể Pi có một vài vị trí xi

k

trong không gian tìm kiếm n – chiều và xik+1biểu diễn vị trí của cá thể sau khi cập nhật tại thế hệ sau đó Mỗi cá thể biểu diễn một lời giải của bài toán nhưng chưa phải là lời giải tối ưu Tùy từng bài toán mà mỗi cá thể sẽ được biểu diễn ở các cách khác nhau như cây, chuỗi số, mã nhị phân … Mỗi lời giải trong bài toán có thể được coi như là một vị trí trong không gian đó Trong ngữ cảnh giải quyết bài toán, một cá thể với vị trí của nó biểu diễn một giải pháp tiềm năng Hình 2.3 bên dưới biểu diễn các cá thể trong không gian tìm kiếm 2 chiều

Hình 2 3: Bầy đàn với 10 cá thể trong không gian tìm kiếm 2 chiều

Định nghĩa 2: Trong PSO, một bầy đàn P = {P1, P2, P3, … Pn) là một tập các cá thể (một tập các lời giải của bài toán) Các cá thể có thể có thông tin về toàn bộ quần thể hoặc thông tin về một phần quần thể Thông tin đó thường là thông tin về cá thể tốt nhất trong quần thể, nó được đánh giá qua giá trị của hàm mục tiêu

Trang 27

Định nghĩa 3: Vận tốc của cá thể vi

k

=[u1, u2, u3 …un] là một vector n – chiều làm thay đổi (di chuyển) vị trí của các thể Pi ở thế hệ k Về mặt toán học, quan hệ vị trí – vận tốc có mối quan hệ như sau:

Hình 2.4 biểu diễn quan hệ vị trí – vận tốc trong không gian hai chiều với giá trị vik+1

được cập nhật theo kinh nghiệm bay tốt nhất của cá thể trong quá khứ và kinh nghiệm bay tốt nhất của cá thể tốt nhất trong quần thể Nó sẽ tiến hành thay đổi (điều chỉnh hướng bay) tới vị trí mới xik+1

Hình 2 4: Quan hệ vị trí – vận tốc trong không gian 2 chiều

Mỗi cá thể sẽ có một vận tốc riêng, nó dùng để tính vị trí tiếp theo của cá thể trong không gian lời giải của bài toán Mỗi cá thể sẽ di chuyển trong không gian bài toán để tìm ra lời giải tối ưu Tùy vào bài toán cụ thể mà hàm vận tốc sẽ được biểu diễn phù hợp

Định nghĩa 4: Lân cận (neighbourhood) xác định cấu trúc xã hội của bầy đàn và chỉ ra

các nhóm cá thể nên tương tác Với cùng một lân cận, các cá thể sẽ tương tác, giao tiếp

và chia sẻ thông tin.Để hình thành một lân cận, chúng ta không thể giới hạn bằng khoảng cách vật lý giữa các cá thể; trong thực thế, chúng được xác định bằng các nhãn của các cá thể trong PSO [12] Ví dụ: 9 cá thể được liệt kê với các nhãn P1, P2, P3, P4, P5,

Trang 28

P6, P7, P8, P9 Liên quan đến khoảng cách vật lý, (P1, P2, P3) là lân cận với kích thước 3, tương tự ta có các lân cận (P4, P5, P6), (P7, P8, P9)

Hình 2 5: Một bầy đàn toàn cục và lân cận cục bộ[12]

Các lân cận có thể chồng nhau và một cá thể có thể thuộc nhiều lân cận

Các cấu trúc liên kết (topology) theo dạng hình sao (star), dạng vòng (ring) và bánh xe (wheel) là các cấu trúc lân cận thường được sử dụng:

Hình 2 6: Các topology lân cận đơn giản [12]

Trong ngữ cảnh của giải thuật PSO, có hai thuật ngữ thường được sử dụng là

“local” và “global” “Local” xem như một lân cận cá nhân trong khi đó “global” - một thực thể bầy đàn được xem như là lân cận lớn nhất Trong hình 2.5, chúng ta có ba lân cận cục bộ.Ví dụ khác: theo topology ở hình 2.6b, chúng ta có các cá thể P1, P2, P3, P4,

P5 hình thành các lân cận với kích thước 3 thì tổng số các lân cận là 5 với { P1, P2, P3), {P2, P3, P4}, {P3, P4, P5}, { P4, P5, P1} và { P5,P1, P2} Cá thể trong lân cận trên sẽ lấy thông tin từ hai cá thể trong cùng lân cận có kết nối trực tiếp tới nó.

Cấu trúc lân cận khác nhau có thể ảnh hưởng trực tiếp tới hiệu năng của bầy đàn Chúng xác định cách thức truyền thông giữa các cá thể do đó ảnh hưởng trực tiếp đến

sự hội tụ của các cá thể Tức là khi nào và làm thế nào các cá thể có thể đến với nhau, đến các trạng thái ổn định và dừng cải tiếp các giải pháp Các cá thể có thể hội tụ trên

Trang 29

các tối ưu cục bộ khác nhau hoặc thời gian khác nhau với các topology lân cận khác nhau

Trong topology hình sao như hình 2.6a, tất cả các cá thể bị ảnh hưởng bởi một vị trí tốt nhất toàn cục trong mỗi lần lặp thế hệ, và di chuyển theo hướng cục bộ, vì vậy chúng có xu hướng hội tụ nhanh chóng tới tốt nhất toàn cục

Trong topology dạng vòng như hình 2.6b, các phân đoạn lân cần chồng chéo lên nhau, vị vậy sự hội tụ có thể ảnh hưởng từ lân cận này tới lân cận khác và kéo theo tất

cả các cá thể Bằng cách dần dần lan rộng thông tin, sự hội tụ trên mạng vòng sẽ chậm hơn mạng hình sao

Đối với bầy đàn có topology dạng bánh xe quay, tồn tại một và chỉ một cá thể trung tâm phục vụ như bộ đệm Cá thể trung tậm sẽ thu thập và so sánh vị trí của tất cả các

cá thể, tìm ra vị trí tốt nhất và di chuyển hướng tới vị trí tốt nhất Tất cả các cá thể khác sẽ lấy thông tin từ cá thể trung tâm và bắt đầu di chuyển hướng tới vị trí tương tự Bởi ảnh hượng bộ nhớ đêm, một topology dạng bánh xe sẽ bảo đảm việc hội tụ lâu hơn một chút và ngăn cho bầy đàn hội tụ quá nhanh trên tối ưu cục bộ

Định nghĩa 5: Hàm mục tiêu (objective function) hay hàm thích ứng (fitness function)

hay hàm đánh giá (evaluation function) F(x) là hàm mô tả yêu cầu của bài toán cần đạt tới Hàm này dùng để đánh giá các lời giải của bài toán Tùy vào bài toán khác nhau, hàm mục tiêu sẽ khác nhau Bằng cách đánh giá và so sánh giải pháp hiện tại với giải pháp tốt nhất, các cá thể sẽ xác định bước đi tiếp theo Ba giải pháp (vị trí) tốt nhất là: tốt nhất cá nhân (pbest), tốt nhất toàn cục (gbest) và tốt nhất cục bộ (lbest)

2.3.2 Mô tả thuật toán

Quần thể ban đầu gồm n cá thể (mỗi cá thể là một lời giải cho bài toán, nhưng chưa tối ưu) Mỗi cá thể thứ i trong quần thể được biểu diễn bởi một vector xi m chiều (giá trị m tùy thuộc vào mỗi bài toán khác nhau và cách xử lý khác nhau), và một vector vận tốc

vi m chiều với i = 1,…,n Hàm mục tiêu của bài toán là f: Rm →R

Mô tả thuật toán chi tiết như sau:

B1: Khởi tạo quần thể với việc khởi tạo vector vị trí xi và vector vận tốc vi cho cá thể

thứ i, i = 1, , n (cho mỗi cá thể P i trong quần thể P(n))

B2: Khởi tạo các thông tin ban đầu về vị trí tốt nhất của các cá thể và cả quần thể

pbesti = xi (khởi tạo vị trí tốt nhất của cá thể thứ i bằng vị trí được khởi tạo

hiện tại)

gbest = min (f(xi)), i = 1, n (khởi tạo vị trí tốt nhất của cả quần thể bằng vị

trí nhỏ nhất trong tất cả các vị trí của tất cả các cá thể được khởi tạo)

B3: Bước lặp với điều kiện lặp xác định trước (sau một số lần lặp cho trước hoặc sau

một số lần lặp mà không thu được kết quả tốt hơn)

for 1<= i <= n (với mỗi cá thể)

Ngày đăng: 25/03/2015, 09:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lê Đức Tài, “Giải thuật lưu ảnh cho ứng dụng song song truyền thông điệp chạy trên môi trường điện toán đám mây” , Luận văn Thạc sỹ, Trường Đại học Khoa học Tự nhiên, Đại học Quốc Gia TP Hồ Chí Minh, 2010.Tiếng Anh Sách, tạp chí
Tiêu đề: Giải thuật lưu ảnh cho ứng dụng song song truyền thông điệp chạy trên môi trường điện toán đám mây
[12] I-Ling Lin, “Particle Swarm Optimization for solving constraint satisfaction problem”, Thesis, Master of science in the school of Interactive Arts and Technology, Simon Fraser University, 2002 Sách, tạp chí
Tiêu đề: Particle Swarm Optimization for solving constraint satisfaction problem
[13] Zhang Liping, Yu Huan-Jun, Hu Shang-xu, “Optimal choice of parameters for particle swarm optimization”, Journal of Zhejiang University SCIENCE ISSN 1009-3095 Sách, tạp chí
Tiêu đề: Optimal choice of parameters for particle swarm optimization
[14] Ravneet Kaur Chawla, “Designing a business application for workflows in Cloud Computing”, Thesis, Master of Engineering in Software Engineering, Thapar University Sách, tạp chí
Tiêu đề: Designing a business application for workflows in Cloud Computing”
[15] Marco Dorigo, Vittorio Maniezzo, and Alberto Colorni. The ant system: an autocatalytic optimizing process. Technical Report No. 91-016 Revised, Department of Electronic Information, Politecnico di Milano, Politecnico di Milano, Italy, 1991 Sách, tạp chí
Tiêu đề: The ant system: an autocatalytic optimizing process
[11] Rajkumar Buyya, Rajiv Ranjan and Rodrigo N. Calheiros, Modeling and Simulation of Scalable Cloud Computing Environments and the CloudSim Toolkit Khác
Challenges and Opportunities, Proceedings of the 7th High Performance Computing and Simulation Conference (HPCS 2009, ISBN: 978-1-4244-4907-1, IEEE Press, New York, USA), Leipzig, Germany, June 21-24, 2009 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1. 2: Mô hình điện toán đám mây. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 1. 2: Mô hình điện toán đám mây (Trang 10)
Hình 1. 3: Các đặc điểm thiết yếu, các mô hình dịch vụ và các mô hình triển khai của - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 1. 3: Các đặc điểm thiết yếu, các mô hình dịch vụ và các mô hình triển khai của (Trang 11)
Hình 1. 4: Tài nguyên đi thuê của Software as a Service. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 1. 4: Tài nguyên đi thuê của Software as a Service (Trang 13)
Hình 1. 7: Các mô hình triển khai Điện toán đám mây. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 1. 7: Các mô hình triển khai Điện toán đám mây (Trang 18)
Hình 1. 8: Mô hình quy trình nghiệp vụ [14]. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 1. 8: Mô hình quy trình nghiệp vụ [14] (Trang 20)
Hình 1. 9: DAG biểu diễn một workflow [14]. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 1. 9: DAG biểu diễn một workflow [14] (Trang 21)
Hình 2.1 mô tả cách thức tìm kiếm thức ăn của bầy kiến: - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 2.1 mô tả cách thức tìm kiếm thức ăn của bầy kiến: (Trang 25)
Hình 2. 1: Mô tả kiến tìm đường. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 2. 1: Mô tả kiến tìm đường (Trang 25)
Hình 2. 3: Bầy đàn với 10 cá thể trong không gian tìm kiếm 2 chiều. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 2. 3: Bầy đàn với 10 cá thể trong không gian tìm kiếm 2 chiều (Trang 26)
Hình 2. 6: Các topology lân cận đơn giản [12]. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 2. 6: Các topology lân cận đơn giản [12] (Trang 28)
Hình 3. 1: Một workflow ví dụ. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 3. 1: Một workflow ví dụ (Trang 34)
Bảng 3. 1: Chi phí thực thi của mỗi T i  trên các PC j  [6] - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Bảng 3. 1: Chi phí thực thi của mỗi T i trên các PC j [6] (Trang 35)
Hình 4. 1: Kiến trúc lõi của CloudSim. - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 4. 1: Kiến trúc lõi của CloudSim (Trang 42)
Bảng 4. 1:Kết quả tính toán chi phí thực thi workflow sau 30 lần chạy - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Bảng 4. 1:Kết quả tính toán chi phí thực thi workflow sau 30 lần chạy (Trang 44)
Hình 4. 2: Biểu đồ so sánh kết quả thực nghiệm workflow sau 30 lần chạy.  Nhận xét: chi phí thực thi workflow trên giải thuật lập lịch dựa PSO tiết kiệm chi phí - Bài toán Workflow Scheduling trong môi trường điện toán đám mây
Hình 4. 2: Biểu đồ so sánh kết quả thực nghiệm workflow sau 30 lần chạy. Nhận xét: chi phí thực thi workflow trên giải thuật lập lịch dựa PSO tiết kiệm chi phí (Trang 45)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN