Server dịch ra tiếng Việt là gì?

Thường thường thì mọi người dịch Server là Máy chủ. Nghe rất là hay. Nhưng mình nghĩ không hợp lý cho lắm. Khái niệm “Chủ” thường khiến người ta nghĩ đến khái niệm về người đi sai khiến người khác, nhưng việc đi sai khiến người khác trong trường hợp này lại dành cho máy Client.

Về dịch thuật thì Server có nguồn gốc từ động từ Serve, có nghĩa là phục vụ và Server có nghĩa là người phục vụ (Servant).

Nếu muốn dịch ra tiếng Việt hay mà vẫn truyền đạt đủ ý nghĩa, theo mình nên đặt tên nó là: Máy bồi (Máy bồi bàn) Server và Máy khách Client.

Máy khách yêu cầu dịch vụ từ Máy bồi. Máy bồi cung cấp dịch vụ cho Máy khách.

Tuy nhiên, mặc dù “Máy chủ” sai về mặc ngữ nghĩa, nhưng lại là một khái niệm được công nhận rộng rãi (wiki). Và chúng ta bắt buộc phải tôn trọng nó. Khi mọi người sai nhiều thì nó trở thành đúng. Chúng ta chỉ cần chú ý về mặc ý nghĩa của nó là được.

Cài đặt mpich2 trên Linux – tính toán song song

Độ phức tạp tính toán trong một chương trình xử lý song song

Có hai tham số là:

  1. Số lượng các phần tử: n
  2. Số lượng processors: k

Ví dụ:

  1. Bài toán tính tổng các số từ 1 tới n và Bài toán tìm vị trí các phần tử có giá trị bằng v có độ phức tạp về thời gian là: O(n/k)
  2. Bài toán sắp xếp QuickSort sử dụng thuật toán song song có độ phức tạp là: O(n/klog(n/k)) + O(k*n)

Điều đó có nghĩa: Thường thì độ phức tạp thời gian nhỏ hơn so với việc dùng 1 processor. Nếu ta cố định số lượng processors nhỏ hơn một giá trị v cho trước thì cho dù có song song thì độ phức tạp về thời gian vẫn là O(n) hoặc O(nlogn) cho hai trường hợp ở trên.

Đưa ra vị trí tất cả các phần tử có giá trị bằng v

Bài này tính với dữ liệu n = 10^9

Giống bài toán tính tổng từ 1 tới n: https://tosonnguyen.wordpress.com/2013/10/04/tinh-tong-tu-1-toi-n-tinh-toan-song-song/

Độ phức tạp về thời gian trong trường hợp tính toán song song là: O(n/k)

Trong đó:

– n là số lượng phần tử

– k là số processors

Sắp xếp tăng dần dãy số có 4*10^8 phần tử trong vòng 30 giây

Chúng ta đều biết: Thuật toán O(n) tính tổng các số từ 1 tới 10^8 được thực hiện trong vòng 0.6 giây trên 1 processor.

Vậy: Thuật toán sắp xếp QuickSort có độ phức tạp O(nlogn) thực hiện bao với n bằng bao nhiêu trong vòng 0.6 giây?

Read the rest of this entry »

Tính tổng từ 1 tới n, tính toán song song

Tính tổng từ 1 tới n. Với n = 10^9, thời gian chạy chương trình là 0.38 giây.

Máy tính được sử dụng: Hệ thống máy tính của Trung tâm Khoa học tính toán.

Dùng file này để tạo lệnh:

File: tinh.sh

mpic++ tinhsum_full.cpp -o tinhsum_full
mpiexec -np "$1" tinhsum_full "$2"

Read the rest of this entry »

CÓ THỂ BẠN CHƯA BIẾT

Các bạn đọc thân mến, các bạn thường được thầy cô kể về câu chuyện như một huyền thoại về cậu bé Gauss. Bé Gauss khi đó đã có thể tính tổng từ 1 tới 100 bằng công thức 100 * 101 / 2 = 5050. Thế nhưng, còn có rất nhiều chuyện thú vị trước thời điểm này.

Chuyện là, hồi đó quốc vương nước Phổ (nước Đức lúc bấy giờ) mang mộng làm bá chủ thiên hạ. Đồng thời, ông vua này cũng rất mê tín. Ông ta tin rằng, với sự giúp đỡ của thần linh, giấc mơ bá chủ thiên hạ của mình sẽ sớm được hoàn thành.

Read the rest of this entry »