• MorphOS Developer
    Krashan
    Posts: 1107 from 2003/6/11
    From: Białystok...
    Quote:

    Georg wrote:

    I would do multiple core support by simply allowing (through some new Exec functions) tasks to enter and leave a special state where they are multi-core-safe. While in this state the scheduler is allowed to run them on other cores.


    I do not like the idea personally, as it assumes the kernel will have to move a process from a core to another one. This will be performance costly and can potentially create many compatibility problems. My idea is that a proces once launched on core N will stay there until termination. About calling libraries from MProcesses - those libraries with shareable bases should be safe. Libraries with non-shareable bases (bsdsocket.library for example) will be not allowed to be called from MProcesses in the first stage of multicore transition. Then multicore-safe versions of them will be created. It is a problem of course, but not very big one. The first candidates for MProcesses will be tasks of number crunching and multimedia processing. Such tasks do not need any I/O libraries, just data are passed via memory blocks and basic IPC is needed for synchronization.

    [ Edited by Krashan on 2009/9/30 17:15 ]
  • »30.09.09 - 17:12
    Profile Visit Website