This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Can I use a Single Linux OS to schedule two DSU cluster?

I have a SoCmade of two DynamicIQ shared unit cluster, Cluster0: 4xA76+4xA55, Cluster2: 4xA55. Each of them have their own L3, and connect to a NoC. The typical use case of this SoC is to run two OS on two clusters. e.g. Android on Cluster1 and linux on Cluster2, they communicate through shared memory and mailbox mechansim to accomendate specific applications such as IVI or Service Robot. 

I want to know if it is possible to rule them under the same linux OS, so more generic applications scenario can be expanded without need the complexity of two OS or wasting computing resources on the second 'little' cluster.

I see NUMA is something close but not very sure if it is feasible in this scenario. 

Parents
  • Whether you can run one instance across the clusters, and how easy it is to do so, depends a lot of how the SoC is laid out.  If the SoC was intended to run two different OS instances (1 per cluster) there could be design decisions that'll make it impractical.

    A few starting questions:

    • Do the cores in both clusters have the same set of arch options?  I know you said it's A76+A55 on one and A55 on the other, but worth checking that there's no differences between the A55s in the two clusters.  At the risk of over generalising, OSs don't like running on cores which aren't architecturally the same,
    • Are the two clusters cache coherent with each other and does the NoC support DVM traffic between the clusters?  If the answer to either is "no", then it's going to be harder and probably less performant.
    • Do the two clusters share a GIC (interrupt controller) or is there a separate GIC per-cluster? If it's separate GICs per-cluster that again will make it harder.
Reply
  • Whether you can run one instance across the clusters, and how easy it is to do so, depends a lot of how the SoC is laid out.  If the SoC was intended to run two different OS instances (1 per cluster) there could be design decisions that'll make it impractical.

    A few starting questions:

    • Do the cores in both clusters have the same set of arch options?  I know you said it's A76+A55 on one and A55 on the other, but worth checking that there's no differences between the A55s in the two clusters.  At the risk of over generalising, OSs don't like running on cores which aren't architecturally the same,
    • Are the two clusters cache coherent with each other and does the NoC support DVM traffic between the clusters?  If the answer to either is "no", then it's going to be harder and probably less performant.
    • Do the two clusters share a GIC (interrupt controller) or is there a separate GIC per-cluster? If it's separate GICs per-cluster that again will make it harder.
Children