Máy tính mainframe là gì và người ta sử dụng nó như thế nào?
Máy mainframe System zEC12 do IBM sản xuất |
Xem tài liệu
Mainframe là một loại máy tính thường được sử dụng bởi các công ty, tập đoàn cũng như những tổ chức chính phủ nhằm phục vụ cho các công việc cần xử lí lượng lớn dữ liệu, chẳng hạn như thống kê dữ liệu, lên kế hoạch sử dụng tài nguyên, xử lí giao dịch… Thuở ban đầu, chữ mainframe được người ta dùng để chỉ những thùng máy lớn chứa bộ xử lí và bộ nhớ của những máy tính cỡ lớn. Thế nhưng sau này, khi nhắc tới mainframe, người ta nghĩ đến một cỗ máy to lớn và mạnh mẽ hơn những máy tính cá nhân. Ngoài ra, mainframe còn có tên gọi khác là "Big Iron". Vậy loại máy tính này có những đặc điểm gì, mời các bạn cùng đọc qua bài viết này.
Lịch sử mainframe
Vào những năm 1950-1970, nhiều nhà sản xuất máy tính đã bắt đầu tham gia vào việc chế tạo mainframe. Nhóm các nhà sản xuất này được biết tới với cái tên "IBM và bảy chú lùn", bao gồm IBM và các hãng như Burroughts, UNIVAC, NCR, Control Data, Honeywell, General Electric và RCA. Sau đó, General Electric và RCA rời đi nên nhóm này được gọi là "IBM và BUNCH" (chữ cái đầu tiên của các hãng còn lại). IBM bắt đầu sự thống trị trên thị trường mainframe bằng series 700/7000 và rồi đến series 360. Kiến trúc mainframe này lại tiếp tục tiến hóa để trở thành zSeries, dòng máy mainframe chủ lực của IBM tính đến thời điểm hiện tại.
Trong ảnh là mainframe IBM 7079. Chiếc 7079 đầu tiên được lắp đặt vào tháng 11 năm 1959. Vào năm 1960, một chiếc mainframe như thế nào được bán với giá 2.900.000$, còn nếu thuê thì giá là 63.500$ mỗi tháng.
Đó là những công ty ở Mỹ, còn bên ngoài đất nước này, nhiều hãng cũng tham gia sản xuất mainframe, bao gồm Siemens và Telefunken ở Đức, ICL của Anh, Olivetti của Đức, Fujitsu, Hitachi, Oki, NEC ở Nhật. Liên Xô cũng có làm ra một số máy mainframe copy từ IBM trong thời kì chiến tranh lạnh, ngoài ra họ cũng có series mainframe BESM và Strela do chính mình thiết kế.
Mainframe Hitachi HDS GX 8110
Những năm đầu của thập niên 1970, nhu cầu của thị trường đối với mainframe ngày càng thu hẹp, trong khi môi trường cạnh tranh đang rất khốc liệt. Lúc đó, RCA đã về chung với UNIVAC, General Electric thì rời đi. Đến những năm 1980, tới lượt Honeywell sát nhập vào Bull, còn UNIVAC thì trở thành một phần của Sperry. Tới năm 1986, Sperry gia nhập cùng với Burroughts để tạo ra Tập đoàn Unisys. Năm 1991, AT&T sở hữu một phần của NCR.
Cũng trong thời gian đó, các công ty nhận thấy rằng thiết kế microcomputer (PC, laptop, desktop hiện nay của chúng ta có thể xem là microcomputer, tuy nhiên cụm từ này không còn được dùng phổ biến) có thể được triển khai với chi phí thấp hơn so với mainframe, người dùng thì có quyền kiểm soát hệ thống của mình nhiều hơn trước. Họ có thể thiết lập các mạng lưới máy tính cá nhân để thực hiện công việc của mình, vậy thì dại gì mà không chia tay mainframe. Các terminal (máy tính trạm cuối) để dùng chung với mainframe dần dần bị thay thế bởi PC. Chính vì thế, việc lắp đặt các cỗ máy mainframe mới ngày càng trở nên ít hơn, chỉ còn lại chính phủ và các tổ chức dịch vụ tài chính là còn sử dụng loại máy tính này. Người ta thậm chí còn dự đoán rằng chiếc mainframe cuối cùng sẽ ngừng hoạt động vào năm 1996.
Thế nhưng đến những năm cuối thập niên 1990, nhiều công ty tìm ra một cách mới để tận dụng chiếc mainframe hiện có thể mình. Trong bối cảnh chi phí xây dựng các mạng máy tính ngày càng đắt đỏ và phức tạp hơn, xu hướng điện toán tập trung (tức tập trung vào một máy duy nhất) được củng cố. Đà tăng trưởng cực kì mạnh mẽ của thương mại điện tử cũng kéo theo sự phát triển của các hệ thống xử lí nền dựa vào phần mềm của mainframe cũng như xử lí cơ sở dữ liệu.
Ngoài ra, sự phát triển của hệ điều hành Linux cũng giúp mainframe dần lấy lại vị thế của mình. IBM sử dụng Linux cho các máy mainframe của họ từ năm 1999 và một chiếc mainframe duy nhất có thể chạy hàng trăm máy ảo Linux cùng lúc. Khả năng hỗ trợ tốt cho các phần mềm nguồn mở của Linux cũng giúp mainframe được ưa chuộng hơn. Cuối năm 2000, IBM giới thiệu kiến trúc 64-bit z/Architecture, đồng thời mua lại nhiều công ty phần mềm để rồi tích hợp những phần mềm đó vào trong mainframe của hãng.
Định nghĩa mainframe
Hiện nay, mainframe được định nghĩa là những cỗ máy tính có các thành phân bên trong độc lập nhưng có khả năng phối hợp tốt để cung cấp độ tin cậy ở mức cao. Nó có khả năng lấy vào một lượng dữ liệu khổng lồ, tính toán, xử lí và xuất ra kết quả cũng khổng lồ không kém. Mainframe đòi hỏi phải có một sự tương thích ngược chặt chẽ với các phần mềm cũ bởi những công ty, tổ chức lớn sử dụng những phần mềm có tính chuyên biệt cao nên và rất tốn kém nếu phải viết lại. Ngoài ra, mainframe được thiết kế để có thể chạy liên tục (uninterrupt) trong một thời gian rất dài. Đây cũng chính là yếu tố quan trọng nhất của mainframe bởi nó vốn được dùng cho những mục đích mà chỉ cần vài phút hệ thống bị sập là một "thảm họa" sẽ xảy ra, hoặc nếu hệ thống ngừng chạy dù chỉ trong thời gian ngắn thì chi phí để khôi phục hoạt động là cực kì đắt đỏ.
Việc cập nhật phần mềm trên máy mainframe thường đòi hỏi thiết lập lại hệ điều hành hoặc một phần của nó. Còn tính chất chạy không ngừng nghỉ của mainframe chỉ có được khi sử dụng những kiến trúc hệ điều hành ảo hóa như z/OS hay Parallel Sysplex của IBM, XPLC của Unisys. Các kiến trúc ảo hóa này cho phép một hệ thống đảm đương nhiệm vụ của hệ thống khác trong quá trình người ta cập nhật, nâng cấp hay sửa chữa.
Để có thể tận dụng hết thế mạnh về khả năng xử lí và hoạt động liên tục của mainframe cần đến những kĩ sư được đào tạo chuyên nghiệp và bài bản. Việc bảo trì, lắp đặt mainframe không đơn giản như ráp một bộ máy để bàn ở nhà. Nếu không cẩn thận và làm cho hệ thống bị hư hỏng một phần nào đó thì tất cả lợi thế của mainframe đối với cơ quan, tổ chức sẽ bị mất đi hoàn toàn.
Ngoài ra, mainframe còn có tính bảo mật cao hơn nhiều so với những loại máy tính khác hiện nay. Các tổ chức nghiên cứu của Mỹ đánh giá những mainframe như IBM zSeries, Unisys Dorado, Unisys Libra là các hệ thống an toàn nhất thế giới bởi số nguy cơ bảo mật của chúng chỉ có đếm trên đầu ngón tay, trong khi các máy Windows, Linux và Unix thì có đến hàng nghìn lỗ hổng có thể bị khai thác. Nói tóm lại, ở thế giới của mainframe không hề tồn tại virus hay malware, chính vì thế mà nhiều chính phủ vẫn tin dùng nó để xử lí và lưu trữ dữ liệu.
IBM z10, một dòng mainframe được dùng phổ biến hiện nay
Ban đầu, người ta xài các thẻ, băng giấy và băng từ để chuyển dữ liệu cũng như để lập trình cho mainframe. Khi đó, máy hoạt động như một công cụ xử lí hàng loạt nhằm hỗ trợ cho công việc văn phòng. Các terminal được dùng kèm với mainframe để chạy ứng dụng chứ không phải để phát triển phần mềm. Đến khoảng năm 1970, bàn phím, màn hình xuất hiện để cung cấp một giao diện cho phép người dùng nhập liệu cũng như theo dõi kết quả.
3278, một chiếc terminal phổ biến dùng để truy cập và sử dụng mainframe do IBM sản xuất
Sau đó, mainframe hoạt động như một máy tính "timesharing" để hỗ trợ hàng trăm người dùng cùng truy cập vào mainframe để chạy các thao tác xử lí hàng loạt. Đến năm 1980, nhiều máy mianframe hỗ trợ các terminal đồ họa (không phải giao diện đồ họa người dùng - GUI - như trên PC). Từ sau năm 2000 trở đi, hầu hết những mainframe hiện đại đã phần nào hoặc hoàn toàn loại bỏ các terminal cổ điển, thay vào đó người dùng cuối sẽ giao tiếp với máy thông qua giao diện nền web hoặc các console. Và để kết nối vào mainframe, người dùng không bắt buộc phải ngồi kế bên nó. Các PC và Terminal có thể truy cập vào mainframe từ xa.
Những phần cứng cấu tạo nên mainframe
Cấu tạo đơn giản của một chiếc mainframe
Một chiếc mainframe tiêu biểu sở hữu các bộ xử lí (PU), bộ nhớ RAM, các kênh dữ liệu vào ra (I/O channel), các bộ điều khiển (control unit) và thiết bị ngoại vi (peripheral devices). Trong đó, PU chính là bộ não của mainframe, nó là đơn vị có nhiệm vụ thực thi các chỉ dẫn. Một máy mainframe có thể chứa nhiều bộ xử lí, chẳng hạn như: bộ xử lí trung tâm (Central Processor, viết tắt là CP hay CPU), bộ xử lí mã hóa và giải mã (CPACF), bộ xử lí tải Linux (IFL), có cái dùng để thực thi mã Java (zAAP), cái khác nữa thì xài cho việc tăng tốc xử lí cơ sở dữ liệu (zIIP). CP và RAM sẽ được đặt trong một thùng máy lớn gọi là Central Processor Complex (CPC).
Ví dụ, nếu mua một chiếc mainframe z10 của IBM sản xuất, bạn sẽ có trong đó 12 CPU, 12 IFL, 12 bộ ICF, 6 bộ zAAP và 6 bộ zIIP. Bộ nhớ của RAM của z10 có thể đạt tối đa 384GB tùy mục đích sử dụng.
I/O channel là những đường di chuyển và điều khiển dữ liệu giữa thiết bị nhập, xuất dữ liệu với bộ nhớ. Những thiết bị ngoại vi như đầu băng từ, ổ đĩa, đầu đọc thẻ, máy in... được kết nối với mainframe thông qua các channel này. Và bởi vì các thiết bị ngoại vi này chậm hơn CPU, CPU có thể sẽ tốn thời gian chờ dữ liệu từ chúng chuyển sang. Chính vì thế mà người ta mới tạo ra các bộ điều khiển Control Unit, chính là peripheral processor mà bạn đã đọc thấy ở trên, chuyên đảm nhận các tác vụ với thiết bị ngoại vi.
Còn cổng kết nối thì sao? Như bạn đã biết, thiết bị ngoại vi kết nối với máy tính của chúng ta qua cổng USB, trên Mac có FireWire, Thunderbolt, trên server là SCSI. Tương tự như thế, các kết nối trên mainframe là OSA, ESCON và FICON. Những kênh OSA Express dùng cho mạng LAN thông thường, mạng theo dạng token (vòng tròn). Trong khi đó, ESCON và FICON thì dùng cho cáp quang với tốc độ truyền tải cực cao.
Mainframe chủ yếu sử dụng giao diện dòng lệnh để giao tiếp với người dùng, cũng như Terminal trong Linux hay Command Prompt trong Windows. Đối với hệ điều hành zOS của IBM dành cho mainframe, giao diện dòng lệnh này được gọi là console. Tất nhiên là nó cũng có giao diện đồ họa người dùng nữa và theo IBM, họ đã đổ 100 triệu USD vào nghiên cứu giao diện đồ họa để giúp việc sử dụng mainframe trở nên đơn giản hơn.
Anh kĩ sư IBM này đang sử dụng laptop của mình để truy cập vào mainframe chạy zOS và khai thác giao diện đồ họa người dùng bên trong hệ thống
Tính chất của mainframe
Những chiếc mainframe hiện đại cho phép chúng ta chạy nhiều "thực thể" (instance) hệ điều hành cùng lúc. Kĩ thuật ảo hóa này gần cho phép OS hoạt động cứ như là đang chạy trên một máy tính riêng biệt và sau này nó chính là Hypervisor dùng trên các server. Hiện nay kĩ thuật ảo hóa đã phổ biến hơn và có mặt ngay cả trong chiếc PC nhỏ xíu của chúng ta, thế nhưng mức độ và sức mạnh thì không thể nào bằng mainframe được. Có hai mức độ ảo hóa thường xuất hiện trên mainframe, bao gồm logical partition (mỗi phân vùng sẽ chứa một hệ điều hành) và virtual machine (nhiều máy ảo chạy trên một hệ điều hành).
Phần cứng của mainframe có thể được dễ dàng thêm hoặc thay thế mà không làm hệ thống bị ngừng hoạt động, điều mà nhiều server hiện nay không thể có được. Như đã nói ở trên, mainframe dùng trong những ứng dụng mà mỗi khi hệ thống ngừng là một "thảm họa" xảy ra, do đó nó không được phép dừng lại ngay cả khi nâng cấp phần cứng. Thông thường, mỗi tổ chức sẽ dùng hai máy mainframe, một cái đặt ở cơ sở hoạt động chính, cái còn lại đặt ở trung tâm dữ liệu có tác dụng sao lưu. Cỗ máy thứ hai này có thể được sử dụng ở trạng thái kích hoạt hoàn toàn, kích hoạt một phần hoặc chỉ đơn giản là nằm ở chế độ chờ để lỡ chiếc mainframe chính có gặp trục trặc hay bị thiên tai ảnh hưởng thì vẫn còn một cái để duy trì hoạt động của công ty. Các hệ thống lưu trữ mạng cũng được xài kèm với mainframe và được phân tán ở nhiều địa điểm khác nhau để đảm bảo tính an toàn.
Mainframe được thiết kế để đảm được một khối lượng rất lớn dữ liệu vào ra. Với mainframe thì việc xử lí những tập tin với dung lượng hàng gigabyte hoặc terabyte là chuyện thường ngày ở huyện mà thôi. Kể từ giữa thập niên 1960, mainframe nhận được sự hỗ trợ của nhiều bộ xử lí phụ, được gọi làchannel hoặc peripheral processor. Các máy phụ này sẽ quản lí thiết bị nhập và xuất dữ liệu nhằm giúp CPU chính của mainframe tập trung hoàn toàn vào việc xử lí và chứa dữ liệu lên bộ nhớ. So với một PC thông thường, mainframe có thể dung lượng lưu trữ gấp hàng trăm hoặc hàng nghìn lần và có thể truy cập chúng nhanh hơn nhiều.
Thị trường mainframe
Các máy của IBM hiện đang chiếm lĩnh đến 90% thị trường mainframe. Phần còn lại chia đều cho hệ thống ClearPath của Unisys, các máy của Hitachi, NonStop của HP (mua lại từ hãng Tandem Computers), BS2000 và ICL VME của Fujitsu. Nhiều máy do Fujitsu, Hitachi và NEC vẫn còn đang được bán ở thị trường Nhật.
Về vi xử lí trung tâm (CP, hay CPU) dùng trong mainframe, Fujitsu và Hitachi vẫn tiếp tục sử dụng bộ xử lí dựa trên chuẩn S/390 tùy biến, ngoài ra còn có thêm các CPU như POWER, SPARC, MIPS và Xeon cho những máy tầm thấp. Bull thì sử dụng một hệ thống pha trộn giữa chip Intel Xeon với chip do mình phát triển. NEC và Bull cũng có những máu dùng chip Intel Xeon kết hợp với Intel Itanium. IBM, đúng với vị trí anh cả trong thị trường này, đã chi rất nhiều tiền vào nghiên cứu và phát triển các CPU riêng của mình, chẳng hạn như con chip dùng trong mainframe z10 ra mắt hồi năm 2008 với bốn nhân xung nhịp 4,4GHz.
Một chiếc mainframe Libra 4100 của hãng Unisys
Khác biệt giữa mainframe và siêu máy tính
Như mình đã nói ở trên, mainframe là cỗ máy được tạo ra để xử lí một lượng lớn dữ liệu, trong khi siêu máy tính tập trung vào một lượng nhỏ dữ liệu nhưng các phép tính thì cực kì phức tạp. Siêu máy tính tập trung vào tốc độ xử lí một vấn đề nào đó và chính vì thế, nó thường dùng cho các mục đích nghiên cứu khoa học. Một số khác biệt chính giữa siêu máy tính và mainframe như sau:
1) Tốc độ mainframe được đo bằng MIPS, tức bao nhiêu triệu chỉ dẫn mà máy có thể được thực hiện trong một giây. Trong khi đó, siêu máy tính thì đo bằng FLOPS, tức bao nhiêu phép tính dấu chấm động có thể xử lí mội giây. Nói về khả năng tính toán, supercomputer mạnh hơn mainframe.
2) Mainframe được xây dựng để xử lí "giao dịch" một cách ổn định, và giao dịch ở đây cũng giống như khái niệm được hiểu trong thế giới donah nghiệp. Nó bao gồm những việc như cập nhật cơ sở dữ liệu về lượng hàng còn trong kho, đặt vé máy bay, chuyển khoản,… Với mỗi "giao dịch", các thao tác mà máy có thể thực hiện đó là đọc và ghi dữ liệu vào đĩa, gọi các hàm/tính năng của hệ điều hành, di chuyển dữ liệu từ hệ thống này sang hệ thống khác.
Để biết thêm về siêu máy tính, mời các bạn đọc bài viết Tìm hiểu cơ bản về siêu máy tính, những cỗ máy phức tạp và mạnh mẽ. Nhiều tin tức về siêu máy tính cũng có thể xem qua tag siêu máy tính.
Vậy còn mainframe và server thì sao?
Có thể bạn sẽ nghĩ ngay rằng mainframe nghe cũng giống server đấy chứ. Thực chất, chúng ta cũng có thể xem mainframe là một dạng máy chủ bởi nó cũng có khả năng đóng vai trò làm "hub" cho nhiều máy khác hoặc terminal truy cập vào. Nhiều server có thể cùng nhau tạo thành một mạng lưới (server farm) và sức mạnh tính toán của hệ thống này chính là sự tổng hợp từ tất cả mọi server thành phần. Thế nhưng, nhược điểm của server farm đó là độ ổn định không cao, không thể nào sánh được với mainframe, đi kèm theo đó còn là chi phí bảo dưỡng cao, nhất là với những tổ chức có quy mô lớn. Chưa hết, hiệu quả sử dụng năng lượng của nhiều server nhỏ gộp lại không bằng được một chiếc mainframe duy nhất.
Đây là một server farm, bao gồm nhiều server đặt trong một tòa nhà gọi là data center
Nguồn Diễn đàn Tinh Tế