You are on page 1of 19

1

NGHIÊN CỨU VÀ XÂY DỰNG


ẢO HÓA HỆ THỐNG TÍNH TOÁN HIỆU NĂNG CAO
SỬ DỤNG DOCKER CLUSTER
Như, Trường, Khoa, Nguyễn Quốc Hùng
Trường Đại học Kinh tế TP. Hồ Chí Minh
Tóm tắt— Sự phát triển ngày càng lớn của internet và trí tuệ nhân tạo đã làm thay đổi
cách thức quản lý, phân tích và xử lý dữ liệu trong Ngân hàng. Trong đó, khách hàng rời
đi luôn là một vấn đề rất nang giải trong Ngân hàng, do hiện nay chưa có cách thức phát
hiện kip thời đa phân xác định là là khánh hàng chủ động tới Ngân hàng để đóng tài
khoản tại Ngân hàng. Do sản phẩm dịch vụ của Ngân hàng có liên kết mật với tài chính
của khách hàng nếu khách hàng rời đi ảnh hưởng rất lớn tới khả năng thanh khoản của
một Ngân hàng. Mặc khác với số lượng khách hàng trung bình tới hàng triệu khách hàng
(thị trường Việt Nam), Ngân hàng rất khó khăn trong việc chăm sóc khách hàng để phát
hiện sớm những dấu hiện khách hàng có thể rời đi trong thời gian ngắn. Nhận biết được
khó khách đó tôi đã đề xuất sử dụng sự tiến bộ của khoa học công nghệ AI (học máy) để
nhận biết được khách hàng có khả năng rời bỏ Ngân hàng thông qua những thông tin
hành vi của khách hàng được thu thập và lưu trữ của Ngân hàng từ đó Ngân hàng có thể
lên được chiến lược quản lý khách hàng tốt hơn.
Từ khóa: Khách hảng rời bỏ, máy học, Ngân hàng, hành vi khách hàng

1 ĐẶT VẤN ĐỀ
Khách hàng luôn là tài sản quý giá nhất đối với bất kỳ tổ chức nào, trong
môi trường kinh doanh ngày càng cạnh tranh ngày nay, khách hàng có thể dễ
dàng chuyển đổi giữa các đối thủ cạnh tranh, do đó việc giữ chân khách hàng
dường như là một yêu cầu cơ bản, thiết yếu và có tầm quan trọng đối với bất kỳ
một tổ chức nào. Nhiều công ty gặp phải vấn đề nghiêm trọng về việc khách hàng
bỏ đi, do sự cạnh tranh khốc liệt do thị trường bão hòa, điều kiện thị trường năng
động và liên tục đưa ra các dịch vụ cạnh tranh mới . Các ngân hàng cũng không
nằm ngoài quy luật này. Với Số lượng khách hàng của các ngân hàng và công
ty tài chính ngày càng tăng, các ngân hàng lớn thường có hàng chục triệu
khách hàng trong danh mục kinh doanh của họ và điều này khiến các ngân
hàng ý thức được chất lượng dịch vụ mà họ cung cấp. Hiện tượng rời đi của
khách hàng, được gọi là 'churn', tức là sự chuyển đổi lòng trung thành từ nhà
cung cấp dịch vụ này sang nhà cung cấp dịch vụ khác xảy ra do các lý do như
sự sẵn có của công nghệ mới nhất, nhân viên ngân hàng thân thiện với khách
hàng, lãi suất thấp, vị trí địa lý gần, dịch vụ đa dạng được cung cấp, v.v. Môi
2

trường cạnh tranh của các dịch vụ ngân hàng thương mại được cung cấp bởi
các ngân hàng khác nhau làm tăng sự cần thiết của việc giữ chân khách hàng,
trong khi cố gắng tăng thị phần của mình vào việc thu hút khách hàng mới.
Tầm quan trọng của việc hiểu được sự rời bỏ của khách hàng đã được nhấn
mạnh trong một số nghiên cứu gần đây. Tỷ lệ duy trì tăng 1% cho thấy giá trị
công ty tăng trung bình 5%(Gupta, Lehmann, & Stuart, 2004). Việc giảm tỷ lệ
rời bỏ 5 phần trăm đã được chứng minh là giúp tăng gấp đôi lợi nhuận trong
một số ngành(Reichheld, 1996).

Nhu cầu sử dụng sản phẩm dịch vụ của khách hàng là yếu tố quan trọng
nhất trong sự hình thành của bất cứ thị trường và doanh nghiệp nào. Nó thu hút
các công ty để đáp ứng nhu cầu của họ bằng cách phát triển các sản phẩm và
dịch vụ mới. Một số nghiên cứu đã chỉ ra rằng có được một khách hàng mới
thường đắt gấp 5 đến 6 lần so với việc giữ chân một khách hàng hiện có
(Colgate & Danaher, 2000). Do tầm quan trọng của khách hàng và chi phí thu
hút khách hàng mới cao hơn so với việc duy trì khách hàng hiện tại, các ngân
hàng và các ngành phụ thuộc vào khách hàng khác phải có khả năng tự động
hóa quá trình dự đoán hành vi của khách hàng bằng cách sử dụng dữ liệu của
khách hàng trong cơ sở dữ liệu của họ. Trong khi đó, khách hàng rời đi là một
trong những vấn đề quan trọng nhất đối với Ngân hàng. Nó tước đi của một
ngân hàng các khoản thu nhập khác nhau và thu nhập từ phí ( tiền gửi không kỳ
hạn, phí chuyển tiền,…). Và quan trọng hơn, tiền gửi của khách hàng là nguồn
thu nhập chính của một ngân hàng trong hệ thống ngân hàng. Nó có thể dẫn
đến việc rút một phần tiền gửi của ngân hàng. Khi xem xét việc mất đi hai
nguồn thu nhập này, cùng với khả năng gia tăng rủi ro về uy tín, có thể dẫn
ngân hàng đến bờ vực phá sản. Khi khách hàng rời bỏ sẽ ảnh hưởng trực tiếp
tới doanh thu và lợi nhuận của Ngân hàng. Mặt khác, chi phí để duy trì một
khách hàng hiện hữu thấp hơn nhiều so với chi phí tìm kiếm một khách hàng
mới. Vậy nên, hiểu rõ và giữ chân khách hàng là việc quan trọng luôn được các
doanh nghiệp quan tâm. Khách hàng rời bỏ trong lĩnh vực ngân hàng mô tả một
3

khách hàng bị mất đã hủy đăng ký dịch vụ ngân hàng và đăng ký một ngân
hàng khác. Các ngân hàng và các tổ chức tài chính khác thường xuyên kiểm tra
các giao dịch của khách hàng để phát hiện các dấu hiệu cảnh báo phổ biến
trong hành vi của khách hàng trước khi xảy ra churn. Quản lý rời bỏ đã trở
thành một phần của quản lý quan hệ khách hàng (CRM) vì thách thức nghiêm
trọng của việc khách hàng rời bỏ trong lĩnh vực ngân hàng. Quản lý rời bỏ
nhấn mạnh sự cần thiết của các ngân hàng để thực hiện các bước để ngăn chặn
hoặc giảm thiểu sự rời bỏ của khách hàng thông qua một số chương trình giữ
chân khách hàng. Điều này cũng giúp thiết lập mối quan hệ lâu dài với khách
hàng và tối đa hóa giá trị cơ sở khách hàng của họ. Khách hàng rời bỏ đặt ra
mối quan tâm nghiêm trọng đối với các ngân hàng vì nó gây ra tổn thất doanh
thu cho ngành. Vì lý do này, các ngân hàng rất muốn xác định những khách
hàng có khả năng hủy đăng ký dịch vụ của họ cao nhất. Dự đoán rời bỏ cho
phép sử dụng hồ sơ giao dịch của khách hàng để xác định khả năng khách hàng
từ bỏ dịch vụ trước khi khách hàng thật sự rời bỏ. Nhắm mục tiêu khách hàng
trên cơ sở hành vi mua hàng (đang thay đổi) của họ có thể giúp tổ chức kinh
doanh tốt hơn và các chương trình phần thưởng cho lòng trung thành giúp tổ
chức xây dựng mối quan hệ bền chặt hơn với khách hàng.

Mặc dù nó có thể tạo ra sự thu hút thích hợp đối với khách hàng của Ngân
hàng, nhưng Ngân hàng cần phải hiểu rõ về hành vi năng động của khách hàng.
Dựa trên sự hiểu biết này, chúng ta có thể đưa ra kế hoạch phù hợp để giữ chân
khách hàng. Trong ngân hàng, khách hàng là thành phần chủ yếu của hoạt động
kinh doanh ngân hàng. Tất cả các chiến lược và kế hoạch của họ được tổ chức
để thu hút khách hàng mới, giữ chân khách hàng hiện tại và cuối cùng là nâng
cao sự hài lòng của khách hàng. Nhiều Ngân hàng đã chuyển từ chiến lược lấy
ưu đãi làm trung tâm, được thiết kế để bán càng nhiều ưu đãi càng tốt, sang
phương pháp duy trì hướng đến khách hàng nhằm tìm cách giảm tỷ lệ rời bỏ một
cách rõ ràng.
4

Một trong những điều khó khăn nhất trong việc ngăn chặn tình trạng rời bỏ
Ngân hàng là đó không phải là công việc của riêng ai, theo nghĩa là không một
người nào hoặc bộ phận công việc nào có thể làm việc đó một mình. Rất khó để
chống lại tình trạng rời bỏ vì các bộ phận khác nhau của doanh nghiệp chịu trách
nhiệm giảm tỷ lệ rời bỏ theo những cách khác nhau. Tất cả các nhóm này đều có
các công cụ và phương pháp khác nhau và chúng có thể không phù hợp với tình
huống và chiến lược. Ngoài ra, mọi phương pháp để giảm tỷ lệ rời bỏ đều yêu cầu
doanh nghiệp nhắm mục tiêu can thiệp vào những khách hàng có nhiều khả năng
phản hồi nhất. Do đó, để chống lại tình trạng rời bỏ sản phẩm, các doanh nghiệp
cần có một tập hợp các sự kiện hoặc quy tắc được chia sẻ để hiểu khách hàng và
mức độ tương tác của họ với sản phẩm. Xem xét các chiến lược để giảm tỷ lệ rời
bỏ được mô tả trong phần trước: cải tiến sản phẩm, chiến dịch tương tác, hỗ trợ và
thành công của khách hàng, bán hàng và định giá. Những chức năng đó bao trùm
hơn một nửa các phòng ban trong một tổ chức điển hình. Điều đó có nghĩa là việc
giảm tỷ lệ churn sẽ gặp phải các vấn đề về giao tiếp và phối hợp có bộ phân trong
Ngaanh ngàng. Nếu không được kiểm soát, các nhóm khác nhau sẽ có xu hướng
đưa ra các phương pháp tiếp cận không phối hợp để giảm tình trạng churn. Ví dụ,
sẽ phản tác dụng nếu nhóm sản phẩm và tiếp thị quyết định tập trung vào việc thúc
đẩy việc sử dụng các tính năng hoặc nội dung khác nhau. Và những cách tiếp cận
đó có thể dựa trên thông tin hạn chế hoặc thiếu sót. Vì họ không phải là chuyên
gia dữ liệu, nên không có gì đảm bảo rằng các lựa chọn do các nhóm độc lập đưa
ra sẽ được dữ liệu định hướng chính xác. Ngoài ra, trong một tình huống điển
hình, người cung cấp dữ liệu không thể tự mình làm bất cứ điều gì để giảm tỷ lệ
rời bỏ. Việc giảm tỷ lệ rời bỏ phụ thuộc vào các hành động được thực hiện bởi các
chuyên gia trong các bộ phận khác nhau của doanh nghiệp, chứ không phải bởi
một cá nhân quản lý dữ liệu. Những người phụ trách dữ liệu thường không có
trách nhiệm trực tiếp đối với kết quả kinh doanh cụ thể (chẳng hạn như doanh
thu), trong khi những người ở các vai trò khác đó thường làm. Theo quan điểm
của người làm dữ liệu, Ngân hàng là người dùng cuối của kết quả phân tích dữ
liệu.Cách tốt nhất để biến dữ liệu thành vũ khí trong cuộc chiến chống lại sự rờibỏ
5

là sử dụng dữ liệu để tạo ra các phép đo khách hàng hiệu quả và đưa các phép đo
đó đến tay những người chống lại sự rời bỏ của doanh nghiệp.

2 TÌNH HÌNH NGHIÊN CỨU


Tại Việt Nam, trong một vài năm gần đây, một số nghiên cứu trong lĩnh vực tính
toán lớn hiệu năng cao HPC đã được thực hiện như: các giảng viên Trung Tâm Kỹ
Thuật Điện Toán - Trường Đại học Bách khoa - Đại học quốc gia TP. Hồ Chí
Minh đã thực hiện đề tài nghiên cứu [6] "Nghiên cứu thiết kế hệ thống tính toán
hiệu năng cao 50-100 TFLOPS" với mục tiêu xây dựng các giải pháp, các kỹ thuật
được dùng trong lĩnh vực tính toán hiệu năng cao và tìm cách xây dựng một công
cụ có thể đánh giá được hiệu năng của một hệ thống máy tính mạnh, hướng tới
hiệu suất đạt trong khoảng 30%-90% kết quả được công bố trên 500 máy tính
mạnh nhất thế giới. Đề tài [7] "Nghiên cứu các hệ thống tính toán hiệu năng cao và
ứng dụng mô phỏng vật liệu vi mô" của GS.TS Nguyễn Thanh Thủy tại trung tâm
tính toán hiệu năng cao trực thuộc Trường Đại học Bách khoa Hà Nội nằm trong
khuôn khổ hợp tác khoa học công nghệ theo đề tài Nghị định Thư với Ấn độ giai
đoạn 2004-2005 đã đề xuất xây dựng hệ thống tính toán cao gồm chức năng
BKluster - một hệ thống tính toán song song ghéo cụm dựa trên kiến trúc Beowulf
và mô hình lập trình truyền thông điệp cùng với bộ phần mềm BKlusware một tập
các phần mềm hỗ trợ tối đa nhiều người dùng ở nhiều mức độ khác nhau.
Ngoài ra, tại một số hội thảo khoa học về lĩnh vực tính toán hiệu năng cao cũng
thu hút được nhiều các nhà khoa học tham dự báo cáo như: tại hội thảo: "Tính toán
hiệu năng cao và ứng dụng thực tiễn", các tác giả của Trung tâm Dự báo Khí tượng
Thủy văn Trung ương đă trình bày tính toán song song trên hệ thống máy tính hiệu
năng cao HPC trong lĩnh vực dự báo khí tượng thủy văn và biến đổi khí hậu các
mô hình mô phỏng/dự báo số trị phục vụ nghiệp vụ dự báo thời tiết và khí hậu tại
Việt Nam. Trường đại học Thủ dầu một đã tổ chức hội thảo khoa học “Máy tính
hiệu năng cao cho nghiên cứu khoa học và ứng dụng thực tiễn 2019” với trên 30
báo cáo tham luận, trong đó có 18 tham luận đã hoàn thiện, sẽ được xuất bản trong
Tạp chí khoa học của Đại học Quốc gia Hà Nội.
Trong lĩnh vực ảo hóa hệ thống tính toán đã có một số đề tài/ dự án được đề xuất
thực hiện như: Dự án [8] "Ứng dụng công nghệ ảo hóa và điện toán đám mây để
xây dựng hệ thống lưu trữ và truyền hình ảnh (PACS-Cloud) phục vụ kết nối liên
thông dữ liệu giữa các bệnh viện" được Bộ Công Thương phê duyệt trong khuôn
khổ Chương trình quốc gia phát triển một số ngành công nghiệp công nghệ cao do
do TS. Nguyễn Chí Ngọc chủ trì thực hiện. Trong nhiệm vụ khoa học
TNMT.2012.08.09 [9]: "Nghiên cứu hệ thống hạ tầng ảo hóa và công nghệ điện
toán đám mây riêng, cung cấp hạ tầng công nghệ thông tin trong ngành tài nguyên
và môi trường" của Bộ Tài Nguyên môi trường năm 2013 đã đề xuất thực hiện các
nhiệm vụ trọng tâm như: một là có được cơ sở khoa học của giải pháp điện toán
đám mây và ứng dụng ảo hóa hạ tầng kỹ thuật thông tin do Cục Công nghệ thông
tin đang quản lý; hai là ứng dụng được ảo hóa đối với server, thiết bị mạng và lưu
6

trữ, thư viện điện tử ngành tài nguyên môi trường lên đám mây công cộng; ba là đề
xuất định hướng đầu tư hạ tầng kỹ thuật, thông tin ngành tài nguyên và môi trường
đến năm 2015 và định hướng đến năm 2020 với các sản phẩm như: Giải pháp ảo
hóa và điện toán đám mây các hệ thống máy chủ, mạng, thiết bị lưu trữ tại Cục
Công nghệ thông tin; Phần mềm ứng dụng giải pháp điện toán đám mây để đưa hệ
thống thư viện điện tử ngành Tài nguyên và môi trường đến độc giả trên đám mây
công cộng; Đề xuất định hướng đầu tư hạ tầng ảo hóa và ứng dụng điện toán đám
mây trong ngành tài nguyên và môi trường. Ngoài ra, công nghệ ảo hóa được tổng
hợp trong nghiên cứu [10] "Ứng dụng công nghệ ảo hóa trong việc tối ứu hóa cơ
sở hạ tầng công nghệ thông tin" của tác giả Hồ Văn Ngọc năm 2017 đã trình bày
một số ứng dụng về công nghệ ảo hóa như ảo hóa Server, ảo hóa hạ tầng mạng, ảo
hóa desktop, ảo hóa các ứng dụng, ảo hóa hệ thống lưu trữ, công nghệ ảo hóa điện
toán đám mây...từ đó đưa ra giải pháp và mô hình ứng dụng phù hợp cơ sở hạ tầng
công nghệ thông tin dựa trên công nghệ ảo hóa Vmwave Vsphere...
Trên thế giới, một số công nghệ ảo hóa hệ thống tính toán được áp dụng ở nhiều
nơi trên thế giới như trong nghiên cứu của Gautam Bhanage [1] về việc đánh giá
thử nghiệm công nghệ ảo hóa OpenVZ (Open Virtuozzo) từ góc độ triển khai nhận
xét rằng OpenVZ là một hệ thống công nghệ ảo hóa hoạt động dựa trên nhân
Linux. OpenVZ cho phép một máy chủ vật lý để chạy nhiều trường hợp hệ điều
hành riêng biệt, được gọi là container, máy chủ riêng ảo (VPSS), hoặc môi trường
ảo (VES). OpenVZ không thực sự ảo hóa, nó sử dụng chung 1 nhân Linux đã được
sửa đổi và do đó chỉ có thể chạy duy nhất hệ điều hành Linux. Như vậy tất cả các
máy chủ ảo VPS cũng chỉ có thể chạy được Linux với chung 1 công nghệ và phiên
bản Kenel. Tuy nhiên, do không có nhân riêng nên nó rất nhanh và hiệu quả,
nhưng đó cũng chính là nhược điểm của nó khi tất cả các máy chủ phải sử dụng
chung 1 nhân duy nhất. Công nghệ ảo hóa Hyper-V của hãng Microsoft [5] gồm 3
thành phần chính: hypervisor, ngăn ảo hóa và mô hình I/O (nhập/xuất) ảo hóa mới.
Hypervisor là lớp phần mềm rất nhỏ hiện diện ngay trên bộ xử lý (BXL) theo công
nghệ Intel-V hay AMD-V, có vai trò tạo các “partition” (phân vùng) mà thực thể
ảo sẽ chạy trong đó. Nghiên cứu của Irfan Habib trình bày tổng quan về công nghệ
ảo hóa KVM (viết tắt của Kernel Virtualization Machine) [4] đây là công nghệ ảo
hóa mới cho phép ảo hóa thực sự trên nền tảng phần cứng. Nghĩa là OS (hệ điều
hành) chính mô phỏng phần cứng cho các OS khác để chạy trên đó. Nó hoạt động
tương tự như một người quản lý siêu việt chia sẻ công bằng các tài nguyên như
disk (ổ đĩa), network IO và CPU. Máy chủ gốc được cài đặt Linux, nhưng KVM
hỗ trợ tạo máy chủ ảo có thể chạy cả Linux, Windows. Nó cũng hỗ trợ cả x86 và
x86-64 system. Trong nghiên cứu của David Chisnall đã trình bày với công nghệ
ảo hóa XEN [2] là công nghệ ảo hóa thực sự cho phép chạy cùng lúc nhiều máy
chủ ảo VPS trên 1 máy chủ vật lý. Công nghệ ảo hóa XEN cho phép mỗi máy chủ
ảo chạy nhân riêng của nó, do đó VPS có thể cài được cả Linux hay Windows
Operating system. Mỗi VPS có hệ thống File System riêng và hoạt động như 1
máy chủ vật lý độc lập. Tiếp đó là công nghệ ảo hóa tối ưu và được sử dụng nhiều
nhất trong thời gian gần đây, công nghệ ảo hóa VMWare [3] do công ty VMWare
phát triển, nó hỗ trợ ảo hóa từ mức phần cứng. Giao diện thân thiện, cách cài đặt
và sử dụng đơn giản, nhiều tính năng cao cấp, hỗ trợ nhiều hệ điều hành, các phiên
bản đa dạng. Công nghệ này thường áp dụng cho các đơn vị lớn như ngân hàng và
7

ít được sử dụng cho các VPS thương mại bán trên thị trường. Cấu trúc của nó là 1
chương trình ứng dụng ảo hóa, chạy trên nền hệ điều hành Linux hay Windows.
Trong nghiên cứu [13] của HE Yu và công sự đề xuất giải pháp tự động xây dựng
cầu kết nối các node tính toán thành các cụm có khả năng xử lý song song (MPI-
Message Passing Interface) trong HPC sử dụng Docker Cluster, công việc này
cũng được triển khai bởi De Bayser và công sự [14] nhằm tích hợp tính toán song
song MPI với hệ thống HPC sử dụng Docker. Việc đánh giá hiệu quả khi để xuất
ảo hóa hệ thống tính toán làm căn cứ xây dựng HPC là vấn đề quan trọng,
Muhammad Abdullah và công sự tại trường Đại học Punjab, Pakistan đã tiến hành
nghiên cứu [15] đánh giá tính hiệu quả khi sử dụng VMs (Virtual Machines) và
Docker trên nền dịch vụ điện toán đám mây OpenNebula. Kết quả cho thấy khi
triển khai ảo hóa bằng Docker hiệu năng đạt 70.23% so với VMs là 46.48%, từ đó
chứng minh được hiệu quả khi ảo hóa dùng Docker.

3 CÁC CÔNG NGHỆ LIÊN QUAN


3.1 Hệ thống tính toán hiệu năng cao (HPC)
Hệ thống máy tính có sức mạnh tính toán lớn ngày càng nhiều. Việc này mở ra khả
năng sử dụng máy tính giải quyết nhiều bài toán lớn hơn trong nhiều lĩnh vực khác
nhau. Lĩnh vực nghiên cứu về lý thuyết và kỹ thuật máy tính giải quyết các bài
toán lớn gọi là tính toán hiệu năng cao (High Performance Computing - HPC)
minh họa hình dưới đây:

Hình 2.1 Mô hình tổng thể của hệ thống tính toán hiệu năng cao HPC
Hệ thống tính toán hiệu năng cao HPC trong hình 2.1 gồm nhiều máy tính trang bị
cấu hình mạnh được kết nối với nhau qua mạng nội bộ (Private Network) và kết
nối với một máy tính điều khiển, định nghĩa là nút điều khiển (Head Node), nút
này kết nối ra ngoài bằng mạng công khai (Public Network) qua giao thức bảo mật
SSH. Mỗi máy tính tham gia trong HPC được định nghĩa là một nút tính toán
(Compute Node), một hệ thống tính toán hiệu năng cao HPC gồm nhiều nút tính
toán. Để tăng hiệu năng tính toán thì hệ thống HPC hoàn toàn có thể bổ sung thêm
nhiều node tính toán nếu cần thiết. Khi nhận một yêu cầu tính toán từ phía bên
ngoài, nút điều khiển sẽ huy động các tài nguyên sẵn có của các nút tính toán nhằm
đáp ứng nhu cầu xử lý tính toán của một bài toán.
8

Hình 2.2 Kiến trúc của hệ thống tính toán hiệu năng cao HPC triển khai
Kiến trúc của hệ thống HPC trong hình 2.2 được chia ra làm 2 hướng xử lý:
 Xử lý song song MPP (Massive Parallel Processing): Phân bố các công
việc xử lý trên nhiều bộ vi xử lý trên một máy tính. Với hàng (trăm) ngàn vi
xử lý kết nối qua đường mạng tốc độ cao.
 Xử lý cụm máy tính CC (Cluster Computing): Gồm nhiều server riêng lẻ
được liên kết và hoạt động cùng với nhau trong một hệ thống
Đơn vị để đo khả năng tính toán tối đa của hệ thống HPC thường sử dụng là đơn vị
là FLOPs (floating operation per second), tức là số phép tính toán động mà hệ
thống có thể đạt được trong một giây. Lấy ví dụ như một hệ thống máy tính có tốc
độ là 100 FLOPs, điều đó có thể được hiểu là hệ thống máy tính đó có thể thực
hiện 100 phép tính (cộng hoặc trừ, hoặc nhân, hoặc chia) trên các số thực (thường
là kiểu double, 64 bit – 8 bytes) trong một giây. Công cụ đánh giá khả năng tính
toán hệ thống HPC thường sử dụng HPL [12], Graph 500 Benchmark1 [9], Iperf
[10], Netperf [11]... cũng là các công cụ đang được cộng đồng dùng đánh giá trong
TOP500, Graph500...
3.2 Hệ thống tính toán hiệu năng cao (HPC)
Ảo hóa là việc chia phần cứng vật lý thành nhiều phần cứng ảo. Vì vậy, có thể nói
ảo hóa là việc chia một máy vật lý thành nhiều máy con ảo, các kỹ thuật và quy
trình này để tạo ra một tầng trung gian giữa hệ thống phần cứng máy tính và phần
mềm chạy trên nó và được chia ra ra một số loại ảo hóa sau:
3.2.1 Ảo hóa mạng (Network)
Ảo hóa hệ thống mạng [16] là một tiến trình hợp nhất tài nguyên, thiết bị mạng cả
phần cứng lẫn phần mềm thành một hệ thống mạng ảo. Sau đó, các tài nguyên này
sẽ được phân chia thành các channel và gắn với một máy chủ hoặc một thiết bị nào
đó như hình dưới đây:
9

Hình 2.3 Ảo hóa mô hình mạng (Network)


Một máy ảo có thể có nhiều card mạng ảo, việc tạo các card mạng ảo này rất đơn
giản và không giới hạn số card mạng tạo ra.Ta có thể nối các máy ảo này lại với
nhau bằng một Switch ảo. Điều đặc biệt quan trọng, tốc độ truyền giữa các máy ảo
này với nhau thông qua các switch ảo được truyền với tốt độ rất cao theo chuẩn
GIGABITE, đẫn đến việc đồng bộ giữa các máy ảo với nhau diễn ra rất nhanh.
3.2.2 Ảo hóa lưu trữ (Storage)
Ảo hóa hệ thống lưu trữ [17] về cơ bản là sự mô phỏng, giả lập việc lưu trữ từ các
thiết bị lưu trữ vật lý như hình dưới đây.

Hình 2.4 Ảo hóa mô hình lưu trữ (Storage)


Trong Hình 2.4 các thiết bị này có thể là băng từ, ổ cứng hay kết hợp cả 2 loại.
Việc làm này mang lại các ích lợi như việc tăng tốc khả năng truy xuất dữ liệu, do
việc phân chia các tác vụ đọc, viết trong mạng lưu trữ. Ngoài ra, việc môt phỏng
các thiết bị lưu trữ vật lý cho phép tiết kiệm thời gian hơn thay vì phải định vị xem
máy chủ nào hoạt động trên ổ cứng nào để truy xuất. Công nghệ ảo hoá lưu trữ khá
10

nổi bật trong thời gian qua là SAN (Storage Area Network). Nó là một mạng được
thiết kế cho việc thêm các thiết bị lưu trữ cho máy chủ một cách dễ dàng như: Disk
Aray Controllers, hay Tape Libraries. Có hai đặc điểm cơ bản trong các thành
phần của SAN:
 Mạng (network) có tác dụng truyền thông tin giữa thiết bị lưu trữ và hệ
thống máy tính. Một SAN bao gồm một cấu trúc truyền tin, nó cung cấp kết
nối vật lý, và quản lý các lớp, tổ chức các kết nối, các thiết bị lưu trữ, và hệ
thống máy tính sao cho dữ liệu truyền trên đó với tốc độ cao và bảo mật;
 Một hệ thống lưu trữ bao gồm các thiết bị lưu trữ, hệ thống máy tính, hay
các ứng dụng chạy trên nó, và một phần rất quan trọng là các phần mềm
điều khiển, quá trình truyền thông tin qua mạng.
3.2.3 Ảo hóa máy chủ (Server)
Máy chủ ảo hoá [18] là một phương pháp phân vùng một máy chủ vật lý thành
nhiều máy chủ ảo, mỗi máy chủ có khả năng của riêng của mình chạy trên máy
tính dành riêng. Mỗi máy chủ ảo riêng của nó có thể chạy hệ điều hành khác nhau,
và mỗi máy chủ ảo có thể được khởi động lại độc lập như hình dưới đây.

Hình 2.4 Ảo hóa mô hình máy chủ (Server)


Trong hình 2.4 có hai môi trường máy chủ ảo hoá: ảo hoá toàn phần (Full
virtualization) và ảo hoá một nửa (Paravirtualization).
 Full-virtualization: Phần cứng được mô phỏng để mở rộng chạy những hệ
điều hành khách trên nền tảng ảo hóa. Điều này có nghĩa rằng các thiết bị
phần cứng khác nhau đều được mô phỏng.Thông thường, có nhiều nền tảng
ảo hóa cố gắng chạy nhiều sự ủy nhiệm trên CPU chính (chạy nhanh hơn
nhiều so với CPU mô phỏng) nhằm nắm bắt và xử lý các sự ủy nhiệm một
cách thích hợp.
 Paravirtualization: là một phương pháp ảo hóa máy chủ khác. Với phương
pháp ảo hóa này, thay vì mô phỏng một môi trường phần cứng hoàn chỉnh,
phần mềm ảo hóa này là một lớp mỏng (Hypervisor) dồn các truy cập các
hệ điều hành máy chủ vào tài nguyên máy vật lý cơ sở.
11

3.2.4 Ảo hóa ứng dụng (Application)


Ảo hóa ứng dụng [19] cho phép tách rời mối liên kết giữa ứng dụng và hệ điều
hành và cho phép phân phối lại ứng dụng phù hợp với nhu cầu người dùng. Môt
ứng dụng được ảo hóa sẽ không được cài đặt lên máy tính một cách thông thường,
mặc dù ở góc độ người sử dụng, ứng dụng vẫn hoạt động một cách bình thường
như hình minh họa dưới đây:

Hình 2.5 Ảo hóa mô hình ứng dụng (Application)


Một số thế mạnh khi ảo hóa ứng dụng: việc quản lý việc cập nhật phần mềm trở
nên dễ dàng hơn, giải quyết sự đụng độ giữa các ứng dụng và việc thử nghiệm sự
tương thích của chúng cũng trở nên dễ dàng hơn; tất cả các máy tính đều có thể sử
dụng phần mềm ảo như đang cài trên máy tính của mình mà không phải lo về cấu
hình; thông tin luôn luôn được lưu trữ an tòan ở server trung tâm thay vì có thể
phân tán ra từng máy trạm; phân phối phần mềm 1 cách linh động đến 1 số cá nhân
hoặc nhóm có nhu cầu sử dụng thay vì cài vào tất cả mọi máy như cách phổ thông;
phân phối hoặc gỡ bỏ phần mềm cài đặt lên hệ thống một cách nhanh chóng.
3.2.5 Ảo hóa hệ thống sử dụng Docker
Docker [10] sẽ đóng gói các ứng dụng thành các Container (Công-ten-nơ) riêng lẻ,
các Container này chạy chung trên nhân hệ điều hành qua LXC (Linux Containers)
và chia sẻ chung tài nguyên của máy chủ. Kiến trúc của Docker hình 2.6 bao gồm:
1. Docker Daemon: chạy trên các máy host. Người dùng sẽ không tương tác
trực tiếp với các daemon, mà thông qua Docker Client.
2. Docker Client: là giao diện người dùng của Docker, nó cung cấp cho người
dùng giao diện dòng lệnh và thực hiện phản hồi với các Docker daemon.
3. Docker images: là một template chỉ cho phép đọc. Images được dùng để tạo
Docker container. Docker cho phép build và cập nhật các image có sẵn một
cách cơ bản nhất, hoặc có thể download Docker images để sử dụng.
4. Docker Container: Docker container có nét giống với các thư mục. Một
Docker container chưa mọi thứ, khi cần để chạy một ứng dụng. Mỗi
12

container được tạo từ Docker image, có thể có các trạng thái run, started,
stopped, moved và deleted.
5. Các thành phần khác:
o Docker Engine: là thành phần chính của Docker, là một công cụ của
hệ thống tính toán HPC để đóng gói ứng dụng;
o Docker Hub: là dịch vụ cloud để chia sẻ ứng dụng và tự động hóa
chuỗi các công việc liên tục, có thể thao tác pull/push với các
images.
o Docker registries: là kho chứa images. Người dùng có thể tạo ra các
images của mình và tải lên đây hoặc tải về các images được chia sẻ;
o Dockerfile: là một file chứa tập hợp các lệnh để Docker có thể đọc và
thực hiện để đóng gói một image theo yêu cầu người dùng;

Hình 2.6 Kiến trúc mô hình Docker ảo hóa hệ thống

4 ĐỀ XUẤT DOCKER ẢO HÓA HỆ THỐNG TÍNH TOÁN CAO (VHPC)


4.1 Khung làm việc tổng quát vHPC
Căn cứ vào hiện trạng hạ tầng công nghệ thông tin hiện có, kết hợp với những
phân tích và đánh giá tại phần 3.1 về kiến trúc hệ thống tính toán hiệu năng cao
HPC. Chúng tôi lựa chọn hướng thứ 2 xử lý theo cụm máy tính (CC: Cluster
Computing) để xây dựng HPC.
Tuy nhiên, trong thực tế khi khảo sát cho thấy các máy chủ vật lý (server) vẫn
đang hoạt động và duy trì một số phần mềm chuyên ngành và vẫn còn một lượng
tài nguyên chưa dùng đến. Chính vì vậy, chúng tôi tiến hành ảo hóa phần cứng các
máy chủ vật lý nhằm tạo ra các máy chủ ảo đóng vai trò như một cụm xử lý (CC).
13

Sau đó sử dụng kỹ thuật Docker để tạo ra hệ thống tính toán hiệu năng cao HPC
mô tả như hình dưới đây:

Hình 4.1 Khung làm việc Hệ thống tính toán hiệu năng cao vHPC
Trong hình 4.1 minh họa kiến trúc hệ thống tính vHPC gồm có 3 lớp xử lý:
 Lớp vật lý: được tích hợp từ 8 server vật lý thương hiệu IBM, HP, DELL
minh họa trong Hình 4.1(a) và có cấu hình như bảng dưới đây:
Bảng 4.1 Cấu hình máy chủ vật lý

TT Hãng sản xuất và thông số kỹ thuật Khả năng lưu trữ


1 IBM X3560 M4, 12 Core 2.0GHz, E5 2620, 24G Ram 270GB/272GB
2 HP Proliant DL380 Gen9, 32 Core 2.10GHz, E5 2620, 600GB/830GB
64G Ram
3 HP Proliant DL380 Gen9, 24 Core 2.10GHz, E5 2620, 100GB/830GB
128G Ram
4 IBM X3560 M3, 16 Core 2.4GHz, E5620, 36G Ram 1.62TB/1.62TB
5 DELL PowerEdge R740, 24 Core 2.59GHz, 64G Ram 1.30TB/1.90TB
6 DELL PowerEdge R720, 24 Core 2.10GHz, 64G Ram 2TB/3.26TB
7 DELL PowerEdge R720, 24 Core 2.10GHz, 64G Ram 1TB/3.26TB
8 SAN (Storage Area Network) 7TB

 Lớp ảo hóa: căn cứ vào báo cáo đánh giá phân tích của Taknet [21] về việc
xây dựng một hệ thống HPC thì cấu hình tối thiểu bao gồm 1 máy tính điều
khiển (định nghĩa là Head Node) và ít nhất từ 3 đến 4 máy tính xử lý (định
nghĩa là Node). Các node này hoàn toàn có thể bổ sung nếu cần thiết phải
nâng cao hiệu năng tính toán của hệ thống HPC. Vì vậy, chúng tôi ảo hóa 5
máy chủ ảo minh họa trong hình 4.1b, trong đó 01 máy đóng vai trò là quản
14

lý (Head Node) và 04 máy còn lại đóng vai trò là cụm máy tính xử lý
(Node). Tất cả các máy tính được cài đặt hệ điều hành CenOS v7.8 như
hình dưới đây:

Hình 4.2 Ảo hóa các cụm máy tính xử lý trong hệ thống HPC
Về cấu hình đối với các cụm máy tính, chúng tôi thiết lập 05 máy tính có cấu hình
gống nhau được minh họa như hình dưới đây:

Hình 4.3 Cấu hình các cụm máy tính xử lý trong hệ thống HPC
 Lớp tính toán hiệu năng cao HPC: như đã phân tích ở mục 3.2.5, chúng tôi
lựa chọn công nghệ Docker để tiến hành xây dựng hệ thống vHPC như hình
4.1c bao gồm hai thành phần: (i) phần hệ điều hành CenOS v7.8 chạy nền ở
15

phía dưới; (i) Giao diện tương tác giữa nhằm cung cấp cho tài nguyên tính
toán Docker (nhân hoạt động image và thư mục chứa dữ liệu containers)
minh họa như hình dưới đây:

Hình 4.4 Hệ thống tính toán hiệu năng cao HPC sử dụng Docker
Hệ thống tính toán hiệu năng vHPC sẽ xây dựng ra các Docker image kèm với
Containers lưu trữ đối với toán từng bài toán cụ thể thì hệ thống cung cấp các
thông tin về từng Docker images minh họa như hình dưới đây:

Hình 4.4 Hiệu năng tính toán của Docker images được cấp cho người sử dụng
Phần tương tác với bên ngoài qua địa chỉ IP xác thức qua giao thức https nếu hệ
thống chạy nội bộ, khi thực hiện công việc ở bên ngoài thì kết nối với hệ thống qua
VPN. Việc cung cấp các tài khoản cho các thành viên được người quản trị thực
hiện trên cùng giao diện khai thác của Docker, tương ứng với yêu cầu phần cứng
tính toán được xác định quyền hạn của trong Docker images, minh họa như hình
dưới đây:
16

Hình 4.5 Cấp tài khoản thành viên sử dụng hệ thống tính toán vHPC
4.2 Quy trình thực thi của một hệ thống vHPC sử dụng Docker
Để thực thi một bài toán, thì Docker thực hiện 03 bước chính: Xây dựng (Build) 
Vận chuyển dữ liệu (Push)  Xắp xếp và thực thi (Pull & Run) minh họa như
hình dưới đây:

Hình 4.6 Sơ đồ thực thi của hệ thống vHPC sử dụng Docker


Trong đó gồm các bước sau:
 Xây dựng (Build): đầu tiên hệ thống sẽ tạo một dockerfile, trong dockerfile
này chính là code lập trình. Dockerfile này sẽ được Build tại một máy tính
đã cài đặt Docker Engine. Kết quả nhận được Container, trong Container
này chứa bộ thư viện (API) và ứng dụng mà code cần đáp ứng.
17

 Vận chuyển dữ liệu (Push): sau khi được cấp các Container, thực hiện đẩy
dữ liệu vào Container và lưu trữ ở đó. Việc push này có thể thực hiện qua
môi trường mạng Internet.
 Xắp xếp và thực thi (Pull & Run): thực hiện việc sắp xếp các Container có
đầy đủ dữ liệu theo một trình tự, sau đó thực thi Container này. Quá trình
này được thực hiện tuần tự và huy động các tài nguyên của các cụm máy
tính để xử lý.

5 KẾT LUẬN
Công nghệ ảo hóa được phát triển và sử dụng trong khoảng thời gian khá lâu với
những ưu điểm của chúng. Ngoài sự linh động trong việc triển khai, máy ảo còn
được biết đến với những đặc điểm về việc dễ dàng quản lý, khả năng bảo mật cao,
hiệu suất về sự cô lập giữa phạm vi sử dụng cũng như quyền kiểm soát. Hiện nay,
trong lĩnh vực tính toán hiệu năng cao, hạ tầng triển khai máy ảo đóng một vị trí
quan trong đối với các dịch vụ như điện toán đám mây, lưu trữ đám mây.... Trong
nghiên cứu ngày chúng tôi đề xuất thử nghiệm một số công nghệ ảo hóa máy chủ
tích hợp các bộ nhớ xử lý tính toán lớn như CPU và GPU nhằm hướng tới một hệ
thống tính toán hiệu năng cao HPC với những tính năng ưu việt, khả năng mở
rộng, và độ tin cậy cao hơn.
Mặt khác, giúp cho các nhà nghiên cứu có được các công cụ để thử nghiệp các giải
thuật học máy trên nguồn dữ liệu lớn (Big data) sử dụng cho mọi môi trường khác
nhau đáp ứng các yếu tố về mặt kỹ thuật như tính sẵn sàng cao, tính năng chịu lỗi
ưu việt của công nghệ được đã đề xuất nghiên cứu này.

TÀI LIỆU THAM KHẢO


[1] G. Bhanage, I. Seskar, Y. Zhang, D. Raychaudhuri, and S. Jain. (2011),
Experimental evaluation of openvz from a testbed deployment perspective.
Development of Networks and Communities, volume 46 of Lecture Notes of
the Institute for Computer Sciences, Social Informatics and
Telecommunications Engineering, pages 103-112. Springer Berlin
Heidelberg.
[2] David Chisnall. (2013). The Definitive Guide to the Xen Hypervisor (1st.
ed.). Prentice Hall Press, USA.
[3] Technical Papers. VMware Infrastructure Architecture Overview. White
Paper. https://www.vmware.com/pdf/vi_architecture_wp.pdf
[4] I. Habib. (2008). Virtualization with KVM. Linux Journal, Volume 2008,
Issue 166. February 2008, Article No.: 8, pp 8
[5] Performance Report Hyper-V (2010). White Paper:
https://sp.ts.fujitsu.com/ /dmsp/Publications/public/wp-PR-Hyper-V-en.pdf
[6] Thoại Nam và cộng sự (2016). Nghiên cứu thiết kế hệ thống tính toán hiệu
năng cao 50-100 TFlops/ Trường Đại học Bách Khoa, Đề tài cấp thành phố
Hồ Chí Minh;
18

[7] Nguyễn Thanh Thủy và cộng sự. (2006). Nghiên cứu các hệ thống tính toán
hiệu năng cao và ứng dụng mô phỏng vật liệu vi mô, trong khuôn khổ hợp tác
khoa học công nghệ theo Nghị định Thư với Ấn Độ giai đoạn 2004-2005.
[8] Nguyễn Chí Ngọc và cộng sự. (2020). Ứng dụng công nghệ ảo hóa và điện
toán đám mây để xây dựng hệ thống lưu trữ và truyền hình ảnh (PACS-
Cloud) phục vụ kết nối liên thông dữ liệu giữa các bệnh viện. Chương trình
quốc gia phát triển một số ngành công nghiệp công nghệ cao do Bộ Công
Thương.
[9] R. C. Murphy, K. B. Wheeler, B. W. Barrett, and J. A. Ang, "Introducing the
graph 500," Cray User’s Group (CUG), 2010.
[10] Iperf. Available: https://iperf.fr
[11] Netperf. Available: http://www.netperf.org
[12] R. C. W. A. Petitet, J. Dongarra, A. Cleary. HPL - A Portable Implementation
of the High-Performance Linpack Benchmark for Distributed-Memory
Computers. Available: http://www.netlib.org/benchmark/hpl
[13] Yu, H. E., & Huang, W. (2015). Building a virtual hpc cluster with auto
scaling by the docker. arXiv preprint arXiv:1509.08231.
[14] de Bayser, M., & Cerqueira, R. (2017, April). Integrating MPI with Docker
for HPC. In 2017 IEEE International Conference on Cloud Engineering
(IC2E) (pp. 259-265)
[15] Abdullah, M., Iqbal, W., & Bukhari, F. (2018). Containers vs virtual
machines for auto-scaling multi-tier applications under dynamically
increasing workloads. In International Conference on Intelligent
Technologies and Applications (pp. 153-167). Springer.
[16] Lee, H. (2014). Virtualization basics: Understanding techniques and
fundamentals. In School of Informatics and Computing Indiana University
815 E 10th St. Bloomington IN 47408.
[17] Khattar, R. K., Murphy, M. S., Tarella, G. J., & Nystrom, K. E. (1999).
Introduction to Storage Area Network, SAN. IBM Corporation, International
Technical Support Organization.
[18] Jin, Y., Wen, Y., & Chen, Q. (2012). Energy efficiency and server
virtualization in data centers: An empirical investigation. In 2012 Proceedings
IEEE INFOCOM Workshops (pp. 133-138).
[19] Kusnetzky, D. (2011). Virtualization: A Manager's Guide. " O'Reilly Media,
Inc.".
[20] Rad, B. B., Bhatti, H. J., & Ahmadi, M. (2017). An introduction to docker and
analysis of its performance. International Journal of Computer Science and
Network Security (IJCSNS), 17(3), 228.
[21] Tan, G., Yeo, G. K., Turner, S. J., & Teo, Y. M. (Eds.). (2013). AsiaSim
2013: 13th International Conference on Systems Simulation, Singapore,
November 6-8, 2013. Proceedings (Vol. 402).
19

THÔNG TIN TÁC GIẢ


1. Nguyễn Quốc Hùng, Khoa Công nghệ thông tin Kinh doanh, Trường Đại
học Kinh tế TP. Hồ Chí Minh, email: hungngq@ueh.edu.vn
2. Võ Hà Quang Định, Phòng Công nghệ thông tin, Trường Đại học Kinh tế
TP. Hồ Chí Minh, email: vhqdinh@ueh.edu.vn
3. Lê Ngọc Thạnh, Khoa Công nghệ thông tin Kinh doanh, Trường Đại học
Kinh tế TP. Hồ Chí Minh, email: thanhln@ueh.edu.vn
4. Trương Việt Phương, Khoa Công nghệ thông tin Kinh doanh, Trường Đại
học Kinh tế TP. Hồ Chí Minh, email: truong@ueh.edu.vn

You might also like