Thursday, 24 July 2014

9P gateway

I'm liberally lifting diagrams from Ericvh's repo, and I'm presuming they're open source enough for me to display them on my blog, and explain how my system will look like a couple of hundred million dollars worth of supercomputer. If I can't do this, someone tell me, and I'll take them down and formulate my own diagrams.

Todays discussion will revolve around the 9P gateway. Whats that? Inside the Zynq chip on the Parallella board will run a Linaro Linux distribution. It will talk to a Stratum-1 NTP server (I'd like 1PPS accuracy, if I can swing it). That will in turn talk to a SyncFS server - see https://github.com/geekmug/syncfs - and that clocked SyncFS filesystem will then talk into the Epiphany grid. The Epiphany will simply be told what time it is, I don't want to go monkeying with GPIO to get a 1PPS into the grid itself, as I'm unaware of the propagation models of the e-Link network (although I am aware of e-Link multicasting - hmmm?).

The e-Links on successive boards will (hopefully) be hardlined together, forming a larger grid over many Parallella boards. The Zynq chips could then be given different tasks, such as "management" or "data input," reducing complexity of messages being sent through to the grid, and how they get to where they need to go.

These 9P gateways will form the "private namespaces" for the processes to execute - yes, a sandbox for each process! For example, why does a user of the system, buying CPU time, want to know about our internal 1PPS timekeeping? Surely they do not! But they might want to know about how long it took their code to execute, or how many cores it used (think peer-to-peer process spawning, XCPU^3 style).

I have to work a bit on my kinematics descriptive language, and work out the cheapest way to obtain a 1RU Thunderbolt disk shelf for my supercomputer...

No comments:

Post a Comment