A method of transferring data between a peripheral device and a massively parallel processing system having an interconnect network and a plurality of processing nodes, wherein each processing node includes a processor, local memory and a router circuit connected to the interconnect network, the processor and the local memory, wherein the router circuit includes a first and a second data path, wherein the router circuit transfers data between the processor and the interconnect network and between the local memory and the interconnect network over said first data path:
- providing an I/O controller;
- connecting the I/O controller to the second data path of a plurality of router circuits;
- reading data from the peripheral device;
- transferring the data read from the peripheral device from the I/O controller to one of the plurality of router circuits connected to the I/O controller;
- and
- transferring the data read from the peripheral device from the one of the plurality of router circuits connected to the I/O controller across the interconnect network to the local memory of one of the plurality of processing nodes.