Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Sự khác biệt trong chính sách lập lịch (scheduler) của multicore???

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    0

    Mặc định Sự khác biệt trong chính sách lập lịch (scheduler) của multicore???

    Chào mọi người .Các Multicore ra đời dần dàn thay thế các vxl đơn core .Một trong những khác biệt của multicore là cho phét thực hiện nhiều tiến trình đồng thời .Như vậy việc ngăn các tranh chấp tài nguyên là rất cần thiết .Mình rất muốn biết về sự khác biệt trong chính sách lập lịch (scheduler) của multicore so với các bộ lập lịch trước đây trên đơn lõi .Rất mong mọi người có thể giải thích và có thể thì cho mình xin tài liệu luôn ! thanks

  2. #2
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Cái này chỉ có ý nghĩa với HĐH mà thôi chứ dân lập trình mình thì đâu cần biết chương trình chạy bằng CPU là multicore hay singlecore.

    Khi còn ở thế hệ PIII thì HĐH cũng có thể giả lập xử lý song song bằng thread rồi. Thì nó cũng có một số cách để chia sẽ tài nguyên dùng chung, và lý thuyết của nó vẫn có thể áp dụng cho multicore.

    Còn theo ý bạn sự khác biệt giữa scheduler của multicore và singlecore thì quả thật mình ko biết. Nên cũng ko thể giải thích gì cho bạn :(

  3. #3
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Uhm theo mình biết thì có sự khác biệt. Nhưng để nói rõ ra thì dông dài lắm.

    Bạn vào trang web của intel search từ khóa "multi-core programming" hoặc "parallel programming" nếu cần mình có thể send cho bạn tài liệu tham khảo.

    Đây là 1 mảng rất hay, mình đã nghĩ sẽ dịch nó nhưng kiến thức cạn quá đành lần lựa mãi.

    Hi vọng bạn sẽ thấy thú vị với nó, chúc thành công.

  4. #4
    Ngày gia nhập
    12 2008
    Bài viết
    0

    Mình cũng thấy bạn nói rất đúng .Cái này đặc biết quan trọng cho việc lập trình song song .Trong môi trường singlecore ,dù dùng thread để lập trình thì tại một thời điểm cpu chỉ được sử dụng bởi một tiến trình .Sự truy nhập tài nguyên khi đang thực thi tại kernel mode là không bị hạn chế ,nhưng cũng không có tiến trình nào tranh chấp với nó hết .Việc thiết lập quyền ưu tiên cho tiến trình cũng dẽ dàng ,vì chúng cũng chỉ được gọi tuần tự mà thôi .
    Trái lại trong môi trường multicore ,các core hoạt động độc lập với nhau ,và cũng có cả cache chia sẻ .Thay vì phải lựa chọn một tiến trình thì nó có thể lựa chọn nhiều tiến trình tại một thời điểm .Do đó hai tiến trình song song hoàn toàn có thể tranh chấp các tài nguyên dùng chung .Theo mình thì multicore thì khái niệm parallel mới thực sự đúng nghĩa của nó .Đơn giản hai tiến trình muốn xuất dữ liệu ra một file vào cùng một thời điểm thời gian thực thì hoàn toàn không được .Hơn thế nữa việc chuyển ngữ cảng trong khi hai tiến trình muốn giao tiếp với nhau trên singlecore sẽ làm mất nhiều thời gian do kernel cần thực hiện việc chuyển đổi ngữ cảnh (context process) để nhừng cpu của tiến trình gửi cho tiến trình nhận ,trong khi đó với multicore việc trao đổi vẫn diễn ra bình thường .!
    Mình cũng mới bắt đầu tìm hiểu về các xây dựng ứng dụng của multicore .Mình thấy hiện thời có 2 scheduler cho các dòng multicore là scheduler domain (với linux hình như là kernel 2.6.8) và một chính sách khác tạo ra nhiều hành đợi ưu tiên cho nhiều core khác nhau (Linux kernel 2.6.23 thì phải ) .Nhưng để hiểu dõ thì thực là khó .Chỉ mới biết đến cái tên thôi .
    Một vấn đề nữa cần tìm hiểu là các chương trình ứng dụng có thực sự xây dựng các ứng dụng song song nếu như OS không thể hỗ chợ việc giao tiếp giữa các core trong quá trình điều hành .(Vấn đề này thì mơ hồ quả ,chưa biết diễn đạt ra sao ví dụ mình đề cử là dùng windows 98 sau rồi sử dụng các chương trình lập trình song song ).
    Chúng ta cùng tìm hiểu nhé !
    Với lập trình song song mình làm quen với MPI trên linux .Cùng nhau thảo luận nha !

  5. #5
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    PHP Code:
    Một vấn đề nữa cần tìm hiểu là các chương trình ứng dụng có thực sự xây dựng các ứng dụng song song nếu như OS không thể hỗ chợ việc giao tiếp giữa các core trong quá trình điều hành .(Vấn đề này thì mơ hồ quả ,chưa biết diễn đạt ra sao ví dụ mình đề cử là dùng windows 98 sau rồi sử dụng các chương trình lập trình song song ). 
    Mình nghĩ là không, kiến trúc VXL của multi core khác single core, HDH xây dựng trên nền tảng single core sẽ không hỗ trợ cho việc trao đổi vùng dữ liệu trong 2 ( n ) cache khác nhau được.

    Mình không sure lắm, chỉ nghĩ vậy thôi, có gì anh em chỉ điểm Thanks trước.

Các đề tài tương tự

  1. Devexpress : Scheduler Hỏi cách Load dữ liệu lên từ code behind
    Gửi bởi hunterxh trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 13-10-2012, 09:45 AM
  2. CPU Scheduler (bộ lập lịch cho CPU - Môn lý thuyết HĐH)
    Gửi bởi icttrack trong diễn đàn Dự án & Source code VC++
    Trả lời: 7
    Bài viết cuối: 01-12-2011, 11:31 AM
  3. Tại sao Task Scheduler của windows 7 lại thế này ?
    Gửi bởi bkavPro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 19-10-2010, 05:46 PM
  4. DevExpress - Scheduler
    Gửi bởi kisy1703 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 02-04-2010, 12:01 AM
  5. Multicore and parrallel programming
    Gửi bởi eldest_daica trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 14-12-2008, 04:58 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn