2016-01-20 13 views
5

Trong sparkconf của tôi, tôi có thể thiết lập số lõi để sử dụng, tôi có 4 vật lý, 8 hợp lý trên máy tính xách tay của tôi, spark làm gì nếu tôi chỉ định một số không thể có trên máy, như nói 100 lõi?Điều gì xảy ra nếu tôi cố gắng sử dụng nhiều lõi hơn tôi có?

+1

Trong các thử nghiệm của tôi với chạy tia lửa ở chế độ cục bộ, tôi thấy cài đặt kết quả tốt 'master =" local [4 * lõi vật lý] "'. Nó tăng gấp đôi việc sử dụng CPU của tôi từ khoảng 40% đến khoảng 80%. Nó chắc chắn là giá trị cố gắng để cấu hình Spark để sử dụng chủ đề 2, 4 hoặc 8 lần so với lõi vật lý có sẵn. – asmaier

Trả lời

7

Số lõi không mô tả lõi vật lý mà là một số chuỗi đang chạy. Nó có nghĩa là không có gì thực sự kỳ lạ xảy ra nếu số lượng cao hơn một số lõi có sẵn.

Tùy thuộc vào thiết lập của bạn, nó có thể thực sự là một cấu hình được ưu tiên với giá trị khoảng gấp đôi số lõi khả dụng là cài đặt thường được đề xuất. Rõ ràng nếu số là cao, ứng dụng của bạn sẽ dành nhiều thời gian hơn cho việc chuyển đổi giữa các luồng hơn là xử lý thực tế.

0

Tùy thuộc vào trình quản lý cụm của bạn. Tôi cho rằng bạn đang hỏi về chế độ chạy local[n].

Nếu vậy, trình điều khiển và một và chỉ một người thực thi là cùng một JVM với số n chủ đề.

DAGScheduler - trình lập kế hoạch thực hiện Spark sẽ sử dụng n chủ đề để lên lịch bao nhiêu tác vụ như bạn đã nói.

Nếu bạn có nhiều tác vụ hơn, tức là chủ đề, hơn lõi, hệ điều hành của bạn sẽ phải xử lý nhiều chuỗi hơn lõi và lên lịch cho chúng một cách thích hợp.

Các vấn đề liên quan