Trong mô hình đồng bộ, các thành phần thực hiện các bước một cách đồng thời và sự thi hành được thực hiện trong các vòng đồng bộ. [4]
Mô hình tính toán của các thuận toán đồng bộ được định nghĩa như sau:
Cho một tập các nút tạo thành đồ thị G=(V,E). Đặt n=|V|, M là tập các thông điệp, giá trị null thể hiện sự vắng mặt của thông điệp.
Mỗi nút i V sẽ có
states(i): tập các trạng thái
start(i): tập con của states(i)
msgs(i): ánh xạ states(i) × out-nbrs(i) tới các phần tử của tập M hoặc null
trans(i): ánh xạ states(i) và một vectơ thông điệp thuộc M U {null}
Ban đầu các nút ở trong trạng thái start và tất cả các kênh đều rỗng. Sau đó, trong các bước tiếp theo, các nút thực hiện lặp lại thủ tục sau gọi là round(vòng)
Đặt chúng vào các kênh
Áp dụng hàm chuyển tiếp trans cho các thông điệp đến và trạng thái hiện tại để chuyển sang trạng thái mới.
Chú ý: các đầu vào đã được mã hoá trong các trạng thái start. Mô hình thể hiện ở đây là xác định, các hàm chuyển tiếp và hàm sinh thông điệp chỉ nhận đơn giá trị.
Các vấn đề cần giải quyết trong mô hình này gồm có:
Đối với mạng vòng, vấn đề đặt ra là cần tìm một Leader duy nhất trong mạng gồm các bộ xử lý, mỗi bộ xử lý được định danh duy nhất bởi Unique Identifier (UID). Các thuật toán gồm có Lelann – Chang – Roberts. Hirshberg-Sinclair và các thuật toán Counterexample.
Đối với mạng tổng quát có các vấn đề: tìm Leader, tìm đường đi ngắn nhất, xác định cây khung tối thiểu, tìm tập lớn nhất các nút độc lập…
Ngoài ra còn có các vấn đề liên quan đến xử lý lỗi : stopping - một tiến trình khi đang thực hiện các giao thức cục bộ thì dừng lại; hoặc omission - thông điệp bị mất trên đường đi; hoặc Byzantine - tiến trình lỗi có những hoạt động không thể kiểm soát được
Chúng ta sẽ nghiên cứu một số thuật toán giải quyết vấn đề Leader Election.