Monday, May 2, 2011

Systems for multicore computers

With so many cores in modern machines, it is time to rethink how the system should handle them.
There are interesting models, like the multikernel, published in the literature. However, it seems that a simpler way must exist.

For example, we can make some cores execute just user code, with no interrupts, and no round robin. We can make other cores execute system code.

2 comments:

  1. I think that's a good approach. I'd been thinking about that for Blue Gene, where multicore is likely to last. It means we end up with rather different systems for portable/embedded systems (not multicore) and servers (multicore) but I think that's reasonable too.

    ReplyDelete
  2. Perhaps we could use a std+specialized architecture, so that in general
    you are using the std kernel architecture and resort to this specialized
    feature only when it makes sense. That is, arrange for the boot core to
    be a general purpose one, and specialize only other cores.

    ReplyDelete