

Máy mainframe System zEC12 do IBM phát triển
Mainframe là một loại máy tính được sử dụng phổ biến trong các công ty lớn, tập đoàn và các tổ chức chính phủ để xử lý khối lượng dữ liệu khổng lồ, phục vụ cho các công việc như thống kê, quản lý tài nguyên, và xử lý giao dịch... Ban đầu, thuật ngữ 'mainframe' được dùng để chỉ các thùng máy khổng lồ chứa bộ xử lý và bộ nhớ của các hệ thống máy tính cỡ lớn. Tuy nhiên, ngày nay khi nhắc đến mainframe, người ta thường nghĩ đến một thiết bị mạnh mẽ và lớn hơn nhiều so với các máy tính cá nhân. Mainframe cũng còn được gọi là "Big Iron". Vậy máy tính mainframe có đặc điểm gì đặc biệt, hãy cùng khám phá qua bài viết dưới đây.
Lịch sử phát triển của mainframe
Từ những năm 1950 đến 1970, nhiều công ty đã bắt đầu tham gia vào việc chế tạo máy tính mainframe. Nhóm các nhà sản xuất này được biết đến với tên gọi "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út lui, và nhóm này được gọi là "IBM và BUNCH" (tên viết tắt của các công ty còn lại). IBM bắt đầu chiếm ưu thế trên thị trường mainframe với các dòng máy 700/7000 và sau đó là series 360. Kiến trúc mainframe tiếp tục phát triển và trở thành zSeries, dòng máy chủ lực của IBM cho đến nay.

Đây là hình ảnh của máy 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 máy mainframe như thế này có giá bán lên tới 2.900.000$, và nếu thuê, chi phí là 600$ mỗi tháng.
Ở Mỹ, một số công ty sản xuất máy mainframe, nhưng ngoài nước này, cũng có nhiều hãng khác tham gia vào lĩnh vực này, bao gồm Siemens và Telefunken từ Đức, ICL của Anh, Olivetti của Ý, và các công ty Nhật Bản như Fujitsu, Hitachi, Oki, NEC. Trong thời kỳ chiến tranh lạnh, Liên Xô cũng đã chế tạo một số máy mainframe sao chép từ IBM, đồng thời phát triển các dòng máy mainframe của riêng mình như BESM và Strela.

Mainframe Hitachi HDS GX 8110
Vào những năm 1970, nhu cầu sử dụng mainframe giảm dần khi các công ty phải đối mặt với sự cạnh tranh ngày càng gay gắt. RCA hợp tác với UNIVAC, trong khi General Electric quyết định rút lui. Đến thập niên 1980, Honeywell sáp nhập với Bull, còn UNIVAC gia nhập Sperry. Vào năm 1986, Sperry kết hợp với Burroughts, tạo ra Tập đoàn Unisys. Đến năm 1991, AT&T đã sở hữu một phần của NCR.
Cùng thời điểm đó, các công ty nhận thấy rằng việc phát triển microcomputer (PC, laptop, desktop hiện nay) tỏ ra tiết kiệm chi phí hơn so với mainframe, đồng thời người dùng cũng có thể tự kiểm soát hệ thống của mình. Chính vì vậy, các terminal dùng cho mainframe bị thay thế dần bởi PC. Việc lắp đặt các máy mainframe mới ngày càng ít đi, chỉ còn chính phủ và các tổ chức tài chính vẫn sử dụng loại máy tính này. Nhiều người dự đoán mainframe cuối cùng sẽ ngừng hoạt động vào năm 1996.
Tuy nhiên, vào cuối thập niên 1990, các công ty đã tìm ra cách sử dụng lại mainframe hiệu quả. Khi chi phí xây dựng mạng máy tính ngày càng cao và phức tạp, xu hướng điện toán tập trung vào một máy chủ duy nhất trở nên phổ biến. Cùng với sự phát triển mạnh mẽ của thương mại điện tử, các hệ thống phần mềm và cơ sở dữ liệu dựa trên mainframe cũng ngày càng trở nên quan trọng.
Hệ điều hành Linux cũng giúp mainframe phục hồi sức mạnh. IBM áp dụng Linux cho máy mainframe từ năm 1999, và một máy mainframe có thể chạy hàng trăm máy ảo Linux đồng thời. Khả năng tương thích với phần mềm mã nguồn mở khiến mainframe trở nên hấp dẫn hơn. Cuối năm 2000, IBM giới thiệu kiến trúc 64-bit z/Architecture và mua lại các công ty phần mềm để tích hợp vào hệ thống của mình.
IBM z10, dòng mainframe phổ biến hiện nay.
Ban đầu, người ta sử dụng thẻ giấy, băng giấy và băng từ để chuyển và lập trình dữ liệu cho mainframe. Máy lúc này chỉ hoạt động như một công cụ xử lý hàng loạt để phục vụ công việc văn phòng. Các terminal được sử dụng kèm với mainframe chỉ để chạy ứng dụng chứ không phải để phát triển phần mềm. Đến năm 1970, sự xuất hiện của bàn phím và màn hình cho phép người dùng nhập liệu và theo dõi kết quả trực tiếp.
Một chiếc thẻ (card) dùng để lưu trữ dữ liệu cho các hệ thống mainframe cổ điển.

3278, một loại terminal phổ biến do IBM sản xuất, được dùng để kết nối và thao tác với các mainframe.

Một chiếc mainframe điển hình bao gồm các bộ xử lý (PU), bộ nhớ RAM, kênh truyền dữ liệu (I/O channel), bộ điều khiển (control unit) và các thiết bị ngoại vi (peripheral devices). Trong đó, PU là bộ não của hệ thống, thực hiện các chỉ lệnh. Một mainframe có thể trang bị nhiều loại bộ xử lý như: bộ xử lý trung tâm (Central Processor, hay CPU), bộ xử lý mã hóa và giải mã (CPACF), bộ xử lý dành riêng cho Linux (IFL), bộ xử lý dùng để thực thi mã Java (zAAP), và bộ xử lý tối ưu cho tăng tốc xử lý cơ sở dữ liệu (zIIP). Các bộ xử lý này cùng bộ nhớ RAM được bố trí trong một khung máy gọi là Central Processor Complex (CPC).
Ví dụ, nếu bạn mua một chiếc mainframe IBM z10, nó sẽ đi kèm với 12 CPU, 12 IFL, 12 bộ ICF, 6 bộ zAAP và 6 bộ zIIP. Bộ nhớ RAM của z10 có thể lên tới 384GB tùy thuộc vào mục đích sử dụng.
Kênh I/O (I/O channel) là hệ thống truyền tải và điều khiển dữ liệu giữa các thiết bị ngoại vi và bộ nhớ của mainframe. Các thiết bị ngoại vi như băng từ, ổ đĩa, máy đọc thẻ, máy in... đều kết nối với mainframe qua các kênh này. Vì tốc độ của các thiết bị ngoại vi thường chậm hơn so với CPU, do đó CPU phải đợi dữ liệu từ các thiết bị này. Để giải quyết vấn đề này, người ta phát triển các bộ điều khiển Control Unit, hay còn gọi là peripheral processor, để xử lý các tác vụ liên quan đến thiết bị ngoại vi.
Về cổng kết nối, các thiết bị ngoại vi kết nối với máy tính qua các cổng như USB, FireWire, Thunderbolt hay SCSI. Tương tự, các mainframe sử dụng các kết nối OSA, ESCON và FICON. Các kênh OSA Express dùng cho mạng LAN tiêu chuẩn, trong khi ESCON và FICON được sử dụng cho các kết nối cáp quang tốc độ cao.
Mainframe chủ yếu sử dụng giao diện dòng lệnh để người dùng tương tác, giống như Terminal trong Linux hoặc Command Prompt trong Windows. Đối với hệ điều hành zOS của IBM dành cho mainframe, giao diện này được gọi là console. Mặc dù vậy, IBM cũng đã đầu tư nghiên cứu để phát triển giao diện đồ họa người dùng, với khoản đầu tư lên tới 100 triệu USD nhằm cải thiện khả năng sử dụng của mainframe.

Giao diện khi truy cập vào hệ thống mainframe

Giao diện dùng để thực hiện các lệnh trên hệ thống mainframe

Kỹ sư IBM này đang sử dụng máy tính xách tay của mình để kết nối vào mainframe chạy hệ điều hành zOS, đồng thời khai thác giao diện đồ họa người dùng bên trong hệ thống
Đặc điểm của mainframe
Mainframe hiện đại có khả năng chạy đồng thời nhiều "thực thể" (instance) của hệ điều hành, nhờ vào công nghệ ảo hóa. Công nghệ này cho phép mỗi hệ điều hành tưởng chừng như chạy trên một máy tính độc lập, và đó chính là nền tảng cho Hypervisor trong các máy chủ hiện nay. Dù ảo hóa đã trở nên phổ biến và được ứng dụng trong các máy tính cá nhân, nhưng công suất và khả năng xử lý của mainframe vẫn vượt trội. Trên mainframe, có hai dạng ảo hóa phổ biến: logical partition (mỗi phân vùng chạy một hệ điều hành riêng) 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 nâng cấp hoặc thay thế mà không làm gián đoạn hoạt động của hệ thống, điều mà nhiều máy chủ khác không thể làm được. Vì mainframe được sử dụng trong những ứng dụng yêu cầu hệ thống phải hoạt động liên tục, việc dừng hoạt động để nâng cấp là điều không thể xảy ra. Hầu hết các tổ chức đều sử dụng hai chiếc mainframe: một máy hoạt động chính và một máy sao lưu ở trung tâm dữ liệu. Máy sao lưu có thể hoạt động đầy đủ hoặc chỉ ở chế độ chờ, sẵn sàng thay thế khi máy chính gặp sự cố. Các hệ thống lưu trữ mạng cũng được kết hợp với mainframe, phân tán ở nhiều vị trí để đảm bảo tính bảo mật và an toàn.
Mainframe được thiết kế để xử lý khối lượng dữ liệu vào ra khổng lồ. Việc xử lý các tập tin dung lượng hàng gigabyte hay terabyte là chuyện thường gặp. Từ giữa thập niên 1960, mainframe đã có sự hỗ trợ của các bộ xử lý phụ gọi là channel hoặc peripheral processor, giúp quản lý các thiết bị ngoại vi và cho phép CPU chính tập trung vào việc xử lý và lưu trữ dữ liệu vào bộ nhớ. So với các máy tính cá nhân, mainframe có khả năng lưu trữ dữ liệu lớn hơn hàng trăm, thậm chí hàng nghìn lần và có thể truy cập dữ liệu nhanh chóng hơn nhiều.
Thị trường mainframe
IBM đang chiếm lĩnh đến 90% thị trường mainframe, trong khi phần còn lại chia đều cho các hệ thống của Unisys (ClearPath), Hitachi, HP (NonStop), Fujitsu (BS2000 và ICL VME). Các máy của Fujitsu, Hitachi và NEC vẫn được bán tại thị trường Nhật Bản.
Về vi xử lý trung tâm (CPU) của mainframe, Fujitsu và Hitachi tiếp tục sử dụng chip dựa trên chuẩn S/390, bên cạnh đó còn có các CPU khác như POWER, SPARC, MIPS và Xeon cho các máy nhỏ hơn. Bull sử dụng sự kết hợp giữa chip Intel Xeon và các chip do chính họ phát triển. NEC và Bull cũng có các hệ thống kết hợp Intel Xeon với Intel Itanium. IBM, với vị thế dẫn đầu, đã đầu tư rất nhiều vào việc nghiên cứu và phát triển các vi xử lý riêng biệt, điển hình là chip trong mainframe z10 ra mắt năm 2008 với bốn lõi và xung nhịp 4,4GHz.

Máy mainframe Libra 4100 của Unisys
Sự khác biệt giữa mainframe và siêu máy tính
Như đã đề cập trước đó, mainframe là loại máy được thiết kế để xử lý khối lượng dữ liệu lớn, trong khi siêu máy tính chuyên về việc xử lý lượng dữ liệu nhỏ nhưng yêu cầu tính toán cực kỳ phức tạp. Siêu máy tính chú trọng vào tốc độ xử lý một bài toán cụ thể, vì thế nó thường được sử dụng cho các nghiên cứu khoa học. Dưới đây là một số điểm khác biệt chính giữa siêu máy tính và mainframe:
1) Tốc độ của mainframe được đo bằng MIPS, tức số triệu chỉ dẫn mà máy có thể thực hiện trong một giây. Còn siêu máy tính được đo bằng FLOPS, tức số phép toán dấu chấm động mà máy có thể xử lý mỗi giây. Xét về khả năng tính toán, siêu máy tính vượt trội hơn mainframe.
2) Mainframe được xây dựng để xử lý các "giao dịch" một cách ổn định, trong đó bao gồm các tác vụ như cập nhật cơ sở dữ liệu, đặt vé máy bay, chuyển khoản ngân hàng,... Đối với mỗi giao dịch, máy thực hiện các thao tác như đọc và ghi dữ liệu vào đĩa, gọi các hàm của hệ điều hành, và chuyển dữ liệu giữa các hệ thống khác nhau.
Để hiểu rõ hơn về siêu máy tính, bạn có thể tham khảo 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ẽ". Những thông tin mới nhất về siêu máy tính cũng được cập nhật qua tag siêu máy tính.
Còn sự khác biệt giữa mainframe và server thì sao?
Bạn có thể nghĩ rằng mainframe và server khá giống nhau. Thực tế, mainframe cũng có thể được coi là một dạng máy chủ, vì nó có thể hoạt động như một "hub" kết nối với nhiều máy khác hoặc terminal. Các server có thể hợp lại 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 được cộng dồn từ tất cả các server. Tuy nhiên, một hạn chế của server farm là tính ổn định không cao, không thể sánh được với mainframe, kèm theo đó là chi phí bảo trì khá lớn, đặc biệt đối với các tổ chức có quy mô lớn. Hơn nữa, hiệu quả sử dụng năng lượng của một mạng lưới server nhỏ không thể bằng một mainframe duy nhất.

Đây là một server farm, bao gồm nhiều server được đặt trong một tòa nhà, gọi là trung tâm dữ liệu