|
|
Log in / Subscribe / Register

LC-Asia: Facebook contemplates ARM servers

LC-Asia: Facebook contemplates ARM servers

Posted Mar 15, 2013 11:48 UTC (Fri) by etienne (guest, #25256)
In reply to: LC-Asia: Facebook contemplates ARM servers by butlerm
Parent article: LC-Asia: Facebook contemplates ARM servers

Possible problems:
- How to start/stop tasks on other processor? Use ssh?
- How to migrate tasks from overloaded processors to under-used processors?
- How to share page cache? Have kernel and all libraries in each address space?
- How to share input/output? Network, serial lines/keyboards, screens, hard disks?
You may decide to have one processor controlling the other 15, with special access to their memory, but usually that processor will be the weakest link.


to post comments

LC-Asia: Facebook contemplates ARM servers

Posted Mar 17, 2013 20:47 UTC (Sun) by butlerm (subscriber, #13312) [Link]

If all you need is a cluster on a chip those are largely solved problems. Existing cluster applications have the necessary management tools, and I/O devices can be either hardwired to specific cores or shared using something like PCI IOV. It might be convenient to have an internal high speed Ethernet interface for each core with an embedded switching fabric, for example, although something designed for the purpose would probably be more efficient for on chip communication.

A long term solution to the cache coherency problem would indeed substantially complicate kernel design. For example, if the memory overhead of each core is a problem, what you really want is a unified physical address space, explicit sharing of read only code and data, and no sharing or highly restricted sharing of mutable code and data. There is no reason why the kernels running on each core can't trust each other, they just can't scalably share mutable data on an instruction by instruction basis.

And if you really want a single system image, a much more radical redesign would be required. In the long run, that is probably inevitable, because cache concurrency doesn't scale - not across per core caches at any rate.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds