Lập lịch cho lu ng công việc

Một phần của tài liệu Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây (Trang 36)

Lập lịch cho lu ng công việc là một trong những vấn đề quan trọng trong việc quản lý lu ng công việc, đặc biệt là hệ thống quản lý lu ng công việc đám mây. Đó là một quá trình lập lịch để quản lý việc phân phối các tác v đến các ngu n tài nguyên một cách phù hợp và đáp ứng các hàm m c tiêu được yêu cầu bởi người sử d ng.

Lập lịch là quá trình lập các ánh xạ (bản đồ - mapping) và quản lý việc thực hiện các tác vụ phụ thuộc lẫn nhau với các nguồn lực phân tán. Phân bổ nguồn lực

phù hợp với tác vụ để hoàn thành các đáp ứng hàm mục tiêu được yêu cầu bởi người sử dụng. Lập lịch thích hợp có thể có tác động đáng kể hiệu suất của hệ thống. [13]

Việc lập lịch một cách hợp lí sẽ tác động đáng kể đến hiệu suất của hệ thống. Tuy nhiên các vấn đề về lập lịch các dịch v phân phối là bài toán NP-khó. Đối với các vấn đề như vậy, không có thuật toán nào có thể để tạo ra các giải pháp tối ưu trong thời gian đa thức. Mặc dù các vấn đề lập lịch lu ng công việc có thể được giải quyết bằng cách sử d ng tìm kiếm đầy đủ nhưng các phương pháp này rất phức tạp. Trong môi trường đám mây, việc quyết định lập lịch phải được thực hiện trong thời gian ngắn nhất có thể, bởi vì có rất nhiều người sử d ng cạnh tranh các ngu n tài nguyên và khe thời gian mong muốn của một người sử d ng có thể được thực hiện bởi một người dùng khác bất cứ lúc nào.

Cho đến nay, có hai loại chính lập lịch cho lu ng công việc đó là dựa vào những cố gắng tốt nhất và lập lịch hạn chế dựa vào chất lượng dịch v (QoS), chủ yếu cho hệ thống quản lí lu ng công việc của lưới. Lập lịch dựa trên những cố gắng tốt nhất sẽ cố gắng giảm thiểu thời gian thực hiện, bỏ qua các yếu tố khác như chi phí của việc truy cập tài nguyên và mức độ hài lòng của người dùng QoS. Ngược lại, lập lịch hạn chế dựa vào QoS tối đa hóa hiệu suất theo ràng buộc QoS.

CHƢƠNG 2 BÀI TOÁN LẬP LỊCH VÀ PHÂN BỔ TÀI NGUYÊN TRONG MÔI TRƢỜNG ĐIỆN TOÁN ĐÁM MÂY

2.1 Vấn đề lập lịch và phân bổ ài nguy n đ y 2.1.1 Lập lịch cho lu ng công việc r n đ y

Trong môi trường đám mây có một vùng chung (pool) lớn được sử d ng dễ dàng cho phép truy cập vào các ngu n tài nguyên ảo hóa (chẳng hạn như phần cứng, phát triển platform, dịch v ). Các ngu n tài nguyên có thể được tự động tái cấu hình để điều chỉnh cho một biến tải, cho phép sử d ng ngu n lực tối ưu. Vùng chung (pool) của các ngu n tài nguyên này thường được khai thác bởi một mô hình trả tiền cho mỗi lần sử d ng đảm bảo được cung cấp bởi các nhà cung cấp cơ sở hạ tầng bằng cách tùy chỉnh SLAs (thỏa thuận cấp độ dịch v ).

Lu ng công việc trong điện toán đám mây là lu ng công việc được thực hiện trên môi trường đám mây nhằm tận d ng những lợi thế mà đám mây cung cấp để tạo điều kiện thuận lợi cho việc thực hiện các lu ng công việc. Những lợi thế này bao g m các khía cạnh sau:

- Môi trường đám mây cho phép việc sử d ng các dịch v đám mây khác nhau để thực hiện công việc.

- Ngược lại với các ngu n tài nguyên trong lưới, các ngu n tài nguyên trong các đám mây được chia s và cung cấp cho người sử d ng theo tính năng "theo yêu cầu", có nghĩa là chi phí cho phần cứng để thực hiện công việc có thể được lưu lại.

- Các mô hình "user-centric" trong các đám mây làm cho việc thực hiện lu ng công việccho người dùng thân thiện hơn do đó làm tăng sự hài lòng của người dùng.

- Phương thức kinh doanh "trả tiền khi hết sử d ng" trong các đám mây có thể tiết kiệm chi phí thực hiện các lu ng công việc.

Vấn đề lập lịch trong môi trường tính toán phân tán đã trở thành một chủ đề được nhiều người quan tâm và có nhiều thuật ngữ đã được đề xuất:

Machine (computin unit): là tập các tài nguyên tính toán với giới hạn năng lực tính toán. Nó có thể là một máy các nhân, một máy trạm, một siêu máy tính hoặc phân c m các máy trạm. Năng lực tính toán các máy tùy thuộc vào số lượng CPU, dung lượng bộ nhớ, không gian lưu trữ cơ bản và các yếu tố khác. Nói cách khác, mỗi máy có một tốc độ tính toán của riêng nó, có thể được biểu diễn bằng số chu kỳ trên một đơn vị thời gian. (Cycles Per Unit Time –CPUT)

Data Resource: là tập các dữ liệu ảnh hưởng tới lập lịch. Các dữ liệu này thường nằm trên các kho lưu trữ khác nhau hoặc các máy chủ dữ liệu. Kho dữ liệu kết nối với các ngu n tài nguyên tính toán bằng các liên kết với băng thông khác nhau.

Job and Operation (Task): được coi như tập các operation/task nguyên tử. Mỗi mọt công việc sẽ được phân bổ ở trên một máy tính duy nhất mà không cần chiếm trước. Nó có dữ liệu đầu vào và đầu ra (input/output) và yêu cầu xử l để hoàn thành nhiệm v của mình. Một trong những yêu cầu xử lý quan trọng nhất là lu ng công việc, sắp đặt một tập các hoạt động cho các ứng d ng c thể. Những hoạt động này chỉ có thể bắt đầu sau khi hoàn thành một hoạt động trước đó theo trình tự, vì vậy được gọi là ràng buộc lu ng công việc.

Schedule and Scheduling Probem: là phép kết nối các công việc cho một khoảng thời gian c thể của máy. Vấn đề lập lịch được xác định bằng một tập các máy, tập các công việc, tiêu chu n tối ưu, đặc điểm môi trường và các ràng buộc khác.

Cùng với sự ra đời của đám mây, các kiểu lập lịch khác nhau dựa trên các tiêu chí khác nhau cho bài toán lập lịch trên đám mây cũng ra đời. Sau đây là một số kiểu lập lịch cho đám mây hiện có:

phương án lập lịch tĩnh, các thông tin hiện tại về môi trường thực hiện và các tài nguyên phải được dự đoán trước khi thực hiện công việc lập lịch và các trạng thái thay đổi về ngu n tài nguyên không được cập nhật trong quá trình lập lịch.

2) Lập lịch động: là phương pháp lập lịch sử d ng cả thông tin động và thông tin tĩnh về các ngu n tài nguyên để ra quyết định lập lịch tại thời gian chạy. Phương pháp lập lịch động linh hoạt hơn so với lập lịch tĩnh, công việc được tự động lập lịch theo thời gian, có thể xác định thời gian chạy trước.

3) Lập lịch tập trung: Việc lập lịch được thực hiện áp d ng cho các tác v thực thi bởi một bộ xử lý. Lập lịch tập trung dễ thực hiện, hiệu quả, kiểm soát nhiều hơn và giám sát tài nguyên lợi hơn.

4) Lập lịch phi tập trung: Việc lập lịch được thực hiện áp d ng cho các tác v thực thi bởi nhiều bộ xử lý.

5) Lập lịch hợp tác:trong trường hợp này, hệ thống có nhiều lập lịch, mỗi cái chịu trách nhiệm thực hiện hoạt động nhất định trong quá trình lập lịch với phạm vi dựa trên sự hợp tác của các thủ t c, quy tắc nhất định và người sử d ng hệ thống hiện tại.

6) Lập lịch phòng ngừa: phương pháp lập lịch cho phép mỗi công việc bị gián đoạn trong quá trình thực hiện và một công việc có thể được di chuyển đến tài nguyên khác và không sử d ng tài nguyên ban đầu của nó.

7) Lập lịch không phòng ngừa: là phương pháp lập lịch mà các ngu n lực không được phép được cấp trở lại cho đến khi công việc chạy và hoàn thành thực hiện.

8) Chế độ ngay lập tức/trực tuyến: lập lịch cho bất kỳ công việc nào ngay khi nó đến không phải chờ đợi khoảng thời gian tiếp theo trên các ngu n lực sẵn có tại thời điểm đó.

9) Chế độ hàng loạt/không trực tuyến: tổ chức lập lịch đến công việc như là một nhóm các vấn đề được giải quyết trong thời gian liên tiếp.

2.1.2 P n ổ ài nguy n r ng i rƣờng điện n đ y

Trong điện toán đám mây, cơ sở hạ tầng cho việc tính toán lớn thường không đ ng nhất, không chỉ vì việc mua tất cả các máy chủ, thiết bị mạng, thiết bị cung cấp năng lượng với cùng một kích thước và thời gian là không hiệu quả và kinh tế, mà còn vì các ứng d ng khác nhau yêu cầu những thiết bị phần cứng khác nhau ví d như quy trình làm việc lớn cần phần cứng chu n và giá thành r còn các công việc tính toán khoa học lại cần đến những thiết bị phần cứng đặc biệt hơn về CPU như GPU hay ASIC. Có nhiều loại tài nguyên trong hạ tầng tài nguyên máy tính cần phải được quản l : khả năng chịu tải của CPU, băng thông mạng, dung lượng ổ cứng, và thậm chỉ cả loại hệ điều hành. Để cung cấp dịch v với chất lượng tốt hơn, tài nguyên được cung cấp cho người dùng hoặc ứng d ng, thông qua cơ chế tải cân bằng, tính sẵn sàng cao và cơ chế bảo mật và xác thực. Để tối đa hóa điện toán đám mây, khả năng yêu cầu của ứng d ng sẽ được tính toán sao cho tối thiểu hóa các hạ tầng điện toán đám mây được cung cấp và duy trì. Với quyền truy cập vào cơ sở hạ tầng của điện toán đám mây, các ứng d ng sẽ phân bổ tài nguyên thích hợp cho việc tính toán với chi phí thời gian và chi phí hạ tầng là nhỏ nhất. Các tài nguyên thích hợp được lựa chọn cho các ứng d ng đặc biệt [21].

Phân bổ ngu n lực và công việc lập kế hoạch trong điện toán đám mây: Để khái quát công việc phân bổ ngu n lực và lập kế hoạch trong điện toán đám mây, giả định rằng có một tập các nhiệm v (task) của khách hàng trong môi trường điện toán đám mây, mỗi nhiệm v yêu cầu di tài nguyên (CPU, memory, mạng, lưu trữ) và một tập các máy chủ ảo (server) mỗi server với chi phí ci. Hơn nữa, giả định rằng mỗi nhiệm v (công việc) có thể được ph c v bởi n server. Bài toán đặt ra là liệu có một phân công nhiệm v cho các máy chủ để mỗi công việc đều được thỏa mãn bằng các tài nguyên sẵn có là vấn đề NP - đầy đủ. Ngay cả khi các tài nguyên là sẵn có để đáp ứng một như cầu nhất định, để lập một kế hoạch chính xác cho tập các nhu cầu và tập các ngu n lực là quá phức tạp để giải quyết trong phạm vi thời gian chấp nhận được. (adsbygoogle = window.adsbygoogle || []).push({});

Trong điện toán đám mây, việc cung cấp các dịch v và tài nguyên theo yêu cầu qua mạng đòi hỏi giải quyết rất nhiều vấn đề công nghệ, bao g m việc cung cấp tự động, chuyển đổi máy chủ ảo tự động, hoặc vấn đề an ninh mạng. Hơn nữa, trong một môi trường điện toán đám mây, không phải tất cả tài nguyên (các hệ thống máy chủ ảo) thực sự có thể sẵn có cho tất cả các khách hàng, do độ trễ mạng, các thỏa thuận thương mại, hoặc một số vấn đề chính sách an ninh. Điều này ng rằng tập các máy chủ và tập các khách hàng (nhiệm v ) là nhỏ hơn kết nối đầy đủ trong một đám mây. Tuy nhiên nhu cầu về tài nguyên của một nhiệm v có thể mô tả như là một vector nhiều chiều: nhiệm v i yêu cầu x l i xử l , y GB bộ nhớ và z GB dung lượng lưu trữ. Vì vậy, kịch bản phân bổ đơn giản trở lên phức tạp hơn, giả định rằng mỗi nhiệm v có thể truy cập tài nguyên trên n máy chủ và cũng giả định rằng tài nguyên là có đủ và sẵn có trong đám mây. Ví d điện toán đám mây được đơn giản hóa phác thảo các vấn đề tính toán phức tạp, ngu n tài nguyên địa l phân tán được truy cập bởi khách hàng ở những vị trí địa l phân tán. Trong thực tế đám mây thường có đủ năng lực sẵn có để hầu hết hoặc tất cả các nhiệm v đều được ph c v hầu hết thời gian (đấy cũng là l do tại sao hầu hết các nhà cung cấp dịch v điện toán đám mây không duy trì một bộ chi phí hiệu quả, tối thiểu tối ưu hóa các ngu n lực). Ngoài ra, điện toán đám mây có tính động rất cao và do đó vấn đề phân bổ tài nguên cần phải liên t c giải quyết như là máy chủ trở lên sẵn có không sẵn có cùng l c đó thì nhu cầu của khách hàng cũng thay đổi, dao động.

2.2 Phát biểu bài toán lập lịch và phân bổ ài nguy n r ng i rƣờng điện n đ y (SRAP)

2.2.1 Phát biểu bài toán

Các tài nguyên đám mây được phân thành hai dạng chính:

- Tài nguyên vật lý (physical resources): như là bộ nhớ RAM, dung lượng lưu trữ trên đĩa, băng thông đường truyền ,khả năng chịu tải của CPU …

- Tài nguyên logic (logical resources): các ứng d ng phần mềm, hệ điều hành …

Trong điện toán đám mây, tài nguyên thường được coi là vô cùng lớn với năng lực xử lý là vô hạn nhưng thực tế mọi tài nguyên đều là hữu hạn. Ngoài ra, cơ sở hạ tầng cho việc tính toán lớn thường không đ ng nhất, không chỉ vì việc mua tất cả các máy chủ, thiết bị mạng, thiết bị cung cấp năng lượng với cùng một kích thước và thời gian là không hiệu quả và kinh tế, mà còn vì các ứng d ng khác nhau yêu cầu những thiết bị phần cứng khác nhau ví d như quy trình làm việc lớn cần phần cứng chu n và giá thành r còn các công việc tính toán khoa học lại cần đến những thiết bị phần cứng đặc biệt hơn về CPU như GPU hay ASIC.

Quản lý tài nguyên có thể hiểu là những tác v điều khiển những khả năng sẵn có của đám mây làm cho ch ng luôn sẵn sàng ph c v người sử d ng. Khi khách hàng cần sử d ng tài nguyên với những yêu cầu khác nhau thì nhà cung cấp sẽ lập lịch phân phối để đáp ứng yêu cầu của khách hàng sao cho có lợi nhất cho mình.Việc lập lịch thực thi cho các tác v của một lu ng công việc trên đám mây có thể đơn giản là phân công các tác v cho các tài nguyên (các Host) với nhiều m c tiêu [21]: cân bằng tải, nâng cao chất lượng dịch v , tối thiểu hóa thời gian thực thi, tối thiểu hóa thời gian chờ đợi, tối thiểu hóa chi phí thực thi .v.v. “

Bài toán lập lịch và phân bổ tài nguyên trong môi trường điện toán đám mây được xét đến trong luận văn nhằm m c đích tìm ra một phương án tối ưu giảm thiểu tổng chi phí thực hiện các tác vụ (Task) trên các nguồn tài nguyên bao gồm chi phí tính toán trên tài nguyên, chi phí truyền thông và hoàn thành trong giới hạn thời gian theo yêu cầu của người dùng[18].

2.2.2 Mô hình toán học

Một lu ng công việc có thể được biểu diễn bởi đ thị DAG, cho G = (V, E), với V = {t1, t2, ..., tn} là tập các tác v và E là tập các ph thuộc dữ liệu giữa các tác v này, fj,k = (Tj, Tk) E là tập tin đầu ra của Tj và là tập tin đầu vào của Tk.

Một tập của các máy chủ lưu trữ S = {1, ...,i}, một tập các máy tính tính toán H= {1, ..., j} và một tập số các tác v T = { 1, ..., k}.

Thời gian tính toán của tác v Tk trên ngu n tài nguyên tính toán Hj là đã biết. Chi phí tính toán của một tác v trên một Host tỉ lệ nghịch với thời gian tính toán.

Chi phí truy cập dữ liệu di, j từ một ngu n Hi đến Hj là đã biết (trong thực tế

Một phần của tài liệu Bài toán lập lịch phân bổ tài nguyên trong môi trường điện toán đám mây (Trang 36)